USB, udev und dynamische Zuweisung der Gräte kontrollieren
Hallo Leute, ich möchte gerne ein USB-Gerät korrekt ansprechen: Ich kann so das Gerät anhand der ID's bestimmen (Auszug): def ls_usb(self): """if the cabel on usb, like <lsusb>""" for buss in usb.busses(): for dev in buss.devices: print "-> %s %X:%X" % (dev.filename, dev.idVendor, dev.idProduct) aber das Gerät wird unter Linux mit Hilfe von udev dynamisch an /dev/... vergeben (hwinfo --short). Wenn ich also aus zum Beispiel im laufenden Programm den Stecker ziehe und wieder neu einstöpsel, dann erhalte ich eine neue Zuweisung in /dev. Wie kann ich die Arbeit von udev überwachen oder gibt es so etwas wie hwinfo in Python? Mathias
Mathias Uebel:
Wie kann ich die Arbeit von udev überwachen oder gibt es so etwas wie hwinfo in Python?
Ich habe sowas noch nie gemacht, würde aber mal in dei Richtung HAL/D-Bus gucken. Da würde ich erwarten, dass es eine Möglichkeit gibt, sich benachrichtigen zu lassen. J. -- Quite often I wonder why I am not more famous and/or more wealthy. [Agree] [Disagree] <http://www.slowlydownward.com/NODATA/data_enter2.html>
Jochen Schulz schrieb:
Mathias Uebel:
Wie kann ich die Arbeit von udev überwachen oder gibt es so etwas wie hwinfo in Python?
Ich habe sowas noch nie gemacht, würde aber mal in dei Richtung HAL/D-Bus gucken. Da würde ich erwarten, dass es eine Möglichkeit gibt, sich benachrichtigen zu lassen.
dbus ist richtig. Zwar habe ich auch noch nie etwas in der Hinsicht gemacht, aber der hal-device-manager, der früher bei HAL dabei war, war in Python geschrieben und nutzte dbus-python um an Geräte zu kommen und Veränderungen sofort anzuzeigen. Als Hilfestellung könntest du mal in die Quellen von hal-0.5.9 gucken. Dort war der hal-device-manager noch dabei. Gruß Marcus
Marcus Habermehl schrieb:
Jochen Schulz schrieb:
Mathias Uebel:
Wie kann ich die Arbeit von udev überwachen oder gibt es so etwas wie hwinfo in Python? Ich habe sowas noch nie gemacht, würde aber mal in dei Richtung HAL/D-Bus gucken. Da würde ich erwarten, dass es eine Möglichkeit gibt, sich benachrichtigen zu lassen.
dbus ist richtig. Zwar habe ich auch noch nie etwas in der Hinsicht gemacht, aber der hal-device-manager, der früher bei HAL dabei war, war in Python geschrieben und nutzte dbus-python um an Geräte zu kommen und Veränderungen sofort anzuzeigen.
[...] Danke erstmal für beide Antworten: Auf den Hal-Dev-Manager bin ich eben auch gestoßen. Ich wühle mich mal so durch und werde dann schreiben. Wenn jemand Beispiele hat, würde mich ein Hinweis freuen. Mathias
Mathias Uebel schrieb:
Marcus Habermehl schrieb:
Jochen Schulz schrieb:
Hallo Jungs,
dbus ist richtig. Zwar habe ich auch noch nie etwas in der Hinsicht gemacht, aber der hal-device-manager, der früher bei HAL dabei war, war in Python geschrieben und nutzte dbus-python um an Geräte zu kommen und Veränderungen sofort anzuzeigen.
Das habe ich analysiert und folgendes für meine Zwecke daraus entwickelt: http://debian.pastebin.com/f2e0e069b Es werden also drei Eigenschaften abgefragt. Das sollte genügen. Danke für die Hilfe Mathias
participants (3)
-
Jochen Schulz
-
Marcus Habermehl
-
Mathias Uebel