我最近在运行 Ubuntu 20.04 的笔记本电脑上购买了一台 HP Laser 107a 作为廉价打印机。我买它的原因是,我读到它与 Linux 兼容。
当我收到印刷品时,我尝试按照tutoriallinux 指南进行操作。因此,我从 hp 网站下载了uld 驱动程序(那时我发现 HP Laser 107a 基本上是使用 uld 驱动程序的三星打印机)。当我将打印机连接到笔记本电脑时,虽然打印机被识别,但我无法打印。最初,“打印选项”对话框是空的,经过仔细检查,我意识到没有 PPD。
然后我遇到了以下关于18.04 LTS 和 19.04的ubuntu 问题。我尽可能地按照说明进行操作,并设法通过选择数据库(最初)或通过在/opt/文件夹中找到 PPD 文件来选择合适的驱动程序(HP Laser 10x 系列)。在任何一种情况下,结果都是相同的:
- 我设法将打印机选项归档
- 我无法打印。每当我向打印机发送一些东西时,我都会收到作业已提交并完成的消息。
经过仔细检查,我意识到打印机的 URI 是“file:///dev/null”,这解释了为什么提交所有内容。此外,每当我从例如 Libreoffice 或 PDF 查看器打开打印机对话框时,我试图选择打印机,我得到的只是“等待打印机......”。我怀疑这也可能是由 URI 解释的。
我的下一步是确定打印机是否正常。最初,我将它连接到一台 Windows 机器,并且没有任何问题,我得到了一个测试页面。
下一步是尝试另一个发行版。我尝试了使用 5.4 内核的 Manjaro,并在tutoriallinux 文章中遵循了类似的路径,运行 Xcfe。我也设法获得了没有问题或打嗝的测试页。我还检查了 CUPS 客户端的 URI 对话框,发现 URI 是usb:/HP/[....] (即不是file:///dev/null)
我还尝试了调试打印问题页面,但成功有限,因为我无法在我的 Ubuntu 20.04 安装中获取lpinfo -v来识别打印机(在 Manjaro 中它被识别)。
在这一点上,我不确定这是 Ubuntu 的问题,还是我的升级或以前的 HP 安装有问题。我将不胜感激有关此事的任何指导。
=================更新:=====================
lpinfo -v输出(# 替换 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输出
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/后端/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 列表单元“ippusbxd*”
UNIT LOAD ACTIVE SUB DESCRIPTION
0 loaded units listed.
To show all installed unit files use 'systemctl list-unit-files'.
以下是我如何让我的HP Laser 107a在我新安装的Ubuntu 20.04 上工作。
第 1 步:
ippusbxd
如上一个答案中所述删除。第 2 步:下载并安装 HP Laser 10x 系列驱动程序。
第 3 步:打开
Settings
并删除任何现有实例(如果存在)。选择Additional Printer Settings
并单击Add
下一个屏幕。第 4 步:选择
HP Laser 103 107 108
选项并单击Forward
。这将开始搜索驱动程序。等待它完成。第 5 步:在下一个屏幕上,
Select printer from database
选中HP
从列表中选择,然后单击Forward
。第 6 步:选择
Laser 10x
选项并单击Forward
。在下一个屏幕上单击Apply
它就完成了!您可以从下一个屏幕打印测试页以验证设置。lsusb -v
显示两个带有属性的接口这表明打印机了解 IPP-over-USB 协议。见这里。在 Ubuntu 20.04 上,ippusbxd 负责 IPP-over-USB 通信。ippusbxd 占用了 USB 接口,因此没有其他人可以使用它。这就是为什么
lpinfo -v
不显示 USB URI。Manjaro 不像 Ubuntu 那样默认使用 ippusbxd。我会
apt purge ippusbxd
,重新给打印机供电,重新插入 USB 并重新测试。