Home.

Technik-Blog

Willkommen auf meinem
Notiz - Blog
Blog

Kmoser's Tech-Blog

Mittwoch
27
Juni 2018

Wenn man beim Ausführen des adb Befehls folgenden Fehler erhält:

* daemon not running. starting it now at tcp:5037 *
* daemon started successfully *
adb: error: failed to get feature set: insufficient permissions for device: verify udev rules.
See [http://developer.android.com/tools/device.html] for more information.

dann hat man auf das USB Device keine Zugriffsrechte

Wenn man sich die Ausgabe von dmesg anschaut, bekommt man einige wichtige Informationen.

[22040.856756] usb 3-2: new high-speed USB device number 10 using xhci_hcd
[22041.085756] usb 3-2: New USB device found, idVendor=18d1, idProduct=4ee7
[22041.085758] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[22041.085759] usb 3-2: Product: Nexus 7 [24044.085770] usb 3-2: Manufacturer: asus
[22041.085761] usb 3-2: SerialNumber: 1fa6c31a

Man kann erkennen das das angeschlossene Gerät ein Nexus 7 ist welches am Bus 3 hängt und die USB Device Nummer 10 hat. Daraus ergibt sich die Gerätedatei /dev/bus/usb/003/010. Schaut man sich diese an stellt man fest, dass diese root gehört und auch nur root bzw. Mitglieder der Gruppe root darauf Zugriff haben.

Bash
$ ls -l /dev/bus/usb/003/010
crw-rw-r-- 1 root root 189, 264 Jun 27 14:15 /dev/bus/usb/003/010

Die Rechte die eine solche Gerätedatei erhält kann man über udev-Regeln verändern.

Für mein Nexus 7 habe ich eine Datei /etc/udev/rules.d/80-nexus.rules angelegt mit folgendem Inhalt.

udev
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee7", MODE="0666", GROUP="plugdev"

Steckt man das Gerät jetzt aus und wieder ein wird die Gerätedatei andere Rechte bekommen. Allerdings wieder mit dmesg schauen denn die USB device number wird sich sicherlich ändern.

Bash
$ ls -l /dev/bus/usb/003/011
crw-rw-rw- 1 root plugdev 189, 265 Jun 27 14:22 /dev/bus/usb/003/011

Ab jetzt kann man auch den adb Befehl als nicht-root Benutzer wieder benutzen.