It seems that the ebuild for foo2zjs only fetches firmware and does not install it. There is a large portion of the ebuild concerned with the getweb script provided with the source for getting firmware, but there is no reference to make install-hotplug, which is needed for the firmware to be auto-loaded on turning on a printer. This is at least so with my HP LaserJet 1018. Reproducible: Always Steps to Reproduce: 1. emerge foo2zjs 2. 3. Actual Results: Firmware files are fetched, but not installed to the correct location for autoloading. Expected Results: Firmware ends up in the right location by calling 'make install-hotplug' from within the ebuild The 'hotplug-install' target in the foo2zjs Makefile has a bit of a inappropriate name. Looking at the Makefile, we can see - starting around line 520 - that hotplug actually installs udev files too. Maybe it would be better is the target would have been called 'firmware-install', but alas, it isn't. Those udev files are what makes foo2zjs work though. Without installing those, foo2zjs is pretty much useless for HP users.
works perfectly fine for me maybe you set a wrong FOO2ZJS_DEVICES flag? Canyouplease show your emerge -va foo2zjs output? probably the full one including the merge phase afterwards.
Sheesh. After checking my logs again, I see that my main problem is probably me. The ebuild does install the udev rules and the firmware is installed. Sorry about that. Still, I couldn't get the printer to work until I manually did the install-hotplug thing. I emerged again, did etc-update and I'll do a reboot now to check the workings of the printer.
Well, it may have something to do with the fact that I have 2 USB printers here. At boot, my laserjet rumbles a bit, but eventually it does not print. After several restarts of cups and clicking the printer on and off, I tried to manually feed the firmware to the printer. That did it. But I had to specify the device on the commandline like '/sbin/foo2zjs-loadfw 1018 /dev/usb/lp0'. Doing it the way the udev rules file specifies it (without the device on the commandline), does not work for me. I don't know how to fit this into udev rules though and hacking this into a udev rule is probably not a good idea anyway: I'm not sure printers always have the same lp* number everytime I turn them on regardless of the order I turn them on in... Any suggestions?
you could try the upstream package. I patched some of it to work without hotplug because hotplug is deprecated.
I tried removing the whole package (had messed with it too much) and re-emerged foo2zjs. Then I monitored /var/log/messages when turning on the printers in random order. This time everything seems to be working dandy. Must have been some freak anomaly...
It seems the problem is in udev rules or in their order. Recently I bought a new HP 1028 and meet the same problem. The printer hang after power on and I was unable to print anything. In fact it end up in some strange state: # /bin/usb_printerid /dev/usb/lp0 Error: Input/output error: GET_DEVICE_ID on '/dev/usb/lp0' It doesn't respond on any commands and I can only turn it off. Then I found that problem is related to firmware loading. If I comment out rule for HP 1018 in /etc/udev/rules.d/11-hplj10xx.rule file, the printer will start normally. I can upload firmware manually and print without problems. # /bin/usb_printerid /dev/usb/lp0 GET_DEVICE_ID string: MFG:Hewlett-Packard;MDL:HP LaserJet 1018;CMD:ACL;CLS:PRINTER;DES:HP LaserJet 1018; # /sbin/foo2zjs-loadfw 1018 /dev/usb/lp0 MFG:Hewlett-Packard;MDL:HP LaserJet 1018;CMD:ACL;CLS:PRINTER;DES:HP LaserJet 1018; /sbin/foo2zjs-loadfw: loading HP LaserJet 1018 firmware /lib/firmware/sihp1018.dl to /dev/usb/lp0 ... /sbin/foo2zjs-loadfw: ... download successful. # /bin/usb_printerid /dev/usb/lp0 GET_DEVICE_ID string: MFG:Hewlett-Packard;MDL:HP LaserJet 1018;CMD:ACL;CLS:PRINTER;DES:HP LaserJet 1018;FWVER:20051028; Finally, I found a discussion on gentoo.ru http://gentoo.ru/node/3553. As a temporal solution it recommends to split rules file in two parts: /etc/udev/rules.d/11-hplj10xx.rule: #Own udev rule for HP Laserjet 1018 KERNEL=="lp*", BUS=="usb", SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="4117", NAME="usb/%k", SYMLINK+="hplj1018%e", MODE="0660", GROUP="lp" /etc/udev/rules.d/90-hplj10xx.rule: #Own udev rule for HP Laserjet 1018 KERNEL=="lp*", BUS=="usb", SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="4117", RUN+="/root/foo2zjs-loadfw 1018" The solution works but I can't explain how and why. Hope it helps.
I committed a new version 20070424 of foo2zjs. Can you please check if this bug is still present there? The much improved udev rules should fix it :)
I've tested new version in with my HP LaserJet 1018, it works out of the box without problems. Thank you.