udev, udisks und CDROM-Einzug

22/06/2012 - 13:21 von Dirk Thierbach | Report spam
Gibt es irgendeine Moeglichkeit, sich bei udev anzeigen zu lassen,
welche Regeln gerade ausgefuehrt werden? So etwas wie ein Trace?

Hintergrund: Nach einem Update von u.a. udev passiert es, dass nach
dem Auswerfen der CD mit "eject" oder per Taste am Laufwerk die CD
sofort wieder eingezogen wird. Das ist etwas laestig, obwohl man
es durch genuegend haeufiges weiteres Betaetigen der Taste am Laufwerk
auch in den offenen Zustand bekommt.

Beim Oeffnen des Laufwerks liefert mir "udevadm monitor" auch
einen change-Event, und triggern dieses Events fuehrt wirklich
zum Einzug der CD. Ferner liefert udisks am dbus auch froehlich Ereignisse.

Daher hatte ich udisks in Verdacht, aber bis jetzt habe ich es nicht
geschafft, die Regeln so abzuaendern (selbst ein GOTO ganz am Anfang
hilft nicht), dass der Einzug verhindert wird. Also mache ich entweder
etwas falsch, oder der Schuldige liegt woanders.

Insofern waere es praktisch, wenn man nachvollziehen koennte, was udev gerade
wirklich an Regeln ausfuehrt.

Zu dem Problem gibt es auch diverse so aehnliche Bugreports im
Internet, aber eine Loesung habe ich bei keinem gesehen.

Danke fuer jegliche Hilfe,

- Dirk
 

Lesen sie die antworten

#1 Dirk Thierbach
27/06/2012 - 13:00 | Warnen spam
Dirk Thierbach wrote:
Hintergrund: Nach einem Update von u.a. udev passiert es, dass nach
dem Auswerfen der CD mit "eject" oder per Taste am Laufwerk die CD
sofort wieder eingezogen wird. Das ist etwas laestig, obwohl man
es durch genuegend haeufiges weiteres Betaetigen der Taste am Laufwerk
auch in den offenen Zustand bekommt.

Daher hatte ich udisks in Verdacht,



Fuer die Akten, falls jemand dasselbe Problem hat: udisks war der
Schuldige. Das Pollen eines Laufwerks, obwohl es "CHANGE"-Ereignisse
aussendet, scheint zu dem Fehlverhalten zu fuehren. Allerdings scheint
udisks die Ereignisse nicht ueber udev mitzubekommen, daher war
ausschalten der entsprechenden Regeln wirkungslos. Wie udisks genau
die Ereignisse liest, ist mir immer noch unklar.

Man kann udisks auch anscheinend nicht ueber eine Datei konfigurieren;
die einzige Methode ist wohl, passende udev-Regeln zu schreiben, die
ENV{UDISKS_*} setzen. Was ich dann schliesslich getan habe.
Neue Regeln dieser Form werden uebrigens auch von einem
"udevadm control --reload-rules" ignoriert, selbst wenn udisks
tot ist und anschliessend neu gestartet wird.

Und der ganze Kram ist auch nicht so wirklich dokumentiert; die
entscheidenden Grundlagenbemerkungen fehlen immer. Ein echter Spass.

- Dirk

Ähnliche fragen