我在 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 版本引入的不兼容性?
答案1
我通过卸载然后重新安装 hplip 解决了这个问题:
sudo pacman -R hplip && sudo pacman -S hplip
之后,我可以再次安装 HP 的驱动程序插件
sudo hp-setup -i
尽管下载 GPG 密钥失败
错误:无法从密钥服务器接收 [原文如此] 密钥
system-config-printer
现在可以使用 HP LaserJet P1102 打印测试页。
sudo hp-check
也不再崩溃:
HP Linux Imaging and Printing System (ver. 3.19.1)
Dependency/Version Check Utility ver. 15.1
...
部分版本供参考:
- Linux内核:
5.0.4
- hplip包
1:3.19.1-1
- 杯子包装:
2.2.10-2
附录
这个问题再次出现,导致我放弃 HP 打印机并转而使用 Brother。底部有一些与此相关的链接这个答案。