Udevregeln für Cardreader

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
Benutzeravatar
minimike
Beiträge: 5616
Registriert: 26.03.2003 02:21:19
Lizenz eigener Beiträge: neue BSD Lizenz
Wohnort: Köln
Kontaktdaten:

Udevregeln für Cardreader

Beitrag von minimike » 21.02.2009 03:38:52

Hi

Ich habe so nen Komboreader mit 4 Slots für diverse Karten und einem 3er USB Hub. Ab und an stört die Namensbelegung der SD CF MS SM Karten meine Konfiguration wenn das Gerät wie üblich beim Booten angeklemmt war. UDEV Regeln müssen her. Wenn ich schon dran bin kann ich die Namen auch für mich gefälliger vergeben. Nur meine Regeln für den Cardreader funktionieren irgendwie nicht. Was ist da falsch?

Code: Alles auswählen

# Regeln für die korrekte und beständige Namensvergabe der Festplatten
SUBSYSTEM=="block", ENV{ID_SERIAL_SHORT}=="CP103199", SUBSYSTEMS=="scsi", NAME="sda%n"

SUBSYSTEM=="block", ENV{ID_SERIAL_SHORT}=="WL704145", SUBSYSTEMS=="scsi", NAME="sdb%n"

SUBSYSTEM=="block", ENV{ID_SERIAL_SHORT}=="CP207180", SUBSYSTEMS=="scsi", NAME="sdc%n"

SUBSYSTEM=="block", ENV{ID_SERIAL_SHORT}=="B403KX6H", SUBSYSTEMS=="scsi", NAME="sdd%n"

SUBSYSTEM=="block", ENV{ID_SERIAL_SHORT}=="Y48PB50E", SUBSYSTEMS=="scsi", NAME="sde%n"

SUBSYSTEM=="block", ENV{ID_SERIAL_SHORT}=="RY707437", SUBSYSTEMS=="scsi", NAME="sdf%n"

SUBSYSTEM=="block", ENV{ID_SERIAL_SHORT}=="GYC00280", SUBSYSTEMS=="scsi", NAME="sdg%n"

SUBSYSTEM=="block", ENV{ID_SERIAL_SHORT}=="5ED0W30Z", SUBSYSTEMS=="scsi", NAME="sdh%n"

# Regeln für den Cardreader
SUBSYSTEM=="block", SUBSYSTEMS=="usb", ATTRS{model}=="USB SD Reader", NAME="sdreader%n"

SUBSYSTEM=="block", SUBSYSTEMS=="usb", ATTRS{model}=="USB CF Reader", NAME="cfreader%n"

SUBSYSTEM=="block", SUBSYSTEMS=="usb", ATTRS{model}=="USB SM Reader", NAME="smreader%n"

SUBSYSTEM=="block", SUBSYSTEMS=="usb", ATTRS{model}=="USB MS Reader", NAME="msreader%n"
"Lennart Poettering is one of those typical IT leaders..." "like Linus Torvalds and Theo de Raadt?" "more like Bozo the Clown" After all, now a good employee of Microsoft

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Udevregeln für Cardreader

Beitrag von rendegast » 21.02.2009 12:40:07

Ausgabe von udevadm im Test-Modus?
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

storm
Beiträge: 1581
Registriert: 01.05.2004 13:21:26
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: DE

Re: Udevregeln für Cardreader

Beitrag von storm » 21.02.2009 21:13:57

minimike hat geschrieben:

Code: Alles auswählen

# Regeln für den Cardreader
SUBSYSTEM=="block", SUBSYSTEMS=="usb", ATTRS{model}=="USB SD Reader", NAME="sdreader%n"
Das funktioniert so nicht, weil du die match-Regeln nicht beachtest. SUBSYSTEM schaut bekanntlich [1] nur auf das event-verursachende device. SUBSYSTEMS schaut auch auf das parent-device, aber eben nur auf das nächsthöhere in der Kette (von Verzeichnissen mal abgesehen). Da ich auch so einen Reader eingebunden hab, kann ich das nachvollziehen, und als parent-device zu block kommt scsi als subsystem. Was auch noch einer erfolgreichen Anwendung im Weg stehen kann, ist model. Bei den meisten Geräten, die mir bis jetzt so untergekommen sind, werden die Attribute mit Leerzeichen aufgefüllt. Fehlen die in dem Ausdruck, gibt es kein match. Die Ausgabe von udevinfo oder ein entsprechender Platzhalter sollten hier aber weiter helfen. Die Zeile funktioniert wahrscheinlich eher so:

Code: Alles auswählen

# Regeln für den Cardreader
SUBSYSTEM=="block" SUBSYSTEMS=="scsi" ATTRS{model}=="USB SD Reader*" NAME="sdreader%n" OPTIONS+="all_partitions
Das letzte Argument hab ich mal mit angefügt, es muss aber nicht zwangsläufig nötig sein, wenn du HAL einsetzt.

ciao, storm


[1] http://reactivated.net/writing_udev_rules.html
drivers/ata/libata-core.c: /* devices which puke on READ_NATIVE_MAX */

Benutzeravatar
minimike
Beiträge: 5616
Registriert: 26.03.2003 02:21:19
Lizenz eigener Beiträge: neue BSD Lizenz
Wohnort: Köln
Kontaktdaten:

Re: Udevregeln für Cardreader

Beitrag von minimike » 24.02.2009 00:58:40

Danke für die Tips :) Es läuft jetzt!

Code: Alles auswählen

SUBSYSTEM=="block", SUBSYSTEMS=="scsi", ATTRS{model}=="USB SD Reader   ", NAME="sdreader%n"

SUBSYSTEM=="block", SUBSYSTEMS=="scsi", ATTRS{model}=="USB CF Reader   ", NAME="cfreader%n"

SUBSYSTEM=="block", SUBSYSTEMS=="scsi", ATTRS{model}=="USB SM Reader   ", NAME="smreader%n"

SUBSYSTEM=="block", SUBSYSTEMS=="scsi", ATTRS{model}=="USB MS Reader   ", NAME="msreader%n"
"Lennart Poettering is one of those typical IT leaders..." "like Linus Torvalds and Theo de Raadt?" "more like Bozo the Clown" After all, now a good employee of Microsoft

Antworten