我在 Arch Linux 4.19.2 系统上使用 HP LaserJet P1102 时遇到问题。
lsusb
显示打印机已连接:
Bus 002 Device 005: ID 03f0:002a HP, Inc LaserJet P1102
在journalctl
中,我在通过 USB 插入打印机时看到这些消息:
kernel: usb 2-1.1: new high-speed USB device number 7 using ehci-pci
kernel: usb 2-1.1: New USB device found, idVendor=03f0, idProduct=002a, bcdDevice= 1.00
kernel: usb 2-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
kernel: usb 2-1.1: Product: HP LaserJet Professional P1102
kernel: usb 2-1.1: Manufacturer: Hewlett-Packard
kernel: usb 2-1.1: SerialNumber: 000000000Q80X0EGSI1c
kernel: usb-storage 2-1.1:1.0: USB Mass Storage device detected
kernel: scsi host6: usb-storage 2-1.1:1.0
mtp-probe[14854]: checking bus 2, device 7: "/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1"
mtp-probe[14854]: bus: 2, device: 7 was not an MTP device
mtp-probe[14867]: checking bus 2, device 7: "/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1"
mtp-probe[14867]: bus: 2, device: 7 was not an MTP device
但是当运行sudo hp-setup -i
并选择 0 来检查 USB 连接的打印机时,我得到:
Using connection type: usb
error: No device selected/specified or that supports this functionality.
输出systemctl status org.cups.cupsd.service
:
● org.cups.cupsd.service - CUPS Scheduler
Loaded: loaded (/usr/lib/systemd/system/org.cups.cupsd.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2018-11-23 13:03:23 CET; 25min ago
Docs: man:cupsd(8)
Main PID: 6271 (cupsd)
Status: "Scheduler is running..."
Tasks: 1 (limit: 4915)
Memory: 7.5M
CGroup: /system.slice/org.cups.cupsd.service
└─6271 /usr/bin/cupsd -l
sudo hp-check
崩溃:
HP Linux Imaging and Printing System (ver. 3.18.6)
Dependency/Version Check Utility ver. 15.1
Copyright (c) 2001-15 HP Development Company, LP
This software comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to distribute it
under certain conditions. See COPYING file for more details.
Note: hp-check can be run in three modes:
1. Compile-time check mode (-c or --compile): Use this mode before compiling the HPLIP supplied tarball (.tar.gz or .run) to determine if the proper
dependencies are installed to successfully compile HPLIP.
2. Run-time check mode (-r or --run): Use this mode to determine if a distro supplied package (.deb, .rpm, etc) or an already built HPLIP supplied
tarball has the proper dependencies installed to successfully run.
3. Both compile- and run-time check mode (-b or --both) (Default): This mode will check both of the above cases (both compile- and run-time
dependencies).
Check types:
a. EXTERNALDEP - External Dependencies
b. GENERALDEP - General Dependencies (required both at compile and run time)
c. COMPILEDEP - Compile time Dependencies
d. [All are run-time checks]
PYEXT SCANCONF QUEUES PERMISSION
Status Types:
OK
MISSING - Missing Dependency or Permission or Plug-in
INCOMPAT - Incompatible dependency-version or Plugin-version
-Traceback (most recent call last):
File "/usr/share/hplip/base/utils.py", line 266, in walkFiles
names = os.listdir(root)
FileNotFoundError: [Errno 2] No such file or directory: '/etc/PolicyKit'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/share/hplip/base/utils.py", line 268, in walkFiles
raise StopIteration
StopIteration
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/bin/hp-check", line 861, in <module>
dep.core.init()
File "/usr/share/hplip/installer/core_install.py", line 500, in init
self.check_dependencies(callback)
File "/usr/share/hplip/installer/core_install.py", line 593, in check_dependencies
self.have_dependencies[d] = self.dependencies[d][3]()
File "/usr/share/hplip/installer/core_install.py", line 1164, in check_policykit
if check_file('PolicyKit.conf', "/etc/PolicyKit") and check_file('org.gnome.PolicyKit.AuthorizationManager.service', "/usr/share/dbus-1/services"):
File "/usr/share/hplip/installer/dcheck.py", line 108, in check_file
for w in utils.walkFiles(dir, recurse=True, abs_paths=True, return_folders=False, pattern=f):
RuntimeError: generator raised StopIteration
所有软件包都更新到最新版本,意思sudo pacman -Syu
是“无事可做”。
我已经通过 pacman 安装了 Python 3.7.1。
这是惠普软件的错误吗?与较新的 Python 版本引入的不兼容?
我通过卸载然后重新安装 hplip 解决了这个问题:
之后,我可以再次安装HP的驱动程序插件
虽然下载 GPG 密钥失败了
现在可以在 HP LaserJet P1102 上打印测试页了
system-config-printer
。sudo hp-check
也不再崩溃:一些版本供参考:
5.0.4
1:3.19.1-1
2.2.10-2
附录
这个问题再次发生,导致我放弃了 HP 打印机并改用 Brother。在这个答案的底部有一些与此相关的链接。