HP LaserJet 1000 laser printer

These printers are USB connected to the host machine. Don't try to connect them to a print server as they need software uploaded to them each time they are restarted. As a result, you need to connect them to a Linux machine where you will be running hotplug. Rather share them (via CUPS) from this point. Ok, so here are the notes I made while doing this. Hope they help someone else who tries to do this. Here's my recipe.

Preheat your favourite Linux installtion to 180 (;

==Ingredients==

* 1 x foo2zjs driver (obtainable [http://www.linuxprinting.org/show_driver.cgi?driver=foo2zjs here])
* 1 x installed Linux distro. (of your choice) - the Debian-ish the better (;
* 1 x HP LaserJet 1000 printer plus all it's accessories
* A pinch of patience

==Pre-Installations Instructions for KDE Users==

# Go to K menu -> Utilities -> Print Jobs (Kjob Viewer)
# Delete all queued print Jobs
# Turn off cups debugging (as follows)
# Remove failed printer installations

===Turn off cups debugging===

Having read around the forums on the net I have found a number of mentions that the cpus debugging should be truned off for the hotplug to work every time. I don't know why this is but I would like to know if someone has the answer. Please email me if you know.
Anyways this is how the cups debugging is turned off.

Users Using KDE desktop environment (kubuntu):
# Open Konsole (K menu -> Utilities -> Terminal Program (Konsole)
# Type the command:
 $ sudo kate /etc/cups/cupsd.conf
# Find the the <code>LogLevel</code> option:
 LogLevel info
and change the line to:
 LogLevel none
Save, exit, and type in the command
 $ sudo /etc/init.d/cupsys restart

Note: Taking a look at the directory below in the screenshot there might be more that one cupsd.conf file with the naming;

[[Image:cupsd.jpg]]
<pre> cupsd.conf.O</pre>

Make sure that you leave the file as they are and choose the one in the code above.

==Printer Installation Method==

Unzip and untar the <code>foo2zjs.tgz</code> file you download:
 $ tar xvzf foo2zjs.tgz
Under the created directory <code>foo2zjs</code>, is the <code>INSTALL</code> document. In sum, do a:
 $ make
This should compile all the drivers for this printer. Now do a:
 # make install
Got this far. No problem. The problem starts because this printer needs it's firmware downloaded every time it is restarted. We will use hotplug to affect this download. One needs to go to the HP website to download literally 30MiB of crud for a tiny file called <code>sihp1000.img</code>. If you google for that file, you may find it without having to go through the HP download, but in case you don't, there is a script called "getweb" which you can run, which should do the download for you. Here's the sideshow on how to do that:

===Sideshow using getweb===

From your current <code>foo2zjs</code> directory, run
 $ ./getweb 1000

The <code>getweb</code> is a shell script file that is present in the directory that you are in. If you open up this file in a text editor you will find a number of predefined set of codes and commands that links to the right <code>.exe</code> file for the printer of your choice. For example you might have a LaserJet 1005 printer. Then you could just type
 $ ./getweb 1005
to get all the rlevant files for that printer.

Now, this should download a BIG file from HP with the <code>sihp1000.img</code> file in it. It is a <code>.exe</code> file, so <code>unzip</code> the <code>.exe</code> to get hold of the <code>.img</code> file which is the HP's firmware. Got the firmware in your little grubbies. Good.

Now it's time to create that firmware in the format the printer is expecting it. Do a
 # ./arm2hpdl sihp1000.img > /usr/share/foo2zjs/firmware/sihp1000.dl
Note that I put my firmware file in <code>/usr/share/foo2zjs/firmware</code>. Of course it would make sense for you to put this wherever the printer drivers are on the rest of your system. <code>chmod</code> the driver as follows:
 # chmod 644 /usr/share/foo2zjs/firmware/sihp1000.dl

==Add the firmware while still HOT plugged==

Now run
 # make-install hotplug

This will install it in the place that the hotplug stuff lives. Plug the HP 1000 into the USB port and run a
 # tail -f /var/log/{messages,syslog}
You should see the firmware being downloaded. Take a look at the two lights on the front of the printer and you should see one flashing while the download is happening.

Done? Great. Now to set up the printer:
# Simple enough. Restart CUPS to make sure it now knows about the driver you installed earlier.
# Choose the port as a USB printer port, and the driver as the HP Laserjetseries 1000 Foomatic
# Try printing a test page?

Leave your ego to cool while you fetch a cup of freshly brewed. (;

'''Happy printing'''

==Debian Based possible errors with reasons and resolutions (Ubuntu Hory 5.04)==

After typing:
 # ./getweb 1000
you might get the message:
 $ ./getweb 1000
 provided

This just means that the file to be downloaded is already present, and you can move to the next part of the instructions.
The command below simply places the firmware file into the directory <code>/usr/share/foo2zjs/firmware/</code>, and also makes sure that it has changed the file type form an <code>.img</code> file to a <code>.dl</code> file.
 $ sudo /arm2hpdl sihp1000.img > /usr/share/foo2zjs/firmware/sihp1000.dl
you may receive the following error:
 bash: /usr/share/foo2zjs/firmware/sihp1000.dl: Permission denied

This is because while you ran <code>arm2hpdl</code> as root, you still tried to write to the file <code>/usr/share/foo2zjs/firmware/sihp1000.dl</code> as your user, and you aren't allowed to modify system files. Instead run
 $ sudo bash -c "/arm2hpdl sihp1000.img > /usr/share/foo2zjs/firmware/sihp1000.dl"

Once you have typed the <code>chmod 644 /usr/share/foo2zjs/firmware/sihp1000.dl</code>, you should get no errors and the terminal should return to the same blinking cursor. This command changes file access permissions. To find out what the changes take a look at the manual documents of the command <code>chmod</code>, by typing
 $ man chmod

User information

Launchpad Id:
s-nazari
Email:
Log in for email information.

Member since:
2005-10-02
Languages:
English
Time zone:
Europe/London (UTC+0000)
Karma:
0 Karma help
Social accounts:

Latest memberships

Sorush.Nazari is not an active member of any Launchpad teams.