Home.

Technik-Blog

Willkommen auf meinem
Notiz - Blog
Blog

Kmoser's Tech-Blog

Freitag
27
Juli 2018
Klaus Moser
Klaus Moser

USB legt Rechner lahm

Heute ist es mal wieder vorgekommen dass beim Kopieren großer Dateien über USB der Rechner angefangen hat zu hängen. In Kurzen Abständen ließ sich die Maus nicht mehr bewegen und es war kein Arbeiten mehr möglich. Das Problem scheint nur bei 64Bit Systemen und einer gewissen Menge Speicher aufzutreten.

Nach kurzer Recherche bin ich auf eine Lösung für das Problem gestoßen. Dazu folgende Zeilen in die Datei /etc/sysctl.conf einfügen:

/etc/sysctl.conf
vm.dirty_background_ratio = 5
vm.dirty_ratio = 10

Und die Änderungen aktivieren mit:

Bash
sudo sysctl -p

Seitedem kann ich wieder Daten kopieren ohne dass sich das System in einen unbedienbaren Zustand verabschiedet.

Donnerstag
19
Juli 2018
Klaus Moser
Klaus Moser

Dateien per ADB kopieren

Als erstes sucht man sich den Zielordner mittels:

Bash
adb shell ls -l /sdcard/

Anschließend kann man Dateien mittes push kopieren:

Bash
adb push myfile.ext /sdcard/my/path/
Mittwoch
27
Juni 2018
Klaus Moser
Klaus Moser

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.

Blog

Kmoser's Tech-Blog