Wo Hardware-IDs?

Antworten
Nachricht
Autor
Wuppi

Wo Hardware-IDs?

#1 Beitrag von Wuppi » 24. Jan 2008 20:30

Wo sind eigentlich die gesammelten Hardware-IDs hinterlegt bzw. wo findet die Zuordnung von Hardware zum Kernelmodul statt? Irgend wo muss meinem Verständnis nach ja eine solche Auflistung existieren...

Wuppi

#2 Beitrag von Wuppi » 25. Jan 2008 8:33

Bzw. um die Frage ein wenig genauer zu gestalten: Wenn ich ein USB-Gerät einstecke, so erscheint das zum einen im usbfs unter /proc/bus/usbxxx/xxx und zum anderen unter /dev/usb/ddd (je nach dem was für ein Gerät das ist).

Wo findet die Zuordnung von der Vendor- und GeräteID dieses Geräteszum Eintrag unter /dev statt?

Benutzeravatar
hjb
Pro-Linux
Beiträge: 3252
Registriert: 15. Aug 1999 16:59
Wohnort: Bruchsal
Kontaktdaten:

#3 Beitrag von hjb » 25. Jan 2008 12:04

Hi!

Grundsätzlich enthält jeder Treiber die IDs, für die er zuständig ist. Wenn ein Kernel installiert wird, werden in /lib/modules/$(uname -r) Listen aller IDs generiert. Diese Listen dienen Userspace-Tools wie udev dazu, bei Bedarf das richtige Modul zu laden.

Grüße,
hjb
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?

Benutzeravatar
Janka
Beiträge: 3581
Registriert: 11. Feb 2006 19:10

#4 Beitrag von Janka » 25. Jan 2008 12:04

Es gibt zwei Stellen, wo sowas geprüft wird. Zunächst einmal im Treibermodul selbst. Dieses prüft, ob es ein oder mehrere Geräte findet, das es ansteuern kann.

Andererseits sollen die Treiber ja erst geladen werden, wenn sie benötigt werden. Daher gibt es udev. Das ist ein Daemon, der mit einem Haufen Skripte konfiguriert werden kann. http://www.kernel.org/pub/linux/utils/k ... /udev.html
In den Skripten kann man nach Geräte-IDs prüfen, aber auch komplizierte Sachen machen. Vielseitig halt, trotzdem nicht allzu kompliziert.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

Wuppi

#5 Beitrag von Wuppi » 28. Jan 2008 7:27

Sorry für den Doppelpost aber wenn ich ein Posting absende erhalte ich immer eine Fehlermeldung und _keinen_ Beitrag, ein paar Tage später ist er dann da.

Warum ich Frage: ich habe ein USB-Gerät, das den Cypress-chip nutzt, der von Linux unterstützt wird, er wird vom System auch als Cypress erkannt. Da die Device-ID aber abweichend ist, weiß das System 1. nicht wie das Gerät genau heißt und 2. wie es einzubinden ist, sprich welches Device in /dev/usb/ dafür anzulegen ist.

udev scheint für die zuordnung von USB-Devices aber nicht zuständig zu sein?

Benutzeravatar
Janka
Beiträge: 3581
Registriert: 11. Feb 2006 19:10

#6 Beitrag von Janka » 28. Jan 2008 15:48

In dem Fall musst du den Treiber passend patchen. Evtl. reicht auch ein Update auf die neueste Treiber- bzw. Kernelversion.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

Antworten