summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-print/foo2zjs/files/foo2zjs-20081129-udevfwld.patch')
-rw-r--r--net-print/foo2zjs/files/foo2zjs-20081129-udevfwld.patch273
1 files changed, 273 insertions, 0 deletions
diff --git a/net-print/foo2zjs/files/foo2zjs-20081129-udevfwld.patch b/net-print/foo2zjs/files/foo2zjs-20081129-udevfwld.patch
new file mode 100644
index 00000000..808b32f1
--- /dev/null
+++ b/net-print/foo2zjs/files/foo2zjs-20081129-udevfwld.patch
@@ -0,0 +1,273 @@
+--- 1/Makefile
++++ 1/Makefile
+@@ -20,6 +20,10 @@
+ PREFIX=/usr
+ PREFIX=$(DESTDIR)/usr
+
++# USB_PRINTERID is also installed there because it is needed by the FWloader
++FWLOADERDIR=$(DESTDIR)/sbin
++FIRMWAREDIR=$(DESTDIR)/lib/firmware
++
+ # Pathnames for this package...
+ BIN=$(PREFIX)/bin
+ SHAREZJS=$(PREFIX)/share/foo2zjs
+@@ -661,21 +665,21 @@
+ fi; \
+ done
+ # foo2zjs Firmware files (if any)
+- $(INSTALL) $(LPuid) $(LPgid) -m 775 -d $(SHAREZJS)/firmware/
++ $(INSTALL) $(LPuid) $(LPgid) -m 775 -d $(FIRMWAREDIR)/
+ for i in sihp1*.img; do \
+ if [ -f $$i ]; then \
+ base=`basename $$i .img`; \
+ ./arm2hpdl $$i >$$base.dl; \
+- $(INSTALL) -c -m 644 $$base.dl $(SHAREZJS)/firmware/; \
++ $(INSTALL) -c -m 644 $$base.dl $(FIRMWAREDIR)/; \
+ fi; \
+ done
+ # foo2xqx Firmware files (if any)
+- $(INSTALL) $(LPuid) $(LPgid) -m 775 -d $(SHAREXQX)/firmware/
++ $(INSTALL) $(LPuid) $(LPgid) -m 775 -d $(FIRMWAREDIR)/
+ for i in sihpP*.img; do \
+ if [ -f $$i ]; then \
+ base=`basename $$i .img`; \
+ ./arm2hpdl $$i >$$base.dl; \
+- $(INSTALL) -c -m 644 $$base.dl $(SHAREXQX)/firmware/; \
++ $(INSTALL) -c -m 644 $$base.dl $(FIRMWAREDIR)/; \
+ fi; \
+ done
+ # foo2oak ICM files (if any)
+@@ -818,6 +822,8 @@
+ UDEVDIR=$(DESTDIR)/etc/udev/rules.d
+ RULES=hplj10xx.rules
+ install-udev:
++ [ -d $(FWLOADERDIR) ] || install -d -m 755 $(FWLOADERDIR)/
++ install -c -m 755 foo2zjs-loadfw $(FWLOADERDIR)/
+ [ -d $(UDEVDIR) ] || install -d -m 755 $(UDEVDIR)/
+ install -c -m 644 $(RULES) $(UDEVDIR)/11-$(RULES)
+
+--- foo2zjs-loadfw
++++ foo2zjs-loadfw
+@@ -0,0 +1,151 @@
++#!/bin/sh
++
++# foo2zjs-loadfw:
++#
++# Hotplug script for 100[05],1018,1020,P100[5678],P1505,P1505n
++# USB laser printers. The model number
++# that this script deals with is determined from the udev env.
++#
++# Used to download firmware automatically into the printer when it
++# is powered up or plugged into the USB port.
++#
++# The inspiration fo this script is from:
++# Oscar Santacreu. Alicante-Spain (2002)
++# Mike Morgan (2004)
++# Modified by Stefan Schweizer (2005) to work as a udev-RUN-script
++
++#
++# Directory to find downloadable HP firmware files sihpMMMM.dl
++#
++FWDIR=/lib/firmware
++
++#
++# Program used to determine USB printer id information
++#
++USBID=/bin/usb_printerid
++
++#
++# Timeout to load firmware
++#
++TIMEOUT=6
++
++#
++# Figure out how to log our messages
++#
++if [ -t 1 ]; then
++ # Running from a tty...
++ log() {
++ echo "$0: $@"
++ }
++elif [ -x /usr/bin/logger ]; then
++ # Have logger...
++ log() {
++ logger -t "$0" -- "$@"
++ }
++else
++ # No logger...
++ log() {
++ echo "$0: $@" >> /var/log/messages
++ }
++fi
++
++#
++# Figure out the model number from the argument of this script
++#
++MODELNAME=''
++FWMODEL=''
++case "$1" in
++P1005)
++ MODEL=P1005
++ ;;
++P1006)
++ MODEL=P1006
++ ;;
++P1007)
++ MODEL=P1007
++ FWMODEL=P1005
++ ;;
++P1008)
++ MODEL=P1008
++ FWMODEL=P1006
++ ;;
++P1505)
++ MODEL=P1505
++ ;;
++P1505n)
++ MODEL=P1505n
++ FWMODEL=P1505
++ ;;
++1000)
++ MODEL=1000
++ MODELNAME="hp LaserJet $MODEL"
++ ;;
++1005)
++ MODEL=1005
++ MODELNAME="hp LaserJet $MODEL"
++ ;;
++1018)
++ MODEL=1018
++ ;;
++1020)
++ MODEL=1020
++ ;;
++*)
++ log "Only HP LaserJet 100[05],1018,1020,P100[5678],P1505,P1505n are supported"
++ log "You need to supply one of these on the cmdline: $0 10**"
++ exit
++ ;;
++esac
++: ${MODELNAME:="HP LaserJet $MODEL"}
++: ${FWMODEL:="$MODEL"}
++
++if [ -n "$2" ]; then
++ DEVNAME=$2
++elif [ -n "$DEVNAME" ]; then
++ log 'using $DEVNAME'
++else
++ log "You need to either have $DEVNAME set in the environment or supply it on the cmdline, like:"
++ log "$0 10** /dev/usb/lp0"
++ exit 1
++fi
++
++#
++# Procedure to load a single device with firmware
++#
++load1() {
++ 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 $DEVNAME ..."
++ if cat $fw > $DEVNAME; then
++ sleep $TIMEOUT
++ log "... download successful."
++ else
++ log "... download failed."
++ fi
++ return 0
++}
++
++#
++# OK, now download firmware to any printers that need it
++#
++if [ -x $USBID ]; then
++ if $USBID $DEVNAME | grep "$MODELNAME" 2> /dev/null; then
++ # This is a LaserJet 100x
++ if $USBID $DEVNAME | grep 'FWVER' 2> /dev/null; then
++ log "HP LaserJet $MODEL firmware already loaded into $DEVNAME"
++ else
++ # Firmware is not yet loaded
++ load1 "$DEVNAME"
++ fi
++ else
++ log "No supported printer found."
++ fi
++else
++ log "HP LaserJet $MODEL firmware was not downloaded..."
++ log "...couldn't find $USBID"
++fi
+--- hplj1000
++++ hplj1000
+@@ -35,7 +35,7 @@
+ #
+ # Directory to find downloadable HP firmware files sihpMMMM.dl
+ #
+-FWDIR=/usr/share/foo2zjs/firmware
++FWDIR=/lib/firmware
+
+ #
+ # Program used to determine USB printer id information
+--- hplj10xx.rules
++++ hplj10xx.rules
+@@ -1,36 +1,21 @@
+-#Own udev rule for HP Laserjet 1000
+-KERNEL=="lp*", BUS=="usb", SYSFS{idVendor}=="03f0", \
+- SYSFS{product}=="hp LaserJet 1000", NAME="usb/%k", \
+- SYMLINK+="hplj1000-%n", MODE="0666", RUN+="/etc/hotplug/usb/hplj1000"
+-#Own udev rule for HP Laserjet 1005
+-KERNEL=="lp*", BUS=="usb", SYSFS{idVendor}=="03f0", \
+- SYSFS{product}=="hp LaserJet 1005 series", NAME="usb/%k", \
+- SYMLINK+="hplj1005-%n", MODE="0666", RUN+="/etc/hotplug/usb/hplj1005"
+-#Own udev rule for HP Laserjet 1018
+-KERNEL=="lp*", BUS=="usb", SYSFS{idVendor}=="03f0", \
+- SYSFS{product}=="HP LaserJet 1018", NAME="usb/%k", \
+- SYMLINK+="hplj1018-%n", MODE="0666", RUN+="/etc/hotplug/usb/hplj1018"
+-#Own udev rule for HP Laserjet 1020
+-KERNEL=="lp*", BUS=="usb", SYSFS{idVendor}=="03f0", \
+- SYSFS{product}=="HP LaserJet 1020", NAME="usb/%k", \
+- SYMLINK+="hplj1020-%n", MODE="0666", RUN+="/etc/hotplug/usb/hplj1020"
+-#Own udev rule for HP Laserjet P1005
+-KERNEL=="lp*", BUS=="usb", SYSFS{idVendor}=="03f0", \
+- SYSFS{product}=="HP LaserJet P1005", NAME="usb/%k", \
+- SYMLINK+="hpljP1005-%n", MODE="0666", RUN+="/etc/hotplug/usb/hpljP1005"
+-#Own udev rule for HP Laserjet P1006
+-KERNEL=="lp*", BUS=="usb", SYSFS{idVendor}=="03f0", \
+- SYSFS{product}=="HP LaserJet P1006", NAME="usb/%k", \
+- SYMLINK+="hpljP1006-%n", MODE="0666", RUN+="/etc/hotplug/usb/hpljP1006"
+-#Own udev rule for HP Laserjet P1007
+-KERNEL=="lp*", BUS=="usb", SYSFS{idVendor}=="03f0", \
+- SYSFS{product}=="HP LaserJet P1007", NAME="usb/%k", \
+- SYMLINK+="hpljP1007-%n", MODE="0666", RUN+="/etc/hotplug/usb/hpljP1007"
+-#Own udev rule for HP Laserjet P1008
+-KERNEL=="lp*", BUS=="usb", SYSFS{idVendor}=="03f0", \
+- SYSFS{product}=="HP LaserJet P1008", NAME="usb/%k", \
+- SYMLINK+="hpljP1008-%n", MODE="0666", RUN+="/etc/hotplug/usb/hpljP1008"
+-#Own udev rule for HP Laserjet P1505
+-KERNEL=="lp*", BUS=="usb", SYSFS{idVendor}=="03f0", \
+- SYSFS{product}=="HP LaserJet P1505", NAME="usb/%k", \
+- SYMLINK+="hpljP1505-%n", MODE="0666", RUN+="/etc/hotplug/usb/hpljP1505"
++ACTION=="add", KERNEL=="lp*", SUBSYSTEM=="usb", ATTRS{idVendor}=="03f0", \
++ ATTRS{idProduct}=="3d17", RUN+="/sbin/foo2zjs-loadfw P1005 $tempnode"
++ACTION=="add", KERNEL=="lp*", SUBSYSTEM=="usb", ATTRS{idVendor}=="03f0", \
++ ATTRS{idProduct}=="3e17", RUN+="/sbin/foo2zjs-loadfw P1006 $tempnode"
++ACTION=="add", KERNEL=="lp*", SUBSYSTEM=="usb", ATTRS{idVendor}=="03f0", \
++ ATTRS{idProduct}=="4817", RUN+="/sbin/foo2zjs-loadfw P1007 $tempnode"
++ACTION=="add", KERNEL=="lp*", SUBSYSTEM=="usb", ATTRS{idVendor}=="03f0", \
++ ATTRS{idProduct}=="4917", RUN+="/sbin/foo2zjs-loadfw P1008 $tempnode"
++ACTION=="add", KERNEL=="lp*", SUBSYSTEM=="usb", ATTRS{idVendor}=="03f0", \
++ ATTRS{idProduct}=="3f17", RUN+="/sbin/foo2zjs-loadfw P1505 $tempnode"
++ACTION=="add", KERNEL=="lp*", SUBSYSTEM=="usb", ATTRS{idVendor}=="03f0", \
++ ATTRS{idProduct}=="4017", RUN+="/sbin/foo2zjs-loadfw P1505n $tempnode"
++ACTION=="add", KERNEL=="lp*", SUBSYSTEM=="usb", ATTRS{idVendor}=="03f0", \
++ ATTRS{idProduct}=="0517", RUN+="/sbin/foo2zjs-loadfw 1000 $tempnode"
++ACTION=="add", KERNEL=="lp*", SUBSYSTEM=="usb", ATTRS{idVendor}=="03f0", \
++ ATTRS{idProduct}=="1317", RUN+="/sbin/foo2zjs-loadfw 1005 $tempnode"
++ACTION=="add", KERNEL=="lp*", SUBSYSTEM=="usb", ATTRS{idVendor}=="03f0", \
++ ATTRS{idProduct}=="4117", RUN+="/sbin/foo2zjs-loadfw 1018 $tempnode"
++ACTION=="add", KERNEL=="lp*", SUBSYSTEM=="usb", ATTRS{idVendor}=="03f0", \
++ ATTRS{idProduct}=="2b17", RUN+="/sbin/foo2zjs-loadfw 1020 $tempnode"
++