为什么 Epson R360 和 HP5020 USB 打印机在各个 Ubuntu 版本(目前为 17.10)上会随机断开连接?

为什么 Epson R360 和 HP5020 USB 打印机在各个 Ubuntu 版本(目前为 17.10)上会随机断开连接?

几年来,这个问题一直存在,我认为这是我的老化打印机逐渐放弃或者可能无法与 Linux 兼容的迹象。

当我尝试以低分辨率模式(即普通纸、混合文本和图形以及标准质量)打印文档时,我通常会打印出来,但并非总是如此。使用照片纸、照片、最佳质量打印时,我的成功率较低。作业将开始在打印机中排队,然后在随机点打印机将停止。默认打印机行为是重试作业,导致它在上一个作业完成的地方再次开始,因为纸张已经在打印机中。如果将打印机行为设置为停止,我必须关闭打印机才能弹出纸张,因为它的取消按钮不起作用,并且它没有其他方式执行换页。

我通常不打开任何系统声音,但前几天我打开了系统声音,并注意到一个常规警报通知我 USB 连接/断开连接。我检查了日志应用程序,搜索硬件中的 USB 日志,发现打印机正在随机连接和断开连接。我换了一台旧的 HP 打印机,有时我把它用作扫描仪,结果也出现了同样的情况。

这让我看到一些文章指出笔记本电脑的电源管理程序(如 tlp)可能会出现问题,或者至少可以解决这个问题,因为它可能归结为自动挂起设置,但我没有安装它。

答案1

我在自动暂停设置上找到了正确的答案,进一步的搜索让我找到了杯具,USB 打印机故障排除在 wiki.archlinux 上。对我有用的解决方案是:

USB 自动暂停

当有驱动程序支持且设备未使用时,Linux 内核会自动暂停 USB 设备。这可以节省电量,但​​有些 USB 打印机认为内核暂停 USB 端口时它们已断开连接,从而阻止打印。可以通过停用特定设备的自动暂停功能来解决此问题,请参阅电源管理#USB 自动暂停

此页说明:

USB 自动暂停

Linux 内核可以在 USB 设备不使用时自动将其挂起。这有时可以节省相当多的电量,但是有些 USB 设备与 USB 省电功能不兼容,并且开始出现异常(USB 鼠标/键盘很常见)。基于白名单或黑名单过滤的 udev 规则可以帮助缓解此问题。

我再次使用 Ubuntu 的日志应用程序来查找供应商和产品 ID(我可以使用 ctrl-alt-t 来打开终端,然后使用 lsusb 来查看 USB 设备列表)。然后我使用 gedit 编写以下代码并将其保存到桌面上名为“50-usb_power_save.rules”的文件中。

# https://wiki.archlinux.org/index.php/Power_management#USB_autosuspend
# insert into etc/udev/rules.d
# blacklist for usb autosuspend
# HP5520 printer scanner
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="03f0", ATTR{idProduct}=="b111", GOTO="power_usb_rules_end"

# Epson R360 printer
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="04b8", ATTR{idProduct}=="082c", GOTO="power_usb_rules_end"

ACTION=="add", SUBSYSTEM=="usb", TEST=="power/control", ATTR{power/control}="auto"
LABEL="power_usb_rules_end"

然后我打开 nautilus 并按 ctrl-l 调出地址栏,输入 admin:,然后输入我的密码(两次?)。接下来我导航到 etc/udev/rules.d 并将文件从我的桌面拖放到该位置。重新启动后,到目前为止一切正常。

进一步的研究表明,Linux 在 USB 协议(XHCI、OHCI 和 EHCI)方面存在问题,尽管我并不假装了解问题所在。

本质上,这并不是 USB 硬件问题,而可能是 Linux 问题。实际问题在于对可扩展主机控制器接口 (xHCI) 规范的误解。这个问题以前在较旧的增强型主机控制器接口 (EHCI) 规范中不存在。“锋利的”网上有解释。

修复 USB 自动暂停由 Serge Y. Stroobandt 在 hamwaves.com 上发布

编辑:

我说得太早了。问题似乎有所好转,但过了一会儿,我发现打印机仍然断开连接,我想直到打印机自己进入待机状态,然后它才保持连接并正常工作。看来解决办法在于主板设置。

我的华硕 F1 A75-V 主板有 3 个设置似乎涉及高级部分 USB 配置。

  1. 传统 USB 支持 [默认 = 启用]
  2. 传统 USB3.0 支持 [已启用]
  3. EHCI 切换 [已禁用]

禁用这三项后,打印机似乎可以正常工作,我唯一能看到的是打印机不再在 BIOS 中显示为大容量存储设备。我意识到这是一个混乱的解决方案,可能有两个不同的答案,但目前我没有时间深入研究并回溯以将解决方案缩小到一个特定点。

相关内容