You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Linux系统中通过CN36线缆接收HP 200LX掌上电脑的打印数据以排查故障?

如何在Linux系统中通过CN36线缆接收HP 200LX掌上电脑的打印数据以排查故障?

首先得说透:你现在用cat /dev/usb/lp1看不到数据是完全正常的——因为usblp驱动是专门给Linux当主机控制打印机设计的,它暴露的/dev/usb/lp*节点只负责让Linux往打印机发数据,反过来从HP 200LX(作为并行口主机)往Linux传数据,这个驱动根本不会把这类反向数据流暴露到/dev节点里。

下面给你几个从易到难的可行方案,一步步帮你抓到打印数据、定位故障:

一、用USB总线抓包工具直接捕获原始流量

这是最快捷的软件方案,绕过usblp的限制,直接监控USB总线上的所有数据包:

  1. 加载USB监控模块
    Linux内核自带usbmon模块,专门用来抓USB总线流量,先加载它:

    sudo modprobe usbmon
    
  2. 确认目标USB设备的总线信息
    从你的dmesg输出看,设备是usb 1-3(总线1,端口3),也可以用lsusb再确认:

    lsusb | grep "USB Print"
    

    找到对应行,比如Bus 001 Device 007: ID 1a86:7584 QinHeng Electronics USB Print Adapter,记好总线号(这里是1)。

  3. 开始抓包并触发打印
    选一种你顺手的方式:

    • 用Wireshark格式抓包(推荐,方便后续分析):
      sudo tshark -i usbmon1 -w hp_lx_print_capture.pcap
      
      执行后立刻在HP 200LX上触发打印命令,等打印操作完成后按Ctrl+C停止。之后用Wireshark打开hp_lx_print_capture.pcap,过滤usb.bulk就能看到设备往主机发的IN端点数据包,里面就是原始打印数据。
    • 直接捕获文本日志(快速排查):
      sudo cat /sys/kernel/debug/usb/usbmon/1u > capture.log
      
      同样触发打印后停止,打开capture.log就能看到有没有数据传输(格式偏粗糙,但足够判断是否有数据流)。
  4. 小提示
    抓包前建议先卸载usblp驱动,避免它占用设备干扰抓包:

    sudo rmmod usblp
    

二、用libusb直接读取设备端点数据

如果usbmon抓包太底层,你可以用libusb工具直接和USB设备的IN端点通信,实时读取HP 200LX发来的数据:

  1. 安装libusb工具
    以Debian/Ubuntu系为例:

    sudo apt install libusb-1.0-0-dev usbutils
    
  2. 找到设备的IN端点
    执行以下命令,找到带IN标记的端点地址(比如bEndpointAddress 0x81 EP 1 IN):

    lsusb -v -d 1a86:7584
    
  3. 用usbcat读取端点数据
    如果你安装了usbcat工具,执行以下命令(替换0x81为你找到的IN端点地址):

    sudo usbcat -d 1a86:7584 -i 0x81 -v
    

    触发HP 200LX的打印后,就能实时看到输出的打印数据了。

三、硬件监控(最可靠,排除转接器故障)

如果软件方法还是抓不到数据,大概率是转接链的引脚映射有问题,或者HP 200LX本身没发出信号,这时候硬件监控最直接:

  • 买一块CN36并行口 breakout板,把HP 200LX出来的CN36接头接到breakout板上;
  • 用USB逻辑分析仪(便宜的几十块就能买到)监控并行口的关键信号:数据引脚D0-D7、STROBE(选通信号)、ACK(应答信号);
  • 触发打印后观察信号:如果STROBE有脉冲、数据引脚有电平变化,说明HP 200LX在正常发数据,问题出在转接器或Linux驱动;如果没有任何信号变化,那就是HP 200LX的打印端口本身故障。

额外排查小技巧

  • 检查转接器方向:CN36公头是打印机接收端,母头是主机发送端。要确保你的8针→CN36转接线是把HP的主机口转成标准Centronics主机输出,且后续的CN36→DB25、DB25→USB转接器都是引脚直通的,不是交叉线;
  • 验证HP 200LX本身:如果能找到老式并行口打印机,用原线直接连接,确认HP 200LX是否能正常打印,先排除设备本身的问题。

备注:内容来源于stack exchange,提问作者Neil Svedberg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 09:08:07