Raspberry Pi: Mit angeschlossener USB-Webcam reagiert der Mini-Rechner plötzlich nicht mehr und friert ein: Er ist dann über das Netzwerk nicht mehr erreichbar – mit einem einfachen Skript lässt sich das USB Problem aber schnell lösen!
Im Test mit vier Raspberry Pi und vier angeschlossenen Webcams waren zwei regelmäßig nicht mehr ansprechbar: Der Raspberry Pi selbst lief zwar weiter, ein Netzwerk-Zugriff war aber nicht mehr möglich – anscheinend aber ein häufiges Problem: Die Kameras waren alle direkt (ohne Hub oder eigene Stromversorgung) angeschlossen – laut diversen Foren-Einträgen soll ein aktiver (self-powered) USB-Hub aber auch nicht helfen, sondern nur zusätzlichen Strom verbrauchen.
Die speziell für den Raspberry Pi entwickelte Kamera, die nicht per USB, sondern direkt über das Camera-Interface an den Raspberry angeschlossen wird, funktionierte immer problemlos, der Rechner war immer ansprechbar. Genauso übrigens eine einfache SilverCrest Kamera eines bekannten Discounters. Die Rechner, an denen eine Logitech Webcam angeschlossen war, waren nach einiger Zeit nicht mehr erreichbar: Sobald man zu viele Bilder mit der Kamera abrufen wollte (im Test: “motion” und “fswebcam“), war der Rechner nicht mehr über das Netzwerk erreichbar, da die Netzwerkschnittstelle und die USB Ports zusammenhängen.
Mit dem folgenden Skript werden die USB Ports zurückgesetzt und sowohl die Kamera als auch die Netzwerk-Schnittstelle funktionieren wieder: Man kann also wieder über das Netzwerk auf den Raspberry Pi zugreifen und auch Fotos von der Kamera laden:
#!/bin/bash
echo 1-1.4 > /sys/bus/usb/drivers/usb/unbind
sleep 1
echo 1-1.4 > /sys/bus/usb/drivers/usb/bind
sleep 1
rmmod uvcvideo
modprobe uvcvideo nodrop=1 timeout=5000 quirks=0x80
Speichert man dieses Skript als “usb-neustart.sh” ab, kann man es als Root-User oder mit diesem Befehl ausführen, um die USB Ports zurückzusetzen:
sudo sh usb-neustart.sh
Damit das auch regelmäßig ausgeführt wird, kann man es zum Beispiel als Cronjob zweimal pro Stunde automatisch starten: Im Test funktionierten bei uns die Raspberry Pi auch mit den angeschlossenen Logitech Kameras immer problemlos und waren immer über das Netzwerk zu erreichen.
Dafür muss man sich zunächst als Root-User anmelden und dann mit dem Befehl “crontab -e” die Cronjob-Tabelle öffnen und einen neuen Cronjob anlegen: Wie das geht, zeigen wir in diesem Artikel.