-
-
Save taniwallach/f1f6c81ce19b7d68f74d4b71d1db57a2 to your computer and use it in GitHub Desktop.
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. |
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/
.
Some related links found via Google at various stages of the install process:
- https://askubuntu.com/questions/512046/how-to-install-rastertospl-in-my-usr-lib-cups-filter
- https://forums.linuxmint.com/viewtopic.php?t=269423
- https://community.endlessos.com/t/adding-a-printer-help/7054/15
- https://www.reddit.com/r/SolusProject/comments/52psrw/samsung_unified_linux_driver_installation/
- https://easylinuxtipsproject.blogspot.com/p/samsung-printers.html
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.
Also found: https://gist.github.com/marcolinuxbr/5bbc66dc6cf67865112240ed7347b32d which outlines another approach using a different model and HPLIP.
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
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)
After installing, try this interface: http://localhost:631
Thank you very much for sharing these infos. I was able to install the 107w on a Lubuntu via this PPD file.
Works like a charm. Kudos !
Thanks very much, i install in Ubuntu 20.04
Hey @taniwallach great article! in addition for raspberry I had to remove ipp-usb package because I was not able to connect at all my printer on USB. After removing it I was able to see the URI device as usb://hp...... instead of cups-brf://[empty]
Thanks!!
Thanks @taniwallach, @zequeitor ! As for @zequeitor, for me removing the ipp-usb package helpd, too!
ls -lt /usr/lib/cups/filter/ | head -n 4
reports: