udev Regeln für Linux (HID)

 

 

<< Click to Display Table of Contents >>

Navigation:  Einstellungen > Mediengeräteeinstellungen >

udev Regeln für Linux (HID)

 

 

 

udev-Regel anlegen (HID-Unterstützung)

Im Anwendungsverzeichnis befindet sich die Datei "udev_hid_globaliptel.sh" (ab Vers. 2.0.20).

sudo ./udev_hid_globaliptel.sh

Das Skript erstellt udev-Regeln zur Nutzung von HID-Geräten. Die Datei dient als Beispiel und enthält die Hersteller-IDs der gängigsten Headset-Geräte. Die Hersteller-IDs sind bei Bedarf unter Berücksichtigung von Sicherheitsaspekten anzupassen oder durch explizite Headset-Geräte (Vendor/Product) zu ersetzen. Dies obliegt dem Administrator, da aus dem Setup heraus keine udev-Regeln angelegt werden.

 

 

Warum muss man udev-Regeln setzen?

 

Unter Linux werden USB-Geräte automatisch vom Kernel erkannt, aber nicht automatisch für Anwendungen freigegeben.

 

Geräte wie Jabra-Headsets bestehen intern aus mehreren Funktionen:

 

Audio (Soundkarte)

HID (Tasten, Hook-State, Busy-Light, Rufannahme, etc.)

 

Gerade HID-Schnittstellen gelten als sensibel und erhalten daher standardmäßig sehr restriktive Zugriffsrechte.

 

 

Was passiert ohne udev-Regel?

 

Ohne passende udev-Regel:

 

Das Headset wird zwar erkannt

Audio funktioniert oft, aber nicht immer

Steuerfunktionen funktionieren nicht oder nur teilweise

oRuf annehmen / auflegen

oMute-Status

Anwendungen können nicht auf /dev/hidraw* zugreifen

 

 

Typisches Symptom:

Headset wird erkannt, aber nicht richtig initialisiert.
Das kann auch zu fehlendem Audio führen (häufig Mikrofon).

 

 

Warum reicht „Root“ nicht?

 

Linux geht davon aus:

 

Nicht jede Anwendung läuft als Root

Desktop-Programme, Softphones, Browser, CTI-Clients laufen als normaler Benutzer

 

Ohne udev-Regel:

 

/dev/hidraw* gehört root:root

Normale Benutzer → kein Zugriff

 

udev-Regeln sorgen dafür, dass:

 

beim Anstecken des Geräts

korrekte Rechte automatisch gesetzt werden

 

 

Was macht die udev-Regel konkret?

 

Beispiel:

 

ATTRS{idVendor}=="0b0e", MODE="0666"

 

Das bedeutet:

 

Erkenne Jabra-Geräte

Setze Lese-/Schreibrechte

Erlaube Anwendungen:

oGerät zu initialisieren

oHID-Events zu lesen/senden

 

Beispiel für ein explizites Gerät:
 
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0b0e", ATTRS{idProduct}=="1234", MODE="0660", GROUP="audiodevices"

 

 

Warum passiert das nicht automatisch?

 

Linux ist generisch, nicht herstellerspezifisch

Distributoren vermeiden:

ozu offene Rechte

oSicherheitsrisiken

Hersteller liefern udev-Regeln oft nicht standardmäßig mit

 

 

Eine udev-Regel kann man einfach wieder löschen, man muss danach nur ein paar Dinge beachten:

 

Das Löschen allein reicht nicht, weil udev Regeln cached

Bereits erkannte Geräte behalten ihre alten Rechte, bis ein trigger oder Re-Plug erfolgt

Ein Neustart würde es auch erledigen (aber unnötig)

 

Regeldatei Löschen
sudo rm /etc/udev/rules.d/99-globalip-headsets.rules

 

udev-Regeln neu laden

sudo udevadm control --reload-rules

 

Regel anwenden

sudo udevadm trigger