Ich versuche mit einem GBA ST2 Bill Validator über eine USB-Seriell Verbindung zu kommunizieren. Alles funktioniert gut unter Windows (das Gerät ist dann an einen COM-Port angeschlossen), aber nicht unter Linux (bisher mit Ubuntu 14.04, 16.04 und Debian 8).USB-Serielle Kommunikation funktioniert nicht unter Linux (Bill Validator GBA ST2)
Standardmäßig werden die cdc_acm Treiber verwendet, die an/dev/ttyACMx angehängt sind, aber keine Anfrage beantwortet. (Wenn es im Schlafmodus angefordert wird, wacht es jedoch sofort auf).
Verwandte Ausgabe von dmesg und 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
Wenn das Gerät zwingt den usbserial Treiber zu verwenden, konnte ich es unter einem Linux-VM verwenden (Virtualbox unter Windows gehostet) , aber nicht auf einer einfachen Linux-Maschine. Früher habe ich die folgenden Befehle, um die usbserial Treiber verwenden:
sudo modprobe -r cdc_acm
sudo modprobe usbserial vendor=0x16f9 product=0x0003
Verwandte dmesg und lsusb Ausgang:
$ 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
Wie kann ich mit diesem Gerät unter Linux kommunizieren? Irgendeine Idee würde geschätzt werden.
Stack Overflow ist eine Website für Programmier- und Entwicklungsfragen. Diese Frage scheint off-topic zu sein, weil es nicht um Programmierung oder Entwicklung geht. Siehe [Welche Themen kann ich hier fragen?] (Http://stackoverflow.com/help/on-topic) in der Hilfe. Vielleicht [Super User] (http://superuser.com/) oder [Unix & Linux Stack Exchange] (http://unix.stackexchange.com/) wäre ein besserer Ort, um zu fragen. Siehe auch [Wo stelle ich Fragen zu Dev Ops?] (Http://meta.stackexchange.com/q/134306) – jww
Ich habe mir dieselbe Frage gestellt. Ich habe mich entschieden, meine Frage hier zu veröffentlichen, da dieses Problem mit programmatischen Aspekten (wie den verwendeten Treibern) zusammenhängen könnte. Ich werde einen anderen besser geeigneten Platz versuchen. –