我正尝试使用USB串行连接与GBA ST2 Bill Validator进行通信。一切正常工作在Windows(该设备然后连接到COM端口),但不是在Linux上(到目前为止与Ubuntu 14.04,16.04和Debian 8)。USB串行通信在Linux上不起作用(Bill Validator GBA ST2)
默认情况下,cdc_acm驱动程序用于连接到/ dev/ttyACMx,但它不回答任何请求。 (然而,当在睡眠模式下请求时,它立即醒来)。
的的dmesg和的lsusb相关输出:
$ dmesg
[26600.821389] usb 2-1: new full-speed USB device number 37 using ohci-pci
[26601.307233] usb 2-1: New USB device found, idVendor=16f9, idProduct=0003
[26601.307237] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[26601.307239] usb 2-1: Product: GBA ST2
[26601.307240] usb 2-1: Manufacturer: Astrosystems
[26601.307242] usb 2-1: SerialNumber: 06010010001
[26601.316173] cdc_acm 2-1:1.0: ttyACM0: USB ACM device
$ lsusb -t
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ohci-pci/12p, 12M
|__ Port 1: Dev 37, If 0, Class=Communications, Driver=cdc_acm, 12M
|__ Port 1: Dev 37, If 1, Class=CDC Data, Driver=cdc_acm, 12M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/12p, 480M
强制设备何时使用usbserial司机,我可以用它下一个Linux VM(VirtualBox虚拟托管在Windows上) ,但不是在普通的Linux机器上。我用下面的命令来使用usbserial司机:
sudo modprobe -r cdc_acm
sudo modprobe usbserial vendor=0x16f9 product=0x0003
相关的dmesg和的lsusb输出:
$ sudo dmesg
[26022.203166] usbserial: USB Serial support registered for generic
[26022.203188] usbserial_generic 2-1:1.0: Generic device with no bulk out, not allowed.
[26022.206497] usbserial_generic: probe of 2-1:1.0 failed with error -5
[26022.206530] usbserial_generic 2-1:1.1: The "generic" usb-serial driver is only for testing and one-off prototypes.
[26022.206532] usbserial_generic 2-1:1.1: Tell [email protected] to add your device to a proper driver.
[26022.206533] usbserial_generic 2-1:1.1: generic converter detected
[26022.207075] usb 2-1: generic converter now attached to ttyUSB0
lsusb -t
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ohci-pci/12p, 12M
|__ Port 1: Dev 35, If 0, Class=Communications, Driver=, 12M
|__ Port 1: Dev 35, If 1, Class=CDC Data, Driver=usbserial_generic, 12M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/12p, 480M
我如何在Linux下该设备进行通信?任何想法将不胜感激。
Stack Overflow是编程和开发问题的网站。这个问题似乎与题目无关,因为它不涉及编程或开发。请参阅帮助中心的[我可以询问哪些主题](http://stackoverflow.com/help/on-topic)。也许[超级用户](http://superuser.com/)或[Unix&Linux堆栈交换](http://unix.stackexchange.com/)会是一个更好的地方。另请参阅[我在哪里发布有关Dev Ops的问题?](http://meta.stackexchange.com/q/134306) – jww
我问自己同样的问题。我选择最后在这里发布我的问题,因为这个问题可能与程序方面有关(如使用的驱动程序)。我会尝试另一个更合适的地方。 –