我刚刚格式化了我的根分区并安装了 12.3(我像往常一样保留了我的主分区)。
我的网络打印机 hp Laserjet 4015n 有问题。以前它似乎工作顺利。现在杯子给我一个:无法写入打印数据:管道损坏。
我尝试过重新启动cups,甚至安装x86版本,但我似乎无法解决问题。
我尝试过不同的协议来连接打印机,目前:socks://ip:9100
关于如何实现这项工作有什么想法吗?
答案1
JetDirect 打印机出现“管道损坏”通常表示与打印机建立网络连接时出现问题。这可能归结为在 cups 中启用调试日志记录并查看是否有任何内容,但这里有一些想法:
使用 netcat 查看是否可以与打印机建立 TCP 级连接,这会让您知道是否存在网络问题(如果成功,则仍然可能是网络问题,但这是一个简单的“第一次测试”):
# nc -vz ip.address.of.printer
选择适用于 HP 的通用 Postscript 驱动程序,然后尝试打印测试页。
看看这是否是一个奇怪的 SELinux 事情(SELinux 确实有某些端口控制,某些程序无法侦听某些端口号),只需以 root 身份执行“setenforce 0”并再次尝试测试页面即可。
尝试设置一个新的打印机实例以查看其是否有效。
检查你的防火墙。要测试,请将“输入”上的默认策略设置为“接受”,然后“iptables -F”,然后再次尝试测试页。
启动二进制 tcpdump,从打印机提交测试页并将其加载到wireshark 中。我见过一些情况,远程路由器不喜欢cups启动tcp连接的方式,并且会发送一个RST作为远程节点来终止连接。即使事实并非如此,它仍然可以让您更深入地了解两个系统之间正在进行的对话。
如果上述所有操作都失败,我将启用调试日志记录,并尝试浏览结果,看看它是否给出了解释正在发生的情况的特定错误消息,或者有关它挂起的位置的信息是否可以让您更多地了解正在发生的情况。
答案2
经过大量的尝试和错误。解决方案是添加打印机:
hp:/net/HP_LaserJet_P4015?ip=xxxx