PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Events von USB-Geräten abfragen



m_quadrat
26.08.09, 14:36
Ich öffne mit meiner Applikation die Nodes /dev/eventX und kann von Maus, Tastaturen, usw. die Ereignisse lesen.
Diese Nodes werden von den Input-Geräten bzw. vom Betriebssystem automatisch erzeugt.
Es geht um Ereignisse, die von einem Hintergrundprozess verarbeitet werden sollen, unabhängig vom Focus etc.

All den Geräten, die die Einträge /dev/eventX erzeugen, wenn sie verbunden sind, ist gemeinsam, dass sie
in der Datei /proc/bus/usb/devices in einer der letzten Zeilen der Gerätebeschreibung "driver=usbhid" stehen haben.

Die Geräte, die in der Datei /proc/bus/usb/devices "driver=(none)" stehen haben, legen keinen Node /dev/eventX an.

Gibt es eine Möglichkeit, diese Geräte so im System zu konfigurieren, dass der HIS-Treiber verwendet wird?
Oder sind die Eigenschaften der Geräte fest in der Firmware des Gerätes festgelegt ??

nunja
04.09.09, 17:31
Nunja, wenn auch etwas spät weil sich keiner erbarmt hat zu antworten vesuche ich es.

Kurz und bündig alle als eventx eingebunden Geräte gehören zur HID Klasse.
HID steht für Human Input Device zu deutsch Anwendereingabegerät.

Damit dürfte Deine Frage zu "driver=(none)" beantwortet sein.

Um zu sehen was bestimmte USB Geräte so "produzieren" siehe
man usbdev, usbadm.
Änderungen durch hinzufügen der Angabe --debug in entsprechenden init Dateien können auch Deine Festplatte mit Logdateien zumüllen.

Ausgiebige Anleitungen zu usbdev gibt es vom Autor des besagten Programmes (siehe Quelltext von udev) oder über diverse Suchmaschinen.

nunja
05.09.09, 06:51
Nachtrag:

Hier noch eine Anleitung (in englischer Sprache)
http://biot.com/blog/usb-sniffing-on-linux