Friday, 6 March 2015

How to install an HP LaserJet 1000 series printer on a Mac

This post will explain how I managed to install my 13-year-old HP LaserJet 1000 series printer on my MacBook Pro running OS X Yosemite version 10.10.2.

HP LaserJet 1000 series printer

I feel like I'm on familiar territory here with HP's lack of legacy support for peripherals such as scanners and printers. See my popular post on How to install an HP ScanJet 2200c scanner on Windows Vista.

That was 7 years ago.

I still have the same printer and scanner and I'm determined to make them work. And stick it to the man. Even though my dad works for HP. Especially because my dad works for HP.

It's worth the rigmarole, not just for the money you will save by not having to buy a new printer, not just because you will be defeating HP's selfish and wasteful (but understandable for business reasons) built-in obsolescence, but because it will make you feel like this:

Success Kid: Just got my 13-year-old printer to work on a Mac: I am the fucking boss

I am hugely indebted to donthomaso's post on the HP Support Forum thread download driver on mac 10.7.4 for HP Laserjet 1000, which linked to this set of instructions by The Daily Chu / chuck: HP Laserjet 1000/1005/1018/1020 on OS X Lion/Mountain Lion/Mavericks. Although I didn't use them, these instructions for HP Laserjet 1000 on Mavericks also look pretty good and are a bit shorter than mine.

The main purpose of this post is not to take any credit but to make it easier for other users like me to find instructions that will work for them.

Here goes:

1) Install XCode from the App Store.
2) Open Terminal (by typing cmd + space and typing Terminal and pressing return - the first few letters are usually enough). Type xcode-select --install in the Terminal window to install the required command line developer tools.
3) Install MacPorts by installing the package file for OS X 10.10 Yosemite. Packages for other versions of OS X are available on the MacPorts installation page.
4) To confirm the installation is working as expected, open a new terminal window and type port version and press return. (I'm assuming you know that you need to press return after typing a command in Terminal, so I'll stop saying that from now on…maybe.)
5) Run the following commands in Terminal to ensure MacPorts is up-to-date and install a few applications:
  1. sudo port selfupdate (you may need to type in your Mac password)
  2. sudo port install coreutils
  3. sudo port install wget
  4. sudo port install gsed
6) Install Foomatic-RIP. I used version 4.0.6 for for Mac OS X 10.3.x (Panther) - Mac OS X 10.9.x (Mavericks). At this point you may encounter a security warning message if your security preferences prevent you from installing apps from unidentified developers.

Mac security preferences warning screenshot

To fix this, open your Security & Privacy settings in System Preferences (by typing cmd + space and typing Security & Privacy and pressing return). Click the lock icon to make changes.

Click the lock to make changes

Type your Mac password if prompted. Click the radio button to allow apps to be downloaded from Anywhere.

Mac Security & Privacy settings screenshot

Leave this open for now because you will need it to allow other apps to be installed during this process. However, I recommend resetting it to Mac App Store and identified developers and re-closing the lock icon when you're finished to keep your Mac more secure.
7) Install Ghostscript. I used version 8.71 for Mac OS X 10.3.x (Panther) - Mac OS X 10.9.x (Mavericks). You can also download the package file from Richard Koch from the Mathematics Department at the University of Oregon. (Thank you, Richard!)
8) Install foo2zjs.

When I went through this installation process, I had missed out the step to install wget (see 5.3 above), so when I ran the wget http://foo2zjs.rkkda.com/foo2zjs.tar.gz command in step 8.2 below, it didn't work. As with most things on computers, there's more than one way to do it. Here's how I did it:

I downloaded foo2zjs in my Chrome web browser from http://foo2zjs.rkkda.com/foo2zjs.tar.gz (which by default put it in my Downloads folder). I opened the zip file there by double clicking on it. I then typed cd in Terminal, added a space, and dragged the unzipped foo2zjs directory into the Terminal window to save me typing out the full path i.e. /Users/christopherwhalen/Downloads/foo2zjs where christopherwhalen is my Mac's Home directory. Yours will be different, unless you're also called Christopher Whalen (in which case, hi!). If you did it this way, you should now be in the foo2zjs directory, so skip to step 8.5 below.

But you can also download foo2zjs from the Terminal by typing the following commands:
  1. cd Desktop (to change to your Desktop directory)
  2. wget http://foo2zjs.rkkda.com/foo2zjs.tar.gz (to download the compressed file)
  3. tar -xzvpf foo2zjs.tar.gz (to extract it)
  4. cd foo2zjs (to change into the newly extracted foo2zjs directory)
  5. make (to compile foo2zjs)
  6. ./getweb 1000 (to download the HP LaserJet 1000 firmware file)
  7. sudo make install (to install foo2zjs)
  8. sudo make install-hotplug (to configure hotplug)
  9. sudo make cups (to restart the spooler if you use CUPS - nope, I have no idea what that does either, but I did it anyway, even though it appears to be optional).
9) Add the printer via Printers & Scanners in System Preferences (type cmd + space and start typing Printers & Scanners), but do not close Terminal just yet. Click on the + then choose HP LaserJet 1000 and it should automatically load the HP Laserjet 1000 Footmatic/foo2zjs in the Use field.

Add a printer on your Mac screenshot

Click on Add to add the printer.

Mac printer settings for HP LaserJet 1000 screenshot

I think after that, my printer worked. Good ole chuck also suggests you run sudo lp -oraw /usr/share/foo2zjs/firmware/sihp1000.dl in Terminal to upload the firmware to the printer.

10) Finally, reset your app download security settings to Mac App Store and identified developers and re-closing the lock icon as described at the end of step 6 above.

You can now print out those Taylor Swift "Shake It Off" ukulele chords that were your primary motivation for installing your printer in the first place. (Oh. That was just me then.)

Give me a shout in the comments if this did or didn't work for you. It was a kinda long and complicated process. I made some mistakes along the way, but I eventually got there. Please let me know if you think I've missed anything in the instructions above or if anything is not clear.

And good luck!

Update on 24 March 2015: I found that when trying to use the printer a second time, it didn't work. I repeated some of the steps of the installation process, but I think the important part is running sudo make cups (step 8.9 above) to restart the spooler.

Update on 1 June 2017: Repeat steps 8.4 to 8.9 to get the printer to work again if you've already installed it.

60 comments:

  1. Thanks Chris ... that works for me after I was planning to throw out my old loved printer into the garbage.
    Please keep posting you tips for us.

    ReplyDelete
  2. Hey. Thanks for your comment. Glad it worked for you! Another printer saved.

    ReplyDelete
  3. Thank you very much for tips.
    Everything is ok except that the letters are not strongly . it seems like to be red colour and i print in black .
    Any idea ?
    Thanks again for your time

    ReplyDelete
  4. Hi Anonymous,

    My HP LaserJet 1000 series is a monochrome printer. If yours is printing red, is there something wrong with your toner cartridge or are you using a different printer?

    ReplyDelete
  5. Hi Chris,

    what I meant in my previous message is that although everything look ok and my HP LaserJet can print all document, all letters are faint black (as if I would tell it to print red letters)!!!
    Any ideas on that?
    Thank you for your reply.

    ReplyDelete
  6. Hi Anonymous,

    This sounds like more of a hardware than a software problem. Have you tried using a fresh ink cartridge? It sounds like you might be running low.

    ReplyDelete
  7. Hi Chris,

    If the printer is powered off, the sihplOOO.dl file needs to be sent again.

    I think that the sudo make install-hotplug is supposed to make that happen...but I'm not 100% sure.

    ReplyDelete
  8. Thanks, Anonymous! I'll try that next time.

    ReplyDelete
  9. Thank you for this, I have tried to do this before but never succeed, I no longer need to open as PDF in preview, save to dropbox, go to my Windows XP laptop and print from there.

    ReplyDelete
  10. Victory!

    Thank you for making my day excellent.


    btw, in step 9

    sudo lp -oraw /usr/share/foo2zjs/firmware/sihplOOO.dl

    should be:

    sudo lp -oraw /usr/share/foo2zjs/firmware/sihp1000.dl

    (for a laserjet 1000)

    ReplyDelete
  11. Hi Jan,

    You're welcome. Thanks for the update. I hadn't noticed that mistyping of O for 0. I've made that change to step 9.

    Yours aye,
    Chris

    ReplyDelete
  12. Chris:

    I've followed your instructions line by line above, but after part 8.3, I seem to get an error message in the terminal. Is there any other way to install the foo2zjs?

    ReplyDelete
  13. I installed foo2zjs this way:

    I downloaded foo2zjs in my Chrome web browser from http://foo2zjs.rkkda.com/foo2zjs.tar.gz (which by default put it in my Downloads folder). I opened the zip file there by double clicking on it. I then typed cd in Terminal, added a space, and dragged the unzipped foo2zjs directory into the Terminal window to save me typing out the full path i.e. /Users/christopherwhalen/Downloads/foo2zjs where christopherwhalen is my Mac's Home directory. Yours will be different, unless you're also called Christopher Whalen (in which case, hi!). If you did it this way, you should now be in the foo2zjs directory, so skip to step 8.5 below.

    ReplyDelete
  14. Chris:

    After part 8.5, this is the error message that I get after I type in "make":

    ***
    *** Error: /usr/include/stdio.h is not installed!
    ***
    *** Install Software Development (gcc) package
    *** for Ubuntu: sudo apt-get install build-essential
    ***
    make: *** [all-test] Error 1


    And from there, its an Error 1 message

    ReplyDelete
    Replies
    1. Hi Anonymous,

      Sorry, I don't know how to fix that.

      Yours aye,
      Chris

      Delete
    2. Hi Anonymous,

      I'm in trouble with the same error occurred in the task "make", have you found a solution to fix it ?

      I would be grateful to you to inform me, thank you for your reply.

      Delete
  15. Hi Chris,
    I did all the steps, all worked fine, the problem in the Add window, the name of the Printer won't appear!!! why?

    ReplyDelete
    Replies
    1. Hi Anonymous,

      The most obvious question is: is your printer plugged in at the wall and connected to your Mac by USB?

      Yours aye,
      Chris

      Delete
  16. Chris,

    I really appreciate you taking the time to write this.

    I followed all the steps to the letter. Even though I managed to install the printer through the OS X printers panel, all I get is a flashing orange light that won't stop. Any clues into this?

    Thanks!

    ReplyDelete
    Replies
    1. Hi Artur,

      Nope. Not sure what that's about. Sorry. Is the flashing orange light on the printer or in OS X?

      Yours aye,
      Chris

      Delete
  17. Running Yosemite 10.10.5

    Solved a problem

    When I tried to print anything, I saw the file display in the Print Queue for a split-second, then nothing. I also noticed the Yellow light on the printer was blinking non-stop which means there's a paper-jam, an open compartment or the toner cartridge is not seeded properly; so I opened and closed everything, re-seeded the toner cartridge, then unplugged the printer for 2 seconds, plugged it back in, and it worked! Amazing!

    Thanks for the instructions!

    All the best,

    Gene
    Florida USA

    ReplyDelete
    Replies
    1. Hi Gene,

      I'm delighted it worked for you! Sticking it to the man…

      Yours aye,
      Chris

      Delete
  18. Hi Chris.

    I was tired to search and try how to install my HP LaserJet 1000 printer on OS lion, and I finally did it!

    thanks a lot!!

    ReplyDelete
  19. Hello Chris
    I use Xcode Version 7.1 (7B91b) and OS X El Capitan Version 10.11.1 (15B42) . I cannot print with my hp . Are there any changes in your instructions ?
    Thanks for your time

    ReplyDelete
    Replies
    1. Hi. I haven't tested it on El Capitan yet, so I don't know if you need to do anything differently.

      Delete
    2. I had OS X Lion and these steps work, but recently I updated to El Capitan and now they no longer work anymore, I can't install Ghostscript neither foo2zjs correctly. I think they are not compatible with El Capitan

      Delete
  20. Is it possible to solve the problem on ElCapiten with this ?
    http://osxdaily.com/2015/10/05/disable-rootless-system-integrity-protection-mac-os-x/

    ReplyDelete
  21. Christopher, you are my hero! Thank you so much! You saved hours of my life and hundreds of nerve cells.

    ReplyDelete
    Replies
    1. You're very welcome, Olia! I'm glad it worked for you!

      Delete
  22. Trying to install the driver for HP LaserJet 1000 series
    on my iMac with OS X El Capitan version 10.11.2
    I installed :
    Xcode Version version 7.2 (7C68)
    MacPort OS X 10.11 El Capitan
    Foomatic-RIP for Mac OS X 10.3.x (Panther) - Mac OS X 10.9.x (Mavericks)
    Disable csrutil - see Anonymous Sunday, 15 November 2015
    In System Preferences : Allow download from Anywhere - see Step 6)

    At step 7), Install Ghostscript gplgs-8.71.dmg for Mac OS X 10.3.x (Panther) - Mac OS X 10.9.x (Mavericks)
    I get Error message : installation failed , Setup was unable to install the software because it has not found the software to be installed

    What happened ? Is Ghostscript 8.71 not compatible with OS X 10.11 ?
    I find nothing about other Ghostscript version under http://www.linuxfoundation.org/collaborate/workgroups/openprinting/macosx/foomatic
    Does anyone has a tip ?

    ReplyDelete
    Replies
    1. Hi Claude. I'm not sure. Sorry. I'm not able to help diagnose problems with the process. I just shared what worked for me at the time on an older version of OS X.

      Delete
    2. try with installing ghostscript using brew: `brew install ghostscript`

      Delete
  23. I Christopher.
    Thank you to take time to answer me. I will continue research on Ghostscript and if I find something new, I will make a comment on the blog.
    Happy New Year

    ReplyDelete
    Replies
    1. Hi Claude,

      I am going through this protocol, and I am having the same issue: the installation of Ghostscript is failing... Have you found a solution? I am using macOS Sierra.

      Thanks!

      Diana

      Delete
    2. Hi Claude,

      I am having the same issue with Ghostscript. It won't install on macSierra... Have you found a solution?

      Thanks,

      Didi

      Delete
  24. After typing "make" to build the foo2zjs, I get this:
    Phaoons-MacBook-Pro:foo2zjs Phaoon$ make
    #
    # Dependencies...
    #
    ***
    *** Error: /usr/include/stdio.h is not installed!
    ***
    *** Install Software Development (gcc) package
    *** for Ubuntu: sudo apt-get install build-essential
    ***
    make: *** [all-test] Error 1
    Phaoons-MacBook-Pro:foo2zjs Phaoon$

    ----

    And I cannot proceed.

    ReplyDelete
  25. Sir, I was unable to get this to install properly. I get the following message:
    After typing "make" to build the foo2zjs, I get this:
    Phaoons-MacBook-Pro:foo2zjs Phaoon$ make
    #
    # Dependencies...
    #
    ***
    *** Error: /usr/include/stdio.h is not installed!
    ***
    *** Install Software Development (gcc) package
    *** for Ubuntu: sudo apt-get install build-essential
    ***
    make: *** [all-test] Error. Is there any assistance that you can offer?

    ReplyDelete
    Replies
    1. Hi Rick,

      No, sorry. I can't help with that.

      Yours aye,
      Chris

      Delete
  26. Apple store message:
    We could not complete your purchase.
    Xcode can't be installed on "Macintosh HD" because Mac OS X version 10.10.5 or later is required.
    Is there another way to get XCode. I am running 10.7.5

    ReplyDelete
    Replies
    1. Hi Kim,

      You should be able to get older versions of Xcode at Apple Developer.

      Yours aye,
      Chris

      Delete
    2. Thank you. I successfully got the Xcode version I needed from Apple Developer. I am now struck trying to get foo2zjs to unpack using Terminal. Do I need to get 'wget' before using Terminal?
      I unzipped foo2zjs outside of Terminal but have not been able to get the driver to appear as "use" in Printers and Scans. It is greyed out so I know I need to use Terminal but when I am in the foo2zjs directory, Terminal reports the command 'make' (without ') is not found. Any suggestions?

      Delete
  27. Do I need 'wget' to use Terminal for this?

    ReplyDelete
  28. Ok. I figured out I needed XCode Command Line Tools in addition to Xcode itself. I also got Mac Ports working. I followed all your sudo commands for terminal. Everything appeared to load correctly including installing the driver. I selected the printer as suggested and the default "use" driver.
    Everything appeared as if it was working. However nothing was printed. Not .pdf files or TextEdit files. The printer dialogue box identifies the HP Laserjet 1000 and states "Printer Ready" data appears to be being writing to the print spooler but no printing is occurring!
    I have a MacPro 2.1 running Lion 10.7.5
    Please advise.

    ReplyDelete
  29. I got the Laserjet 1000 to print on this old Mac Pro. Just had to completely power down and restart making sure the printer was online.
    Thanks a lot not I can finally dump Microsoft!

    ReplyDelete
    Replies
    1. Hi Kim. I'm glad you figured it out for yourself and I'm delighted you've got your printer working!

      Delete
  30. Just to let you know, I just repeated this process on my Macbook (Early 2008) and the printer worked. Thanks again for all your support.

    ReplyDelete
  31. I'm getting an Error 71 when doing the sudo make install

    Traviss-MacBook-Air:foo2zjs travisbaumann$ sudo make install
    #
    # Dependencies...
    #
    # ... OK!
    #
    cd icc2ps; /Applications/Xcode.app/Contents/Developer/usr/bin/make all
    make[1]: Nothing to be done for `all'.
    cd osx-hotplug; /Applications/Xcode.app/Contents/Developer/usr/bin/make all
    make[1]: Nothing to be done for `all'.
    cd icc2ps; /Applications/Xcode.app/Contents/Developer/usr/bin/make man
    make[1]: Nothing to be done for `man'.
    cd osx-hotplug; /Applications/Xcode.app/Contents/Developer/usr/bin/make man
    make[1]: Nothing to be done for `man'.

    It is possible that certain products which can be built using this
    software module might form inventions protected by patent rights in
    some countries (e.g., by patents about arithmetic coding algorithms
    owned by IBM and AT&T in the USA). Provision of this software by the
    author does NOT include any licences for any patents. In those
    countries where a patent licence is required for certain applications
    of this software module, you will have to obtain such a licence
    yourself.
    #
    # Installation Dependencies...
    #
    # ... OK!
    #
    #
    # Install driver, wrapper, and development tools
    #
    install -d /usr/bin
    install: chmod 755 /usr/bin: Operation not permitted
    install -c foo2zjs zjsdecode arm2hpdl foo2hp foo2xqx xqxdecode foo2lava lavadecode foo2qpdl qpdldecode opldecode foo2oak oakdecode foo2slx slxdecode foo2hiperc hipercdecode foo2hbpl2 hbpldecode gipddecode command2foo2lava-pjl foo2zjs-wrapper foo2oak-wrapper foo2hp2600-wrapper foo2xqx-wrapper foo2lava-wrapper foo2qpdl-wrapper foo2slx-wrapper foo2hiperc-wrapper foo2hbpl2-wrapper foo2zjs-pstops printer-profile /usr/bin/
    install: /usr/bin//foo2zjs: Operation not permitted
    make: *** [install-prog] Error 71
    Traviss-MacBook-Air:foo2zjs travisbaumann$


    Any help would be great.

    ReplyDelete
    Replies
    1. Did you ever get a fix for this? I am getting the same error.

      Delete
  32. Chris, THANK YOU! Our office is tight on cash, but I needed a printer - found one in storage, the old HP Laserjet 1000 (3 of 'em, in fact - nobody else has found Windows or Mac drivers to continue using these things).

    I used your guide yesterday, and over the course of a few hours, had everything installed. I could see the printer over USB, I could select the foo2zjs driver, etc... but I just could not print. I would get either a "Printer not connected" or "Unable to send data to the printer" error. I gave up, shut down my iMac (OS X 10.9.5) and went home, determined to give it another go in the morning.

    SO this morning the same problem arose upon booting up the Mac. I had done the firmware upgrade to the printer yesterday that was recommended (though I think it gave me an error upon executing the terminal command), fyi.

    I found someone in Apple Discussions who had discovered a link to HP Printer Drivers 3.1 (https://support.apple.com/kb/DL907?viewlocale=en_US&locale=en_US) and was in the process of downloading them (link here case it helps somone else, since this all appears to be voodoo anyway).

    I had the bright idea to power cycle the printer (which involves yanking the power cord, as there is no power button on this thing). Would you believe - that was the problem? I am now printing, without having installed the HP 3.1 drivers (though I'm keeping them around just in case for the future).

    Dude. You rock. Thanks SO much!

    ReplyDelete
    Replies
    1. Hey Zacaman!

      Thanks very much for your detailed comment. I'm pleased you managed to get your printers to work.

      Yours aye,
      Chris

      Delete
  33. hello!
    i try and try… but (osx 10.7.5) foo2zjs not install correctly, it takes 2 pages errors… i really don't now what to do :(

    ReplyDelete
  34. Chris you are an absolute legend! Thank you so much! I'm happy to confirm that I got the HP Laserjet 1000 running on Mac OS 10.11 EL CAPITAN! El Capitan users, all you have to do is make sure the Rootless System Integrity Protection is disabled and the instructions work fine for El Capitan users. To do this, restart your Mac in Recovery Mode (Restart while holding Command + 'R'), go to Utility > Terminal. In terminal type csrutil disable and hit return. Then restart. Once installed, and once you managed to get the printer working, I guess you can go back and reenable this system integrity protection feature which is unique to El Capitan. Chris you rock man! Thanks again:)

    ReplyDelete
    Replies
    1. No, thank you, Matt! Thanks for figuring out how to get it working on El Capitan and sharing it.

      Delete
  35. hi all,this work well also on sierra
    .regards

    ReplyDelete
    Replies
    1. I'm on Sierra. I'm getting an Error 71 when doing the sudo make install. Don't you ?

      Delete
  36. There is a security issue with El Capitan that was resolved by adding the following line to /etc/cups/cups-files.conf
    Sandboxing Relaxed

    ReplyDelete
    Replies
    1. Thank you very much! Now I feel like a hero too) Maria

      Delete
  37. Worked on macOS Sierra (10.12.6). I needed to use another Ghostscript installation package from this site: http://pages.uoregon.edu/koch/. Hope that helped ! :)

    ReplyDelete
  38. Christopher Whalen
    Thanks for your time and efforts!! It works perfectly!!

    ReplyDelete