Okay, so here's a solution if nothing else has worked for you. I bought an HP1020 and had it working within an hour of getting home. You can still find my positive post somewhere on the forum. Less than a week later it stopped working after an emerge, and 3 months of occasional attempts at fixing it were unsuccessful. I tried the official package and I tried the foo2zjs package in portage. Neither worked. The kernel would see the device, I could see /dev/usb/lp0, the log would record loading the firmware .. but CUPS couldn't see the device, lpinfo -v didn't list a USB device, and the log would get messages like this:
Code: Select all
drivers/usb/class/usblp.c: usblp0: failed reading printer status
But sometimes with an error 110 or something like that as well. Finally, I read on one of the CUPS sites that the firmware in the official package might be bad. I pulled the firmware from the driver installed in my Windows XP work laptop (the driver package from HP) and that solved it!
Solution:
So, here's my strategy for solving this. First, follow the steps of the post directly above this one. The package from the foo2zjs web site worked for me. The package from Gentoo did not. YMMV. This has the added advantage that your firmware file won't get overwritten by an emerge accidentally. Don't forget this step after the install:
(It's missing in the instructions above.) Now, download the official driver from HP for the 1020. The direct link is here for me, but you can browse around and find it on your own if this doesn't work or you have a slightly different model:
http://h10025.www1.hp.com/ewfrf/wc/soft ... 20&lang=en
Unpack the driver. You can do this in Wine if you don't have a Windows machine around:
Code: Select all
wine ./lj1020-1022-HB-pd-win2kxp-en.exe
Now look in the install directory for the following file: hp1020.img (Once again, pick the correct model firmware as needed.) This the printer firmware file. It is typically found here:
Code: Select all
C:\Program Files\Hewlett-Packard\LaserJet 1020-1022 Drivers
Obviously, if you unpacked this in Wine you should be looking in ~/.wine/drive_c for this path. While you're there, compare that file to the 'official' one installed by the foo2zjs:
Code: Select all
ls -l hp1020.img /usr/share/foo2zjs/firmware/sihp1020.dl
I saw this:
Code: Select all
-rw-r--r-- 1 root root 128820 Jan 25 13:01 sihp1020.dl
-rw-r--r-- 1 root root 126151 Jan 22 17:10 /usr/share/foo2zjs/firmware/sihp1020.dl
I note that now there is yet another firmware available, at least in my unpacking just now by wine (the sizes are slightly different). Anyway, the important point is that the foo2zjs package pulls in a firmware of about 126k and the package from HP was about 128k. So, simply overwrite your recently installed firmware from foo2zjs with the one you just unpacked:
Code: Select all
cp hp1020.img /usr/share/foo2zjs/firmware/sihp1020.dl
You might want to back-up the old one first. Anyway, from this point I just restarted CUPS, turned on my printer, went to
http://localhost:631/, and had my printer working and running off a test page in about 5 clicks.
Hope this helps.