Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 271079 | Differences between
and this patch

Collapse All | Expand All

(-)file_not_specified_in_diff (-45 / +187 lines)
Line  Link Here
0
-- Makefile
0
++ Makefile
Lines 20-25 Link Here
20
PREFIX=/usr
20
PREFIX=/usr
21
PREFIX=$(DESTDIR)/usr
21
PREFIX=$(DESTDIR)/usr
22
22
23
# USB_PRINTERID is also installed there because it is needed by the FWloader
24
FWLOADERDIR=$(DESTDIR)/sbin
25
FIRMWAREDIR=$(DESTDIR)/lib/firmware
26
23
# Pathnames for this package...
27
# Pathnames for this package...
24
BIN=$(PREFIX)/bin
28
BIN=$(PREFIX)/bin
25
SHAREZJS=$(PREFIX)/share/foo2zjs
29
SHAREZJS=$(PREFIX)/share/foo2zjs
Lines 661-681 Link Here
661
	    fi; \
665
	    fi; \
662
	done
666
	done
663
	# foo2zjs Firmware files (if any)
667
	# foo2zjs Firmware files (if any)
664
	$(INSTALL) $(LPuid) $(LPgid) -m 775 -d $(SHAREZJS)/firmware/
668
	$(INSTALL) $(LPuid) $(LPgid) -m 775 -d $(FIRMWAREDIR)/
665
	for i in sihp1*.img; do \
669
	for i in sihp1*.img; do \
666
	    if [ -f $$i ]; then \
670
	    if [ -f $$i ]; then \
667
		base=`basename $$i .img`; \
671
		base=`basename $$i .img`; \
668
		./arm2hpdl $$i >$$base.dl; \
672
		./arm2hpdl $$i >$$base.dl; \
669
		$(INSTALL) -c -m 644 $$base.dl $(SHAREZJS)/firmware/; \
673
		$(INSTALL) -c -m 644 $$base.dl $(FIRMWAREDIR)/; \
670
	    fi; \
674
	    fi; \
671
	done
675
	done
672
	# foo2xqx Firmware files (if any)
676
	# foo2xqx Firmware files (if any)
673
	$(INSTALL) $(LPuid) $(LPgid) -m 775 -d $(SHAREXQX)/firmware/
677
	$(INSTALL) $(LPuid) $(LPgid) -m 775 -d $(FIRMWAREDIR)/
674
	for i in sihpP*.img; do \
678
	for i in sihpP*.img; do \
675
	    if [ -f $$i ]; then \
679
	    if [ -f $$i ]; then \
676
		base=`basename $$i .img`; \
680
		base=`basename $$i .img`; \
677
		./arm2hpdl $$i >$$base.dl; \
681
		./arm2hpdl $$i >$$base.dl; \
678
		$(INSTALL) -c -m 644 $$base.dl $(SHAREXQX)/firmware/; \
682
		$(INSTALL) -c -m 644 $$base.dl $(FIRMWAREDIR)/; \
679
	    fi; \
683
	    fi; \
680
	done
684
	done
681
	# foo2oak ICM files (if any)
685
	# foo2oak ICM files (if any)
Lines 818-823 Link Here
818
UDEVDIR=$(DESTDIR)/etc/udev/rules.d
822
UDEVDIR=$(DESTDIR)/etc/udev/rules.d
819
RULES=hplj10xx.rules
823
RULES=hplj10xx.rules
820
install-udev:
824
install-udev:
825
	[ -d $(FWLOADERDIR) ] || install -d -m 755 $(FWLOADERDIR)/
826
	install -c -m 755 foo2zjs-loadfw $(FWLOADERDIR)/
821
	[ -d $(UDEVDIR) ] || install -d -m 755 $(UDEVDIR)/
827
	[ -d $(UDEVDIR) ] || install -d -m 755 $(UDEVDIR)/
822
	install -c -m 644 $(RULES) $(UDEVDIR)/11-$(RULES)
828
	install -c -m 644 $(RULES) $(UDEVDIR)/11-$(RULES)
823
829
824
-- foo2zjs-loadfw
830
++ foo2zjs-loadfw
Line 0 Link Here
0
-- hplj1000
1
#!/bin/sh
2
3
#	foo2zjs-loadfw:
4
#
5
#	Hotplug script for 100[05],1018,1020,P100[5678],P1505,P1505n
6
#	USB laser printers. The model number
7
#	that this script deals with is determined from the udev env.
8
#
9
#	Used to download firmware automatically into the printer when it
10
#	is powered up or plugged into the USB port.
11
#
12
#	The inspiration fo this script is from:
13
#		Oscar Santacreu. Alicante-Spain (2002)
14
#		Mike Morgan (2004)
15
#	Modified by Stefan Schweizer (2005) to work as a udev-RUN-script
16
17
#
18
# Directory to find downloadable HP firmware files sihpMMMM.dl
19
#
20
FWDIR=/lib/firmware
21
22
#
23
# Program used to determine USB printer id information
24
#
25
USBID=/bin/usb_printerid
26
27
#
28
# Timeout to load firmware
29
#
30
TIMEOUT=6
31
32
#
33
#	Figure out how to log our messages
34
#
35
if [ -t 1 ]; then
36
    # Running from a tty...
37
    log() {
38
	echo "$0: $@"
39
    }
40
elif [ -x /usr/bin/logger ]; then
41
    # Have logger...
42
    log() {
43
	logger -t "$0" -- "$@"
44
    }
45
else
46
    # No logger...
47
    log() {
48
	echo "$0: $@" >> /var/log/messages
49
    }
50
fi
51
52
#
53
#	Figure out the model number from the argument of this script
54
#
55
MODELNAME=''
56
FWMODEL=''
57
case "$1" in
58
P1005)
59
	MODEL=P1005
60
	;;
61
P1006)
62
	MODEL=P1006
63
	;;
64
P1007)
65
	MODEL=P1007
66
	FWMODEL=P1005
67
	;;
68
P1008)
69
	MODEL=P1008
70
	FWMODEL=P1006
71
	;;
72
P1505)
73
	MODEL=P1505
74
	;;
75
P1505n)
76
	MODEL=P1505n
77
	FWMODEL=P1505
78
	;;
79
1000)
80
	MODEL=1000
81
	MODELNAME="hp LaserJet $MODEL"
82
	;;
83
1005)
84
	MODEL=1005
85
	MODELNAME="hp LaserJet $MODEL"
86
	;;
87
1018)
88
	MODEL=1018
89
	;;
90
1020)
91
	MODEL=1020
92
	;;
93
*)
94
	log "Only HP LaserJet 100[05],1018,1020,P100[5678],P1505,P1505n are supported"
95
	log "You need to supply one of these on the cmdline: $0 10**"
96
	exit
97
	;;
98
esac
99
: ${MODELNAME:="HP LaserJet $MODEL"}
100
: ${FWMODEL:="$MODEL"}
101
102
if [ -n "$2" ]; then
103
    DEVNAME=$2
104
elif [ -n "$DEVNAME" ]; then
105
    log 'using $DEVNAME'
106
else
107
    log "You need to either have $DEVNAME set in the environment or supply it on the cmdline, like:"
108
    log "$0 10** /dev/usb/lp0"
109
    exit 1
110
fi
111
112
#
113
#	Procedure to load a single device with firmware
114
#
115
load1() {
116
    fw="$FWDIR/sihp$FWMODEL.dl"
117
    if [ ! -f "$fw" ]; then
118
	log "Missing HP LaserJet $MODEL firmware file $fw"
119
	log "...read foo2zjs installation instructions and run ./getweb $MODEL"
120
	return 1
121
    fi
122
123
    log "loading HP LaserJet $MODEL firmware $fw to $DEVNAME ..."
124
    if cat $fw > $DEVNAME; then
125
	sleep $TIMEOUT
126
	log "... download successful."
127
    else
128
	log "... download failed."
129
    fi
130
    return 0
131
}
132
133
#
134
#	OK, now download firmware to any printers that need it
135
#
136
if [ -x $USBID ]; then
137
	if $USBID $DEVNAME | grep "$MODELNAME" 2> /dev/null; then
138
	    # This is a LaserJet 100x
139
	    if $USBID $DEVNAME | grep 'FWVER' 2> /dev/null; then
140
		log "HP LaserJet $MODEL firmware already loaded into $DEVNAME"
141
	    else
142
		# Firmware is not yet loaded
143
		load1 "$DEVNAME"
144
	    fi
145
	else
146
	    log "No supported printer found."
147
	fi
148
else
149
    log "HP LaserJet $MODEL firmware was not downloaded..."
150
    log "...couldn't find $USBID"
151
fi
152
++ hplj1000
Lines 35-41 Link Here
35
#
35
#
36
# Directory to find downloadable HP firmware files sihpMMMM.dl
36
# Directory to find downloadable HP firmware files sihpMMMM.dl
37
#
37
#
38
FWDIR=/usr/share/foo2zjs/firmware
38
FWDIR=/lib/firmware
39
39
40
#
40
#
41
# Program used to determine USB printer id information
41
# Program used to determine USB printer id information
42
-- hplj10xx.rules
42
++ hplj10xx.rules
Lines 1-36 Link Here
1
#Own udev rule for HP Laserjet 1000
1
ACTION=="add", KERNEL=="lp*", SUBSYSTEM=="usb", ATTRS{idVendor}=="03f0", \
2
KERNEL=="lp*", BUS=="usb", SYSFS{idVendor}=="03f0", \
2
   ATTRS{idProduct}=="3d17", RUN+="/sbin/foo2zjs-loadfw P1005 $tempnode"
3
	SYSFS{product}=="hp LaserJet 1000", NAME="usb/%k", \
3
ACTION=="add", KERNEL=="lp*", SUBSYSTEM=="usb", ATTRS{idVendor}=="03f0", \
4
	SYMLINK+="hplj1000-%n", MODE="0666", RUN+="/etc/hotplug/usb/hplj1000" 
4
   ATTRS{idProduct}=="3e17", RUN+="/sbin/foo2zjs-loadfw P1006 $tempnode"
5
#Own udev rule for HP Laserjet 1005
5
ACTION=="add", KERNEL=="lp*", SUBSYSTEM=="usb", ATTRS{idVendor}=="03f0", \
6
KERNEL=="lp*", BUS=="usb", SYSFS{idVendor}=="03f0", \
6
   ATTRS{idProduct}=="4817", RUN+="/sbin/foo2zjs-loadfw P1007 $tempnode"
7
	SYSFS{product}=="hp LaserJet 1005 series", NAME="usb/%k", \
7
ACTION=="add", KERNEL=="lp*", SUBSYSTEM=="usb", ATTRS{idVendor}=="03f0", \
8
	SYMLINK+="hplj1005-%n", MODE="0666", RUN+="/etc/hotplug/usb/hplj1005" 
8
   ATTRS{idProduct}=="4917", RUN+="/sbin/foo2zjs-loadfw P1008 $tempnode"
9
#Own udev rule for HP Laserjet 1018
9
ACTION=="add", KERNEL=="lp*", SUBSYSTEM=="usb", ATTRS{idVendor}=="03f0", \
10
KERNEL=="lp*", BUS=="usb", SYSFS{idVendor}=="03f0", \
10
   ATTRS{idProduct}=="3f17", RUN+="/sbin/foo2zjs-loadfw P1505 $tempnode"
11
	SYSFS{product}=="HP LaserJet 1018", NAME="usb/%k", \
11
ACTION=="add", KERNEL=="lp*", SUBSYSTEM=="usb", ATTRS{idVendor}=="03f0", \
12
	SYMLINK+="hplj1018-%n", MODE="0666", RUN+="/etc/hotplug/usb/hplj1018" 
12
   ATTRS{idProduct}=="4017", RUN+="/sbin/foo2zjs-loadfw P1505n $tempnode"
13
#Own udev rule for HP Laserjet 1020
13
ACTION=="add", KERNEL=="lp*", SUBSYSTEM=="usb", ATTRS{idVendor}=="03f0", \
14
KERNEL=="lp*", BUS=="usb", SYSFS{idVendor}=="03f0", \
14
   ATTRS{idProduct}=="0517", RUN+="/sbin/foo2zjs-loadfw 1000 $tempnode"
15
	SYSFS{product}=="HP LaserJet 1020", NAME="usb/%k", \
15
ACTION=="add", KERNEL=="lp*", SUBSYSTEM=="usb", ATTRS{idVendor}=="03f0", \
16
	SYMLINK+="hplj1020-%n", MODE="0666", RUN+="/etc/hotplug/usb/hplj1020" 
16
   ATTRS{idProduct}=="1317", RUN+="/sbin/foo2zjs-loadfw 1005 $tempnode"
17
#Own udev rule for HP Laserjet P1005
17
ACTION=="add", KERNEL=="lp*", SUBSYSTEM=="usb", ATTRS{idVendor}=="03f0", \
18
KERNEL=="lp*", BUS=="usb", SYSFS{idVendor}=="03f0", \
18
   ATTRS{idProduct}=="4117", RUN+="/sbin/foo2zjs-loadfw 1018 $tempnode"
19
	SYSFS{product}=="HP LaserJet P1005", NAME="usb/%k", \
19
ACTION=="add", KERNEL=="lp*", SUBSYSTEM=="usb", ATTRS{idVendor}=="03f0", \
20
	SYMLINK+="hpljP1005-%n", MODE="0666", RUN+="/etc/hotplug/usb/hpljP1005" 
20
   ATTRS{idProduct}=="2b17", RUN+="/sbin/foo2zjs-loadfw 1020 $tempnode"
21
#Own udev rule for HP Laserjet P1006
21
22
KERNEL=="lp*", BUS=="usb", SYSFS{idVendor}=="03f0", \
23
	SYSFS{product}=="HP LaserJet P1006", NAME="usb/%k", \
24
	SYMLINK+="hpljP1006-%n", MODE="0666", RUN+="/etc/hotplug/usb/hpljP1006" 
25
#Own udev rule for HP Laserjet P1007
26
KERNEL=="lp*", BUS=="usb", SYSFS{idVendor}=="03f0", \
27
	SYSFS{product}=="HP LaserJet P1007", NAME="usb/%k", \
28
	SYMLINK+="hpljP1007-%n", MODE="0666", RUN+="/etc/hotplug/usb/hpljP1007" 
29
#Own udev rule for HP Laserjet P1008
30
KERNEL=="lp*", BUS=="usb", SYSFS{idVendor}=="03f0", \
31
	SYSFS{product}=="HP LaserJet P1008", NAME="usb/%k", \
32
	SYMLINK+="hpljP1008-%n", MODE="0666", RUN+="/etc/hotplug/usb/hpljP1008" 
33
#Own udev rule for HP Laserjet P1505
34
KERNEL=="lp*", BUS=="usb", SYSFS{idVendor}=="03f0", \
35
	SYSFS{product}=="HP LaserJet P1505", NAME="usb/%k", \
36
	SYMLINK+="hpljP1505-%n", MODE="0666", RUN+="/etc/hotplug/usb/hpljP1505" 

Return to bug 271079