Small fix done on the patch ...
Till
Index: foo2zjs-20110210dfsg/hplj1000 =================================================================== --- foo2zjs-20110210dfsg.orig/hplj1000 2011-06-14 16:30:59.331940282 +0200 +++ foo2zjs-20110210dfsg/hplj1000 2011-06-14 16:31:26.151976656 +0200 @@ -48,6 +48,12 @@ DEV="" # +# Path to the USB CUPS backend. We use this backend to upload the firmware +# into the printer when we are on a CUPS/libusb-based system. +# +USB_BACKEND=/usr/lib/cups/backend/usb + +# # Directory to find downloadable HP firmware files sihpMMMM.dl # FWDIR=/lib/firmware/hp @@ -195,7 +201,7 @@ esac # -# Procedure to load a single device with firmware +# Procedures to load a single device with firmware # load1() { _dev="$1" @@ -218,6 +224,33 @@ return 0 } +load2() { + fw="$FWDIR/sihp$FWMODEL.dl" + if [ ! -f "$fw" ]; then + log "Missing HP LaserJet $MODEL firmware file $fw" + log "...read foo2zjs installation instructions and run ./getweb $MODEL" + return 1 + fi + + log "loading HP LaserJet $MODEL firmware $fw to CUPS USB device ..." + # There is a timeout problem with udev and FC4, so spin it off. + ( + device_found=0 + for uri in `$USB_BACKEND 2> /dev/null | grep -i 'HP.*LaserJet.*'"$MODEL" | grep -v FWVER | cut -d ' ' -f 2`; do + device_found=1 + if DEVICE_URI="$uri" $USB_BACKEND 1 1 1 1 '' $fw 2> /dev/null; then + log "$uri... download successful." + else + log "$uri... download failed." + fi + done + if [ $device_found = 0 ]; then + log "... no devices which need firmware found." + fi + ) & + return 0 +} + # # OK, now download firmware to any printers that need it # @@ -226,6 +259,13 @@ # force downloading to a specific device # load1 "$DEV" +elif [ -x $USB_BACKEND ]; then + # + # If we have CUPS installed, use the CUPS "usb" backend, as then we do + # not need to care whether the system uses the usblp kernel module or + # libusb + # + load2 elif [ -x $PRINTERID ]; then # # Sniff around for printers that need a firmware download @@ -247,5 +287,5 @@ done else log "HP LaserJet $MODEL firmware was not downloaded..." - log "...couldn't find $PRINTERID and DEV is not set" + log "...couldn't find $PRINTERID, DEV is not set, and CUPS not installed." fi