HP LaserJet 1020
Jump to navigation
Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Converted with HTML::WikiConverter::MediaWiki from my old phpwiki site
Inputs
- http://www.linuxprinting.org/show_printer.cgi?recnum=HP-LaserJet_1020
- http://support.ideainformatica.com/hplj1020/
Procedure
We need to patch the foo2zjs package.
You can try by yourself with my patch file or download directly my foo2zjs_20050217-2_i386.deb package.
On top of the changes proposed by the references given on top of this page, I had to make specific changes for Debian, especially for a correct hotplug integration.
- apt-get install hotplug cupsys cupsys-client foomatic-db
- apt-get build-dep foo2zjs
- apt-get source foo2zjs
- cd foo2zjs-*
- patch -p1 < ../foo2zjs_20050217-2.diff
- dpkg-buildpackage -rfakeroot -b
- cd ..
- dpkg -i foo2zjs_20050217-2_i386.deb
- /etc/init.d/cupsys restart
- /etc/init.d/hotplug restart
2006-03 update:
Last release of foo2zjs is ready for HP 1020.
But Debian package does not contain the firmware neither the loader nor usb_printerid.
See Bugreports #279830 and #355576
- apt-get install foo2zjs
- wget http://foo2zjs.rkkda.com/foo2zjs.tar.gz
- tar xzf foo2zjs.tar.gz
- cd foo2zjs
- arm2hpdl sihp1020.img > /usr/share/foo2zjs/firmware/sihp1020.dl
- make usb_printerid
- cp usb_printerid /usr/local/sbin
Create the loader: create and make executable /usr/local/sbin/foo2zjs-loadfw
#!/bin/sh # foo2zjs-loadfw: # # Hotplug script for HP1000/1005/1020 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 FWDIR=/usr/share/foo2zjs/firmware # # Program used to determine USB id information # #USBID=/sbin/usb_printerid #USBID=/usr/bin/usb_printerid USBID=/usr/local/sbin/usb_printerid # # 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 name of this script # case "$1" in 1000) MODEL=1000 MODELNAME="hp LaserJet $MODEL" ;; 1005) MODEL=1005 MODELNAME="hp LaserJet $MODEL" ;; 1020) MODEL=1020 MODELNAME="HP LaserJet $MODEL" ;; *) log "Only HP LaserJet 1000, 1005 and 1020 are supported" log "You need to supply one of these on the cmdline: $0 10**" exit ;; esac if [ -z "$DEVNAME" ]; then if [ -n "$2" ]; then DEVNAME=$2 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 fi # # Procedure to load a single device with firmware # load1() { fw="$FWDIR/sihp$MODEL.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 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
Integration to udev:
Create /etc/udev/rules.d/hplj10xx.rules with:
#Own udev rule for HP Laserjet 1000 KERNEL="lp*", BUS="usb", SYSFS{idVendor}="03f0", SYSFS{product}="hp LaserJet 1000", NAME="usb/%k", SYMLINK="hplj1000%e", MODE="0666", RUN+="/usr/local/sbin/foo2zjs-loadfw 1000 /dev/usb/%k" #Own udev rule for HP Laserjet 1005 KERNEL="lp*", BUS="usb", SYSFS{idVendor}="03f0", SYSFS{product}="hp LaserJet 1005", NAME="usb/%k", SYMLINK="hplj1005%e", MODE="0666", RUN+="/usr/local/sbin/foo2zjs-loadfw 1005 /dev/usb/%k" #Own udev rule for HP Laserjet 1020 KERNEL="lp*", BUS="usb", SYSFS{idVendor}="03f0", SYSFS{product}="HP LaserJet 1020", NAME="usb/%k", SYMLINK="hplj1020%e", MODE="0666", RUN+="/usr/local/sbin/foo2zjs-loadfw 1020 /dev/usb/%k"