--- foo2zjs.orig/hplj1000 2012-06-02 03:38:32.000000000 +0400 +++ foo2zjs/hplj1000 2012-07-14 11:10:47.000000000 +0400 @@ -24,6 +24,9 @@ # Mike Morgan (2004) # +# load usblp module +/sbin/modprobe usblp + # udev calls us twice on FC4! Just want /dev/usb/lp case "$DEVNAME" in /dev/usb/usb*) exit;; @@ -47,7 +50,7 @@ # # Directory to find downloadable HP firmware files sihpMMMM.dl # -FWDIR=/usr/share/foo2zjs/firmware +FWDIR=/var/lib/foo2zjs/firmware # # Program used to determine USB printer id information @@ -89,37 +92,37 @@ MODEL=P1005; FWMODEL=$MODEL USB1=0x03f0 #Vendor USB2=0x3d17 #Model - FWDIR=/usr/share/foo2xqx/firmware + FWDIR=/var/lib/foo2xqx/firmware ;; *P1006) MODEL=P1006; FWMODEL=$MODEL USB1=0x03f0 #Vendor USB2=0x3e17 #Model - FWDIR=/usr/share/foo2xqx/firmware + FWDIR=/var/lib/foo2xqx/firmware ;; *P1007) MODEL=P1007; FWMODEL=P1005 # Alias USB1=0x03f0 #Vendor USB2=0x4817 #Model - FWDIR=/usr/share/foo2xqx/firmware + FWDIR=/var/lib/foo2xqx/firmware ;; *P1008) MODEL=P1008; FWMODEL=P1006 # Alias USB1=0x03f0 #Vendor USB2=0x4917 #Model - FWDIR=/usr/share/foo2xqx/firmware + FWDIR=/var/lib/foo2xqx/firmware ;; *P1505) MODEL=P1505; FWMODEL=$MODEL USB1=0x03f0 #Vendor USB2=0x3f17 #Model - FWDIR=/usr/share/foo2xqx/firmware + FWDIR=/var/lib/foo2xqx/firmware ;; *P1505n) MODEL=P1505n; FWMODEL=$MODEL USB1=0x03f0 #Vendor USB2=0x4017 #Model - FWDIR=/usr/share/foo2xqx/firmware + FWDIR=/var/lib/foo2xqx/firmware ;; *1000) MODEL=1000; FWMODEL=$MODEL @@ -215,8 +218,20 @@ 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 +# Ёлы. Нет прошивки. Смотрим, установлен ли foo2zjs_download_fw. Если да, то пробуем скачать прошивку. + app_fwd="/usr/sbin/foo2zjs_download_fw" + if [ ! -f "$app_fwd" ]; then + log "Firmware not installing. Read foo2zjs installation instructions (/usr/share/doc/foo2zjs-XXXXXXXX/README-UTF8.ALT)" + return 1 + else + log "Yes! foo2zjs_download_fw installed. Try download firmware $MODEL ...." + if $app_fwd $FWMODEL $FWDIR; then + log "Can't download firmware. Read foo2zjs installation instructions (/usr/share/doc/foo2zjs-XXXXXXXX/README-UTF8.ALT)" + return 1 + else + log "Firmware downloding, unpacking and installed" + fi + fi fi log "loading HP LaserJet $MODEL firmware $fw to $_dev ..." @@ -227,6 +242,8 @@ else log "... download failed." fi + log ".... remove usblp module if it blacklisted" + ! grep -qs "^blacklist usblp" /etc/modprobe.d/* || /sbin/rmmod usblp ) & return 0 }