Using HP Laser 107a with Ubuntu 20.04
I recently bought a HP laser 107a as a budget printer on a laptop running Ubuntu 20.04. The reason I bought it was that, I read it was compatible with Linux.
When I received the printed, I tried following the tutoriallinux guide. So, I downloaded the uld driver from the hp site (at that point I found out that HP Laser 107a was basically a rebranded Samsung printer which used the uld driver). When I connected the printer to the laptop, although the printer was recognized I was unable to print. Initially, the "Printing Options" dialog was empty and upon closer inspection I realized that there was no PPD.
Then I came across the following ask ubuntu question which addresses 18.04 LTS and 19.04. I followed as closely as possible the instructions and I managed to select the proper driver (HP Laser 10x Series), either by selecting the database (initially), or by locating the PPD file in the /opt/ folder. In either case the result was the same:
- I managed to get the Printer Options filed
- I was not able to print. Whenever I sent something to the printer, I got the message that the job was submitted and the completed.
Upon closer inspection I realized that the URI of the printer was "file:///dev/null", which explains why everything was submitted. Also, whenever I opened the printer dialog from e.g. Libreoffice or a PDF viewer, and I was trying to select the printer, all I got was "Waiting for printer ...". I suspect this might be also be explained by the URI.
My next step, was to find out whether the printer was OK. Initially, I connected it to a Windows machine, and without no problems I got a test page.
The next step was to try another distribution. I tried Manjaro with a 5.4 kernel and followed a similar path with the tutoriallinux article, running Xcfe. I managed to get the test page without problems or hiccups also. I additionally checked the URI dialog from the CUPS client and saw that the URI was usb:/HP/[....] (i.e. not file:///dev/null)
I've also tried the Debugging Printing Problems page, with limited success, because I can't get lpinfo -v in my Ubuntu 20.04 installation to identify the printer (in Manjaro it was identified).
At this point, I am not sure if its a Ubuntu problem or if its something wrong with my setup from the upgrade or previous HP installations. I would appreciate any guidance on the matter.
=================UPDATE:=====================
lpinfo -v output (# replaces an A-z0-9)
network ipps
network beh
network lpd
network http
file cups-brf:/
direct hp
network https
network ipp
network socket
direct hpfax
network socket://[####:###:####:####:####:####:####:####]
network dnssd://HP%20Officejet%20Pro%208610%20%5B123az%5D._ipp._tcp.local/?uuid=1c852a4d-b800-1f08-####-34####
network ipp://HP%20Officejet%20Pro%208610%20%####%5D._ipp._tcp.local/
lpstat -t output
scheduler is running
system default destination: HP_Officejet_Pro_8610_######_
device for HP_Laser_103_107_108: ///dev/null
device for HP_Officejet_Pro_8610_######_: implicitclass://HP_Officejet_Pro_8610_######_/
HP_Laser_103_107_108 accepting requests since Παρ 02 Οκτ 2020 02:55:52 πμ EEST
HP_Officejet_Pro_8610_######_ accepting requests since Παρ 02 Οκτ 2020 02:51:35 πμ EEST
printer HP_Laser_103_107_108 is idle. enabled since Παρ 02 Οκτ 2020 02:55:52 πμ EEST
printer HP_Officejet_Pro_8610_######_ is idle. enabled since Παρ 02 Οκτ 2020 02:51:35 πμ EEST
/usr/lib/cups/backend/usb
DEBUG: Loading USB quirks from "/usr/share/cups/usb".
DEBUG: Loaded 181 quirks.
DEBUG: list_devices
DEBUG: libusb_get_device_list=7
*lsusb -v | grep -A 3 bInterfaceClass.7
can't get debug descriptor: Resource temporarily unavailable
can't get device qualifier: Resource temporarily unavailable
bInterfaceClass 7 Printer
bInterfaceSubClass 1 Printer
bInterfaceProtocol 2 Bidirectional
iInterface 0
--
bInterfaceClass 7 Printer
bInterfaceSubClass 1 Printer
bInterfaceProtocol 4
iInterface 0
can't get debug descriptor: Resource temporarily unavailable
--
bInterfaceClass 7 Printer
bInterfaceSubClass 1 Printer
bInterfaceProtocol 4
iInterface 0
lsusb
Bus 001 Device 005: ID 1bcf:2b8a Sunplus Innovation Technology Inc.
Bus 001 Device 004: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
Bus 001 Device 003: ID 8087:07dc Intel Corp.
Bus 001 Device 006: ID 03f0:e82a HP, Inc
Bus 001 Device 002: ID 8087:8000 Intel Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
systemctl list-units "ippusbxd*"
UNIT LOAD ACTIVE SUB DESCRIPTION
0 loaded units listed.
To show all installed unit files use 'systemctl list-unit-files'.
Here's how I got my HP Laser 107a to work on my freshly installed Ubuntu 20.04.
Step 1: Remove ippusbxd
as mentioned in the previous answer.
sudo apt purge ippusbxd
Step 2: Download and install the HP Laser 10x series drivers.
wget https://ftp.hp.com/pub/softlib/software13/printers/CLP150/uld-hp_V1.00.39.12_00.15.tar.gz
tar -xvf uld-hp_V1.00.39.12_00.15.tar.gz
cd uld/
sudo ./install.sh
Step 3: Open Settings
and remove any existing instance if exists. Select Additional Printer Settings
and click Add
on the next screen.
Step 4: Select the HP Laser 103 107 108
option and click Forward
. This will start searching for drivers. Wait for that to finish.
Step 5: On the next screen with Select printer from database
checked select HP
from the list and click Forward
.
Step 6: Select the Laser 10x
option and click Forward
. On the next screen click Apply
and it is done! You can print a test page from the next screen to verify the setup.
lsusb -v
shows two interfaces with the property
bInterfaceProtocol 4
This indicates that the printer understands the IPP-over-USB protocol. See here. On Ubuntu 20.04 ippusbxd is responsible for IPP-over-USB communication. ippusbxd commandeers the USB interface so that nothing else can use it. That is why lpinfo -v
does not show a usb URI. Manjaro does not use ippusbxd by default as Ubuntu does.
I would apt purge ippusbxd
, re-power the printer, re-plug USB and re-test.