打印机的 /dev/usb/lpx 文件在 ubuntu mate 20.04 上消失

打印机的 /dev/usb/lpx 文件在 ubuntu mate 20.04 上消失

在 ubuntu mate 18.04 上,我使用以下命令将十六进制表示的数据发送到 USB 热敏打印机中:

cat cmds.txt > /dev/usb/lpx

我升级到 ubuntu mate 20.04 后发现,lpx 文件(属于打印机)没有出现在 /dev/usb 文件夹中,就像在 ubuntu mate 18.04 上一样。我在 Google 上搜索了一下,发现

dmesg | grep usblp

命令应该提供一些有关打印机连接的有用信息。我在这方面并不熟练,因此目前我不会使用适当的术语。

通过使用后我意识到:在 Ubuntu 20.04 上输出为:

$ dmesg | grep usblp
[   17.634888] usblp 3-3:1.0: usblp1: USB Bidirectional printer dev 3 if 0 alt 0 proto 2 vid 0x04F9 pid 0x209D
[   17.634950] usbcore: registered new interface driver usblp
[   35.318303] usblp1: removed

而在 Ubuntu 18.04 上,日志不是以已删除关键字,lpx 文件显示在预期路径中。打印机在两个系统的 lsusb 输出中均显示:

$ lsusb
Bus 003 Device 003: ID 04f9:209d Brother Industries, Ltd QL-820NWB P-touch Label Printer

我怀疑在 ubuntu 20.04 上有一些进程正在删除通用串行总线由于 usblp 应该负责创建 lpx 文件,他们没有出现。

我的问题是,如何让 usblp 在 ubuntu mate 20.04 上显示 lpx 文件?

谢谢。

编辑1:

sudo journalctl --since="-5 minutes"与打印机相关的命令输出如下:

říj 31 20:50:53 dalibor-HP-EliteBook-8470p kernel: usb 1-1.2.1: USB disconnect, device number 8
říj 31 20:50:54 dalibor-HP-EliteBook-8470p kernel: usb 1-1.2.4: USB disconnect, device number 7
říj 31 20:50:58 dalibor-HP-EliteBook-8470p kernel: usb 1-1.2: USB disconnect, device number 6
říj 31 20:51:11 dalibor-HP-EliteBook-8470p kernel: usb 1-1.2: new full-speed USB device number 9 using ehci-pci
říj 31 20:51:11 dalibor-HP-EliteBook-8470p kernel: usb 1-1.2: New USB device found, idVendor=04f9, idProduct=209d, bcdDevice= 1.00
říj 31 20:51:11 dalibor-HP-EliteBook-8470p kernel: usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
říj 31 20:51:11 dalibor-HP-EliteBook-8470p kernel: usb 1-1.2: Product: QL-820NWB
říj 31 20:51:11 dalibor-HP-EliteBook-8470p kernel: usb 1-1.2: Manufacturer: Brother
říj 31 20:51:11 dalibor-HP-EliteBook-8470p kernel: usb 1-1.2: SerialNumber: 000M0Z803274
říj 31 20:51:11 dalibor-HP-EliteBook-8470p kernel: usblp 1-1.2:1.0: usblp1: USB Bidirectional printer dev 9 if 0 alt 0 proto 2 vid 0x04F9 pid 0x209D
říj 31 20:51:12 dalibor-HP-EliteBook-8470p systemd[1]: Starting Daemon to make IPP-over-USB printers available as network printers (001:009)...
říj 31 20:51:12 dalibor-HP-EliteBook-8470p kernel: usblp1: removed
říj 31 20:51:13 dalibor-HP-EliteBook-8470p kernel: audit: type=1400 audit(1635709872.880:52): apparmor="DENIED" operation="open" profile="ippusbxd" name="/etc/nsswitch.conf" pid=68483 comm="ippusbxd" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
říj 31 20:51:13 dalibor-HP-EliteBook-8470p kernel: audit: type=1400 audit(1635709872.900:53): apparmor="DENIED" operation="open" profile="ippusbxd" name="/etc/nsswitch.conf" pid=68483 comm="ippusbxd" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
říj 31 20:51:13 dalibor-HP-EliteBook-8470p kernel: audit: type=1400 audit(1635709872.940:54): apparmor="DENIED" operation="open" profile="ippusbxd" name="/etc/passwd" pid=68483 comm="ippusbxd" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
říj 31 20:51:13 dalibor-HP-EliteBook-8470p kernel: audit: type=1400 audit(1635709872.940:55): apparmor="DENIED" operation="open" profile="ippusbxd" name="/etc/passwd" pid=68483 comm="ippusbxd" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
říj 31 20:51:13 dalibor-HP-EliteBook-8470p kernel: TCP: request_sock_TCP: Possible SYN flooding on port 60000. Sending cookies.  Check SNMP counters.
říj 31 20:51:13 dalibor-HP-EliteBook-8470p kernel: audit: type=1400 audit(1635709873.044:56): apparmor="DENIED" operation="open" profile="ippusbxd" name="/etc/passwd" pid=68483 comm="ippusbxd" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
říj 31 20:51:13 dalibor-HP-EliteBook-8470p kernel: audit: type=1400 audit(1635709873.044:57): apparmor="DENIED" operation="open" profile="ippusbxd" name="/etc/passwd" pid=68483 comm="ippusbxd" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
říj 31 20:51:12 dalibor-HP-EliteBook-8470p audit[68483]: AVC apparmor="DENIED" operation="open" profile="ippusbxd" name="/etc/nsswitch.conf" pid=68483 comm="ippusbxd" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
říj 31 20:51:12 dalibor-HP-EliteBook-8470p audit[68483]: AVC apparmor="DENIED" operation="open" profile="ippusbxd" name="/etc/nsswitch.conf" pid=68483 comm="ippusbxd" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
říj 31 20:51:12 dalibor-HP-EliteBook-8470p audit[68483]: AVC apparmor="DENIED" operation="open" profile="ippusbxd" name="/etc/passwd" pid=68483 comm="ippusbxd" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
říj 31 20:51:12 dalibor-HP-EliteBook-8470p audit[68483]: AVC apparmor="DENIED" operation="open" profile="ippusbxd" name="/etc/passwd" pid=68483 comm="ippusbxd" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
říj 31 20:51:13 dalibor-HP-EliteBook-8470p audit[68483]: AVC apparmor="DENIED" operation="open" profile="ippusbxd" name="/etc/passwd" pid=68483 comm="ippusbxd" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
říj 31 20:51:13 dalibor-HP-EliteBook-8470p audit[68483]: AVC apparmor="DENIED" operation="open" profile="ippusbxd" name="/etc/passwd" pid=68483 comm="ippusbxd" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
říj 31 20:51:12 dalibor-HP-EliteBook-8470p systemd[1]: Started Daemon to make IPP-over-USB printers available as network printers (001:009).
říj 31 20:51:18 dalibor-HP-EliteBook-8470p ippusbxd[68483]: <-1643116800>Error: poll returned an unexpected event
říj 31 20:51:28 dalibor-HP-EliteBook-8470p sudo[68511]:  dalibor : TTY=pts/2 ; PWD=/home/dalibor ; USER=root ; COMMAND=/usr/bin/journalctl --since=-5 minutes

答案1

按照 UBUNTU 网页上的 USB 打印机调试步骤进行操作https://wiki.ubuntu.com/DebuggingPrintingProblems, 命令:

$ tail -f /var/log/syslog

提供了有关 USB 打印机正确初始化问题的信息。当打印机重新插入 USB 端口时,会出现意外事件愛普斯

ippusbxd: <1468000000>Error: poll returned an unexpected event

从问题的编辑 1 中的日志中也可以看到这一点。

在 UBUNUTU 20.04 上也报告了类似的 USB 打印机无法正常工作的问题

官方已报告类似错误. 值得一提的是,在我的例子中,ippusbxd 每次启动后都会崩溃。

幸运的是,社区设法解决了这个问题:

是的,CUPS 希望弃用驱动程序并使用带有打印机的所有 IPP;但是,当将简单的打印机插入简单的 USB 端口时,Ubuntu 的这一部分似乎会出现问题。

我彻底删除了 ippusbxd

就我而言,使用以下命令:

sudo apt-get remove --auto-remove ippusbxd

问题已解决。文件 lpx 再次出现在 /dev/usb/ 目录中。

删除后可能会丢失某些功能愛普斯包裹。但就我而言,我没有观察到操作系统的任何奇怪行为。安装驱动程序后,我可以使用以下命令再次使用热敏打印机进行打印:

cat textfile | lp -d QL820NWB

相关内容