udev erkennt keine Geräte nach Boot

Hast Du Probleme mit Hardware, die durch die anderen Foren nicht abgedeckt werden? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
debianoli
Beiträge: 4073
Registriert: 07.11.2007 13:58:49
Lizenz eigener Beiträge: MIT Lizenz

udev erkennt keine Geräte nach Boot

Beitrag von debianoli » 06.11.2016 10:12:56

Hallo,

ich habe im Laptop eine udev-Regel, die das Touchpad nach dem Einstecken einer Maus auschaltet bzw wieder einschaltet.

Doch wenn die Maus bereits beim Booten eingesteckt ist, passiert nichts. Das gleiche Problem habe ich auch mit einer externen Festplatte.

Hier ist die Regel für die Maus:

Code: Alles auswählen

more /etc/udev/rules.d/01-touchpad.rules 
SUBSYSTEM=="input", KERNEL=="mouse[0-9]*", ACTION=="add", ENV{DISPLAY}=":0", ENV{XAUTHORITY}="/home/olilala/.Xauthority", RUN+="/usr/b
in/synclient TouchpadOff=1"
SUBSYSTEM=="input", KERNEL=="mouse[0-9]*", ACTION=="remove", ENV{DISPLAY}=":0", ENV{XAUTHORITY}="/home/olilala/.Xauthority", RUN+="/us
r/bin/synclient TouchpadOff=0"
Ein Restart des udev-Daemons bringt nichts.

System: Debian Jessie mit Kernel 3.16.0-4-amd64
udev 215-17+deb8u5

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

Re: udev erkennt keine Geräte nach Boot

Beitrag von rendegast » 17.11.2016 00:46:46

Ein Skript /etc/X11/Xsession.d/99x01-lokal-tp

Code: Alles auswählen

#!/bin/sh

ls /dev/input/mouse* && { /usr/bin/synclient TouchpadOff=1; exit 0; }
/usr/bin/synclient TouchpadOff=0; exit 0
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: udev erkennt keine Geräte nach Boot

Beitrag von smutbert » 17.11.2016 10:03:53

Das Problem dürfte jedenfalls
man synclient hat geschrieben:[…]
DESCRIPTION
This program lets you change your Synaptics TouchPad driver for
XOrg/XFree86 server parameters while X is running.
[…]
sein. Wenn er beim Systemstart die Mauserkennt, wird das Skript zwar ausgeführt, bleibt aber mangels X wirkungslos.

Als Alternative zu rendegasts Lösung könnte man mit der udev-Regel vielleicht auch den Kerneltreiber des Touchpads entladen oder deaktivieren.

debianoli
Beiträge: 4073
Registriert: 07.11.2007 13:58:49
Lizenz eigener Beiträge: MIT Lizenz

Re: udev erkennt keine Geräte nach Boot

Beitrag von debianoli » 25.11.2016 12:04:35

Danke für das Skript mit der Abfrage über ls, sehr einfach und effektiv.

Damit kann ich auch meine externe verschlüsselte Festplatte einbinden. Allerdings klappt der Weg via /etc/X11/Xsession.d/99x01-lokal-harddisk nicht, ich muss mein Skript in die /etc/rc.local schreiben:

Code: Alles auswählen

cat /etc/rc.local

#!/bin/sh -e

ls /dev/disk/by-uuid/7c6a9987-* && { /sbin/cryptsetup --key-file /home/useroli/Backup_HDD_Buero luksOpen /dev/sde1 backup-crypt; /bin/mount /dev/mapper/backup-crypt; exit 0; }

exit 0
Heute abend teste ich dann auch noch das Touchpad-Skript. Falls das dann auch nicht über /etc/X11/Xsession.d/ geht, melde ich mich wieder. Aber dann müsste auf alle Fälle rc.local klappen und das reicht in der Regel aus.

debianoli
Beiträge: 4073
Registriert: 07.11.2007 13:58:49
Lizenz eigener Beiträge: MIT Lizenz

Re: udev erkennt keine Geräte nach Boot

Beitrag von debianoli » 25.11.2016 12:14:05

smutbert hat geschrieben:Wenn er beim Systemstart die Mauserkennt, wird das Skript zwar ausgeführt, bleibt aber mangels X wirkungslos.

Als Alternative zu rendegasts Lösung könnte man mit der udev-Regel vielleicht auch den Kerneltreiber des Touchpads entladen oder deaktivieren.
Das dürfte das Touchpad-Problem erklären, aber nicht mein Problem mit einer verschlüsselten Festplatte, die ich über eine udev-Regel einbinde.

Wie ist denn eigentlich die Abfolge beim Starten: Es wird doch eigentlich die /etc/crypttab und /etc/fstab abgearbeitet, bevor udev seine Arbeit erledigt?

Denn ich binde eine verschlüsselte Backup-Festplatte per udev über ein Keyfile in meinem User-Home ein, sobald sie eingeschaltet wird. Die USB-Platte hat einen fstab-Eintrag. Das klappt natürlich nur, wenn die verschlüsselte Home-Partition gemountet ist.

Allerdings funktioniert diese Udev-Rule nicht, wenn die USB-Festplatte beim Hochfahren des Rechners eingeschaltet ist:

Code: Alles auswählen

cat /etc/udev/rules.d/85-usb-backup-hdd.rules 

ACTION=="add", SUBSYSTEM=="block", ENV{DEVTYPE}=="partition", ATTRS{serial}=="000000000009800DW", \
RUN+="/sbin/cryptsetup --key-file /home/useroli/Backup_HDD_Buero luksOpen $env{DEVNAME} backup-crypt"

ACTION=="add|change", SUBSYSTEM=="block", ENV{DM_NAME}=="backup-crypt", \
RUN+="/bin/mount /dev/mapper/$env{DM_NAME}"

Antworten