Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Installing HP-107w on Linux (using HP's unified linux driver ULDLINUX_V1.00.39_00.12.zip)
HP provides a downloadable "driver" for Linux for the HP 107w printer but there are NO reasonable install instructions provided, and following the "obvious" install process did not get the printer working.
The closest I found to HP install instuctions once I knew more is https://support.hp.com/in-en/document/c05588857
Since I found this annoying and wasted more time on getting this printer working under Linux, I'm sharing a summary of what did work (on Debian 10).
1. Download the driver file from https://support.hp.com/us-en/drivers/selfservice/hp-laser-100-printer-series/24494339/model/24494342 from under the "Basic Drivers" menu for when the OS is set to Linux.
The current version now is: "HP Laser 100 and HP Color Laser 150 Printer series Print Driver V1.00.39:00.12 5.9 MB Mar 20, 2019"
At present the Download link points to https://ftp.hp.com/pub/softlib/software13/printers/CLP150/ULDLINUX_V1.00.39_00.12.zip
2. Copy the downloaded file to /tmp/
cd /tmp
unzip ULDLINUX_V1.00.39_00.12.zip
cd ULDLINUX_V1.00.39_00.12/
tar zxvf uld.tar.gz
cd uld
# A plain run of "./install-printer.sh" fails with the message:
# **** Root privileges are required
# Continue IF you trust HP and the downloaded installer.
sudo ./install-printer.sh
3. Follow through the menus:
* "q" to leave "more" of the license
* "y" to accept the license
* "n" (not installing network device)
Summary from install:
**** Do you agree ? [y/n] : y
**** Are you going to use network devices ? If yes, it is recommended to configure your firewall.
**** If you want to configure firewall automatically, enter 'y' or just press 'Enter'. To skip, enter 'n'. : n
**** Registering CUPS backend ...
**** CUPS restart OK.
**** Print driver has been installed successfully.
**** Install finished.
4. Note: At least for me, this did not actually "install the printer" only the "unified linux driver" software needed to support the PPD installed below.
Essentially the installer we ran will create
* /opt/hp/ which mainly has /opt/hp/printer/share/ppd/
* /opt/smfp-common/ which seems to have the "real" driver code, and in particular has a directory called /opt/smfp-common/printer/bin which contains the "CUPS filter" rastertospl which the PPD found and installed below is calling.
Note: On my Debian 10 system a symbolic link was created in /usr/lib/cups/filter/ for rastertospl and pstosecps pointing to the files under /opt/smfp-common/printer/bin
5. The intaller places some PPD files in /opt/hp/printer/share/ppd/ - this is the list:
HP_Laser_10x_Series.ppd
HP_LaserJet_MFP_M436.ppd
HP_LaserJet_MFP_M433.ppd
HP_Laser_MFP_13x_Series.ppd
HP_Color_Laser_15x_Series.ppd
HP_Color_Laser_MFP_17x_Series.ppd
HP_LaserJet_MFP_M72625_72630.ppd
For the HP 107w - the obvious choice was HP_Laser_10x_Series.ppd so...
6. Use the OS tools to scan for a USB printer + select the PPD file found above. Using CUPS directly to install that printer should also work.
Procedure on Debian 10:
a. Open settings.
b. Devices
c. Printers
d. Unlock (top of window)
e. Add printer
f. It saw the HP USB printer - and install that. (It installs some basic settings for a "generic printer" but not the PPD.
g. Click on the "gear" icon + "Printer Details" and then on "Install PPD file" and navigated to /opt/hp/printer/share/ppd/ and select HP_Laser_10x_Series.ppd .
h. Chage the name to "HP-Laser-107w" (or whatever you like)
i. Exit the "Details" window with the "X" on the top left.
j. Click on the "gear" icon + "Printing options" and then set paper size.
k. Go ahead and click the "Test page" icon on the top left.
In my case, the printer made a click, warmed up, and printed the test page.
Success :)
Good luck with your new printer.
@taniwallach

This comment has been minimized.

Copy link
Owner Author

@taniwallach taniwallach commented Feb 24, 2020

ls -lt /usr/lib/cups/filter/ | head -n 4 reports:

total 2284

lrwxrwxrwx 1 root root     38 Feb 24 15:16 pstosecps -> /opt/smfp-common/printer/bin/pstosecps
lrwxrwxrwx 1 root root     40 Feb 24 15:16 rastertospl -> /opt/smfp-common/printer/bin/rastertospl
-rwxr-xr-x 1 root root  14328 Jan 19 10:36 gziptoany
@taniwallach

This comment has been minimized.

Copy link
Owner Author

@taniwallach taniwallach commented Feb 24, 2020

The top of the PPD file says for this printer says:

% ===============================================
*% PPD for HP Laser 10x Series
*% For Linux Only
*% ===============================================
*FormatVersion: "4.3"
*FileVersion: "1.1"
*LanguageVersion: English
*LanguageEncoding: ISOLatin1
*PCFileName: "10x.ppd"
*Manufacturer:  "HP"
*Product: "(LaserPrinter)"
*cupsVersion:   1.1
*cupsManualCopies: False
*cupsModelNumber: 196
*cupsFilter:  "application/vnd.cups-raster 0 rastertospl"
*ModelName: "HP Laser 10x Series"
*ShortNickName: "10x"
*NickName: "HP Laser 10x Series"
*PSVersion:     "(3010.000) 550"
*LanguageLevel: "3"
*ColorDevice: False
*DefaultColorSpace: Gray
*FileSystem:    False
*Throughput:    "21"

and the main purpose of the installer was to install rastertospl under /opt/smfp-common/printer/bin and to make the symbolic link in /usr/lib/cups/filter/.

@taniwallach

This comment has been minimized.

Copy link
Owner Author

@taniwallach taniwallach commented Feb 24, 2020

Some related links found via Google at various stages of the install process:

which all help understand what is going on once you know that you are essentially installing the "Samsung" "unified linux driver" to run this HP printer, and that the critical thing is to get rastertospl properly installed and working.

@taniwallach

This comment has been minimized.

Copy link
Owner Author

@taniwallach taniwallach commented Feb 24, 2020

Also found: https://gist.github.com/marcolinuxbr/5bbc66dc6cf67865112240ed7347b32d which outlines another approach using a different model and HPLIP.

@AltoRetrato

This comment has been minimized.

Copy link

@AltoRetrato AltoRetrato commented May 19, 2020

Thanks for the information!

After "installing" the HP driver (sudo ./install-printer.sh), I got the HP 107w working on Ubuntu 18.04 via:

  • Settings > Devices > Printers > Additional Printer Settings
  • Printer - localhost > Add > "HP Laser 103 107 108 (BRBSN42..." > USB > Forward > Provide PPD file > /opt/hp/printer/share/ppd/HP_Laser_10x_Series.ppd > Forward > Apply > Print Test Page
@happychriss

This comment has been minimized.

Copy link

@happychriss happychriss commented Jun 23, 2020

Thank you all, I can confirm its working was described by taniwallach and with the update from AltoRetrato.

Additional information:
I have tried the "driverless" set (drvless.ppd) before - that was also working sometimes, but occasionally getting error:
URF ERROR - [URF] Decoding Fail
If you are not sure, if the correct driver is used, you can check on the printer test page (if it says "drvless.ppd", you have the wrong driver)

@olleharstedt

This comment has been minimized.

Copy link

@olleharstedt olleharstedt commented Sep 30, 2020

After installing, try this interface: http://localhost:631

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.