升级到11.10后将原始数据发送到USB并口

升级到11.10后将原始数据发送到USB并口

我有一台通过通用 USB 转并行适配器连接的激光切割机。碰巧的是,激光切割机可以使用 HPGL,但由于这是一台激光切割机而不是绘图仪,我通常希望自己生成 HPGL,因为我关心切割的顺序、速度和方向等。

在以前的 Ubuntu 版本中,我可以通过直接将 HPGL 文件复制到相应的 USB“lp”设备来打印到切割机。例如:

cp foo.plt /dev/usblp1

好吧,我刚刚升级到 Ubuntu 11.10 oneiric,我在 /dev 中再也找不到任何“lp”设备了。哎呀!

在 Ubuntu 中,将原始数据发送到并行端口的首选方法是什么?我尝试了系统设置 > 打印 > + 添加,希望能够将我的设备与某种“原始打印机”驱动程序关联,并使用以下命令进行打印

lp -d LaserCutter foo.plt

但是我的 USB 转并行适配器似乎没有出现在列表中。我看到的是我的 HP Color LaserJet、两个 USB 转串行适配器、“输入 URI”和“网络打印机”。

同时,在 /dev 中,我确实看到了 2 个 USB 转串行适配器的 /dev/ttyUSB0 和 /dev/ttyUSB1 设备。除了通用 USB 设备外,我没有看到任何与 HP 打印机(升级前为 /dev/usblp0)明显对应的设备。例如,sudo find /dev | grep lp没有输出。不过,我似乎能够很好地打印到 HP 打印机。打印机设置 GUI 为其提供了一个以“hp:”开头的设备 URI,这对并行适配器没有多大帮助。

CUPS 管理员指南听起来好像我可能需要向它提供一个形式为 的设备 URI parallel:/dev/SOMETHING,但当然如果我有一个,/dev/SOMETHING我可能会直接继续写入它。

以下是dmesg我从 USB 端口断开并重新连接设备后显示的内容:

[  924.722906] usb 1-1.1.4: USB disconnect, device number 7
[  959.993002] usb 1-1.1.4: new full speed USB device number 8 using ehci_hcd

以下是它在 lsusb -v 中的显示方式:

Bus 001 Device 008: ID 1a86:7584 QinHeng Electronics CH340S
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x1a86 QinHeng Electronics
  idProduct          0x7584 CH340S
  bcdDevice            2.52
  iManufacturer           0 
  iProduct                2 USB2.0-Print 
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower               96mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         7 Printer
      bInterfaceSubClass      1 Printer
      bInterfaceProtocol      2 Bidirectional
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0020  1x 32 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0020  1x 32 bytes
        bInterval               0
Device Status:     0x0000
  (Bus Powered)

答案1

您正在寻找的设备文件/dev/usb/lpX由驱动程序提供usblp。不过,在 Ubuntu 11.10 中,此驱动程序似乎已被列入黑名单。查看文件/etc/modprobe.d/blacklist-cups-usblp.conf

# cups talks to the raw USB devices, so we need to blacklist usblp to avoid
# grabbing them
blacklist usblp

如果您仍想直接向设备发送数据,可以使用 临时加载驱动程序modprobe usblp(黑名单仅阻止驱动程序自动加载)。完成后,您可以使用 卸载它modprobe -r usblp

相关内容