2014-06-25 58 views
0

我有一个仅为Windows开发的USB条形码读取器。但是其中一位开发人员告诉我,只要设备检测到它已连接到虚拟COM端口,就可以开始工作。 所以我的问题是我是否可以在Linux上创建虚拟COM端口并将设备连接到这个端口。Linux中的虚拟COM驱动程序,用于从USB设备接收数据

这里udevadm输出,当我打开设备:

udevadm monitor --udev 
UDEV [10487.232696] add  /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2 (usb) 
UDEV [10487.238105] add  /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0 (usb) 
UDEV [10507.430306] add  /class/usbmisc (class) 
UDEV [10507.453800] add  /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2.1 (usb) 
UDEV [10507.455899] add  /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2.1/2-1.2.1:1.0 (usb) 
UDEV [10507.456565] add  /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2.1/2-1.2.1:1.1 (usb) 
UDEV [10507.459065] add  /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2.1/2-1.2.1:1.1/0003:1AC2:0135.0015 (hid) 
UDEV [10507.461350] add  /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2.1/2-1.2.1:1.1/usbmisc/hiddev0 (usbmisc) 
UDEV [10507.461669] add  /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2.1/2-1.2.1:1.1/0003:1AC2:0135.0015/hidraw/hidraw2 (hidraw) 

以下是DMSG输出:

dmsg 
[10473.572851] usb 2-1.2: New USB device found, idVendor=05e3, idProduct=0610 
[10473.572863] usb 2-1.2: New USB device strings: Mfr=0, Product=1, SerialNumber=0 
[10473.572869] usb 2-1.2: Product: USB2.0 Hub 
[10473.573596] hub 2-1.2:1.0: USB hub found 
[10473.573971] hub 2-1.2:1.0: 4 ports detected 
[10493.661296] usb 2-1.2.1: new high-speed USB device number 41 using ehci-pci 
[10493.754539] usb 2-1.2.1: New USB device found, idVendor=1ac2, idProduct=0135 
[10493.754550] usb 2-1.2.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 
[10493.754557] usb 2-1.2.1: Product: *** USB DEVICE 
[10493.754562] usb 2-1.2.1: Manufacturer: *** 
[10493.754566] usb 2-1.2.1: SerialNumber: 00000017 
[10493.757449] hid-generic 0003:1AC2:0135.0015: hiddev0,hidraw2: USB HID v1.10 Device [*** USB DEVICE ] on usb-0000:00:1d.0-1.2.1/input1 

我socat发挥各地了,但我是不是真的成功。如果你们其中一人能够帮助我,我将非常感激。

感谢, 拉尔夫

回答

0

我想你不需要考虑虚拟COM端口。这个条形码阅读器看起来像是一个HID,因为我在dmesg输出中看到有关HID的消息。您可以通过使用lsusb查看设备的实际USB描述符来确认。

由于它是一个HID,驱动程序设置应该在插入时自动完成,并且您应该只能扫描一个条形码,并且它可能会显示在您的Linux计算机上,就好像它是通过键入键盘。

顺便说一句,我不认为你真的可以“创建”一个虚拟的COM端口。通常,它的工作方式是设备的USB描述符指出它具有USB CDC ACM虚拟COM端口,Linux USB驱动程序读取这些描述符并使用它来设置虚拟COM端口的PC端。