Wo Hardware-IDs?

Post Reply
Message
Author
Wuppi

Wo Hardware-IDs?

#1 Post by Wuppi »

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 Post by Wuppi »

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?

User avatar
hjb
Pro-Linux
Posts: 3264
Joined: 15. Aug 1999 16:59
Location: Bruchsal
Contact:

#3 Post by hjb »

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?

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#4 Post by Janka »

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 Post by Wuppi »

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?

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#6 Post by Janka »

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.

Post Reply