2017-03-21 8 views
2

Mein Zaber-Gerät ist X-MCB2, das über USB mit meinem Computer verbunden ist. Der Befehl lsusb kann seine Informationen wie folgt anzeigen, aber nicht im Verzeichnis/dev.Warum erscheint das Zaber-Gerät nicht im dev-Verzeichnis?

Bus 003 Gerät 023: ID 2939: 495b

Es gibt einen anderen Arduino Gerät nicht mit meinem Computer als auch verbunden. Im Gegensatz zu Zaber-Gerät funktioniert dieses Arduino-Gerät gut, sein Name in/dev ist ttyACM0.

Auch wenn ich das Arduino-Gerät ausstattete, wird das Zaber-Gerät immer noch nicht im/dev-Verzeichnis angezeigt.

Mein Linux-Kernel ist 2.6.32, und dieses Zaber-Gerät sollte keinen zusätzlichen Treiber benötigen.

+0

Befehl "lsusb -t", und Treiber ist für Zaber-Gerät leer, während Treiber cdc_acm für Arduino-Gerät ist. Beide sind 12M. – Jeff

Antwort

0

Vielen Dank für Ihre Antwort Jeff veröffentlichen.

Die wahrscheinliche Ursache des Problems besteht darin, dass Zaber-Controller USB mit CDC ACM implementieren und 0 für das Protokollfeld des USB-Schnittstellendeskriptors festlegen (wodurch angezeigt wird, dass das Gerät keine AT-Befehle akzeptiert).

In Linux 2.6.32, die CDC ACM Kernel-Treiber, welche Geräte dieser Art behandeln sollte, ist so geschrieben, dass sie nicht die Kontrolle über Geräte Protokoll nimmt dessen Feld 0 (anstatt, es hat eine spezifische Liste von Protokollnummern, die es akzeptiert, aber diese Liste enthält nicht 0). Stattdessen müssen Sie es wie in der veröffentlichten Lösung manuell anhängen.

Dieses Problem wurde im Kernel 2.6.36 behoben.

Hier sind eine Liste der Befehle, die die Zaber-Controller mit USB manuell angehängt werden können:

X-MCB2:

echo "0x2939 0x495b" > /sys/bus/usb/drivers/cdc_acm/new_id

X-MCB1:

echo "0x2939 0x495a" > /sys/bus/usb/drivers/cdc_acm/new_id

A-MCB2:

echo "0x2939 0x459" > /sys/bus/usb/drivers/cdc_acm/new_id

Verwandte Themen