update: 2020-05: printer works – with ubuntu 12 as virtualbox 6.1 vm (should also work with ubuntu 16, untested)

with printers and GNU Linux it is usually like this: plug & print

"the introduction of the LaserJet 1000: the first sub-$250 LaserJet and the lowest-priced monochrome (black and white) HP LaserJet printer to date" (src: Wiki)

market introduction: 2000-12: (so this printer is 20 years old!) “the introduction of the LaserJet 1000: the first sub-$250 LaserJet and the lowest-priced monochrome (black and white) HP LaserJet printer to date” (src: Wiki)

… 3 days later, it actually printed a HLIP Printer Test Page and “Test”, so printer was saved from the dumpster, trash was avoided, very old equipment still works and is reused (got it for free).

health wise: get a filter!

what software was used?

hostnamectl; # virtualbox 6.1 host
  Operating System: Debian GNU/Linux 10 (buster)
            Kernel: Linux 4.19.0-9-amd64
      Architecture: x86-64

uname -a; # virtualbox 6.1 guest vm
Linux ubuntu12 3.13.0-117-generic #164~precise1-Ubuntu
SMP Mon Apr 10 16:16:25 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux


Ubuntu 12 is kind of buggy, so if it “hangs” just go into the top menu “Machine” -> “reset” (Ubuntu 16 might be better in this regard)

to become root in ubuntu user:

sudo bash; # then give user's password
  1. download ubuntu 12 iso to user’s software repository http://releases.ubuntu.com/12.04/ubuntu-12.04.5-desktop-amd64.iso
  2. create new virtualbox vm
    • install ubuntu
    • make sure it has internet (open terminal, ping yahoo.com etc.)
  3. for easier debugging:
  4. insert virtualbox guest additions iso into vm & install
    • usually what one does, is create a new dir mkdir /virtualbox
    • then cp -rv the content to /virtualbox
    • then run ./VBoxLinuxAdditions.run (as root)
      • should install just fine
    • reboot
    • if user sees a black screen
      • just forced power off the vm
      • in vm settings, change vga adapter to something else: (even when it says “invalid settings detected”)
      • if user can now resize the vm’s window and it scales = congratulations! virtualbox additions have been installed! (required to USB pass through printer from host to vm)
  5. pass printer to vm
  6. ubuntu 12 should immediately “spring to live” and black terminal box opens, that tries to download the firmware and install the printer (tries to get pgp key from edu, but fails (timeout))
    • follow it through, it will report “done”, then close the window.
  7. open another terminal
    • sudo bash; # become root, install requirements
      apt-get install python-qt4 hplip-gui
      Ctrl+D; # logoff, become non-root user
      hp-setup; # reboot and rerun this then test-print multiple times
      hp-plugin; # reboot and rerun this then test-print multiple times
      # user can also try to manually download and install 
      # the newer version of hlip (untested)
  8. if it works, printer springs to life, outputs whatever user send and log output will look like this

creditz: https://wayneoutthere.com/hp-laserjet-1000-ubuntu-16-04/

good luck & massive amounts of patience 🙂

some more background:

  • HP LaserJet 1000 has 2 MB of RAM and 32 kB of flash ROM X-D (src)
  • this means the firmware has to be uploaded via USB after every power on (is done automatically in background on ubuntu)
  • compatible with toner cartridges: HP Laserjet 1000 1005 1200 3300 3330 3380 C7115A

here are some files that might help other users with their setup:


this is the manual firmware upload procedure (not required if ubuntu is used) (src)

getweb 1020
sudo arm2hpdl sihp1020.img > /usr/share/foo2zjs/firmware/sihp1020.dl

(replace "1020" by "1000", "1005", "1018", or "1020" depending on your printer model).

Once the printer has a correct firmware file loaded, you will find the firmware version number in its ID string:

sudo usb_printerid /dev/usblp0
MFG:Hewlett-Packard;MDL:HP LaserJet 1020;CMD:ACL;CLS:PRINTER;DES:HP LaserJet 1020;FWVER:20050401;

# send firmware to printer
cat /usr/share/foo2zjs/firmware/sihp1020.dl > /dev/usb/lp0

(firmware date may vary, replace /dev/usblp0, by /dev/usblp1, ... if needed)

Now the printer works, and not only with the "usb:/..." URI, but also with the "hp:/..." URI, Don, you do not need to search for a bug in HPLIP any more and you do not need to suppress the URIs for the LJ 1000/1005/1018/1020.

src: https://bugs.launchpad.net/ubuntu/+source/foo2zjs/+bug/65618


how does brother do linux support?

has a nice setup script, give exact model number like: MFC-9465CDN and ip and it does the rest

(at least works well with MFC 9460 and MFC 9465 models, also scanning should work under GNU Linux Debian)

(direct link: https://download.brother.com/welcome/dlf006893/linux-brprinter-installer-2.2.1-1.gz)

but this old (20 years) hp 1000 laserjet printer was unable to get working with Debian 9 and Debian 10… (it is detected, driver installed, but during print says “job completed” but never prints anything X-D)

liked this article?

  • only together we can create a truly free world
  • plz support dwaves to keep it up & running!
  • (yes the info on the internet is (mostly) free but beer is still not free (still have to work on that))
  • really really hate advertisement
  • contribute: whenever a solution was found, blog about it for others to find!
  • talk about, recommend & link to this blog and articles
  • thanks to all who contribute!