Der neue Raspberry Pi Zero W wurde am 28. Februar 2017 vorgestellt. . Dieser verfügt nun über Wifi und Bluetooth On Board, dh. es sind keine externen Geräte wie Wifi-Stick etc. nötig. Unter anderem verfügt der neue PI Zero W über eine OTG-Schnittstelle.
OTG steht für „On The Go“, was soviel heißt wie „USB für unterwegs. Es gibt sogar eine Zertifizierung und ein eigenes Logo dafür. Mit dieser Technik kann man externe Geräte wie „Festplatten, Webcam, Speicher, Drucker usw.“ an OTG taugliche Geräte anschließen. Dh. man benötigt nicht noch zusätzlich einen USB-Hub oder andere Zwischenlösungen um externe Geräte z.B. an ein Smartphone oder Tablet anzuschließen. Die Treiber sind oftmals in den Betriebssystemen wie Windows und Linux schon enthalten.
Nun hat der neu Pi Zero / und Zero W die Möglichkeit genau diese Schnittstelle zur Verfügung zu stellen. Ein Einsatz Szenario wäre z.B. , dass man ein Entwicklungssystem wie Node-Red, PHP, oder Cloud9 immer und überall dabei hat. Da der Raspberry oft Hatless betrieben wird also ohne Bildschirm und Tastatur ist es sinnvoll sich mit dem Raspberry irgendwie zu verbinden. Ja sicher man könnte Hostapd installieren denken sicher einige Leser . Ja, aber dann ist diese Schnittstelle verwirkt für zusätzliche WLAN-Anbindungen unterwegs. Elegant ist da doch die USB-Verbindung, weil damit sogar der Raspberry mit Strom versorgt wird. Dh. wir versorgen den Minicomputer mit Strom und haben eine direkte Netzverbindung.
Die Verbindung nennt sich auf Ethernet over USB. Wenn die nötigen Treiber und Konfigurationen vorhanden sind, kann man ganz einfach mit „ping 192.168.7.2“ oder „ssh 192.168.7.2“ den Rechner erreichen. Das Programm „Putty“ ist unter Windows schnell mal installiert und schon hat man direkt Zugriff auf die „Command Line“ Ebene oder auch Webdienste wie Node-Red, Apache und noch mehr.
Diese Modelle funktionieren NICHT, denn:
- die Schnittstelle auf dem Raspberry 2/3 nicht vorhanden ist
- die Stromaufnahme von 500 mA überschritten wird.
Der PI Zero W liegt bei einer ungefähren Stromaufnahme von 100 bis 200 mA und liegt somit in der USB-Spezifikation von max. 500mA pro USB-Schnittstelle.
Wir konfigurieren nun den Raspberry Pi Zero / Zero W:
Hier ist der Eintrag „modules-load=dwc2,g_ether“ wichtig., genau so an dieser Stelle und in dieser Reihenfolge wie abgebildet. Mach es einfach so wie es hier steht und nicht anders bitte, Danke 🙂
sudo vi /boot/cmdline.txt dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait modules-load=dwc2,g_ether quiet splash plymouth.ignore-serial-consoles
sudo vi /boot/config.txt dtoverlay=dwc2
Dann erstellen wir eine neue Schnittstelle :
allow-hotplug usb0 iface usb0 inet static address 192.168.7.2 netmask 255.255.255.0 network 192.168.7.0 broadcast 192.168.7.255
Reboot mit „sudo init 6“ , dann wieder über den üblichen Weg per SSH oder HDMI anmelden. Es sollte nun ein neues Interface vorhanden sein:
Nettes Feature. Die OTG-Treiber des Linux-Kernels stellen auch einen Massenspeicher bereit, mit denen ein Dateisystemimage als Blockdevice an den Host freigegeben werden kann. Damit ist einfacher Dateitransfer möglich.
Scahde, dass die Raspberrys keinen Mixed Mode uterstützen (OTG auf einem Port, Host auf den anderen). Das können bspw. Allwinners A20, womit es möglich ist, USB-Sticks per OTG durchzureichen.
Ja die kann der Pi Zero auch , musst eben im Kernel aktivieren:
Serial (g_serial)
Ethernet (g_ether)
Mass storage (g_mass_storage)
MIDI (g_midi)
Audio (g_audio)
Keyboard/Mouse (g_hid)
Mass storage and Serial (g_acm_ms)
Ethernet and Serial (g_cdc)
Multi (g_multi) – Allows you to configure 2 from Ethernet, Mass storage and Serial
In addition to the above modules, a few other (less useful) modules are included.
Webcam (g_webcam)
Printer (g_printer)
g_mass_storage – To have your Pi Zero appear as a mass storage device (flash drive), first create a mini filesystem in a file on your Pi with sudo dd if=/dev/zero of=/piusb.bin bs=512 count=2880 and set it up as a fat32 filesystem with sudo mkdosfs /piusb.bin. Then, when enabling it, add file=/piusb.bin stall=0 onto the end, for example sudo modprobe g_mass_storage file=/piusb.bin stall=0.
Ich habe meinen Pi Zero jetzt richtig eingerichtet, er wird von Windowsauch erkannt. Mir fehlt jetzt nur noch der Treiber, den Windows leider nicht findet. Weiß jemand, wo man den Treiber downloaden kann?
Mit g_midi und g_hid bin ich klargekommen, aber für die Verwendung von g_audio habe ich keine Informationen gefunden. Mein Ziel ist es, einen Raspberry 4 als 4-Kanal Audiogerät (2 * Stereo) erscheinen zu lassen und diese dann über zwei normale USB-Ports auf je einen USB/SPDIF-Wandler aufzuteilen.
Hallo Hanno
hast Du schon mal am laufenden Raspi folgenden Befehl ausgeführt:
modprobe g_audio
Weitere Infos gibt es dazu hier: https://developer.ridgerun.com/wiki/index.php/How_to_use_the_audio_gadget_driver
Grüße Joachim
Hallo Max
schau mal diesen Artikel an unter „Install RNDIS Driver“
http://www.circuitbasics.com/raspberry-pi-zero-ethernet-gadget/
Da hab ich ja den zweiten Teil zu dem Artikel vergessen. Muss ich noch nachholen.
Grüße , Joachim
Leider funktioniert diese Anleitung nicht unter win 10.
der Treiber RNDIS ist unauffindbar und die ssh kommt unter Windoof nicht.
Mit meinem Linux klappt es ohne Probleme.
Was stimmt nur nicht mit dem OTG bei Windoof?
Hallo
hast Du Dir diese Anleitung angesehen ?
http://www.circuitbasics.com/raspberry-pi-zero-ethernet-gadget/
Der Treiber wird definitiv in Windows 10 gefunden, da ich selbst einen Rechner mit Windows 10 im Einsatz hab. Was zeigt der Geräte Manager für Geräte an, kannst Du das mal posten?
Grüße Joachim
Hallo,
hat nun funktioniert. musst mit den treibern etwas fummeln und Bonjour 1-2 mal neu aufspielen, dann hat es auch geklappt mit dem RNDIS.
Tolle Anleitung 🙂
Hallo Joachim. Vielen Dank für die Anleitung.
Ist es möglich den PI Zero an einem RPI3 so zu betreiben?
Meine Überlegung ist den PI Zero mit Kamera an den RPI3 anzuschließen und über den RPI3 auf die Kamera die am PI Zero angeschlossen ist zuzugreifen.
Liebe Grüße
Hallo Thomas
ja klar geht , kein Problem. Auf dem Pi3 brauchst nur die grafische Oberfläche starten und dann einen Browser, fertig.
Grüße , Joachim
Prima. Danke für die schnelle Antwort.
Bin gespannt ob ich Programme wie Zoneminder dann nutzen kann.
Hallo,
würde den Pi Zero W gerne als USB Stick im Auto verwenden (Autoradio mit USB).
Welches Dateisystem stellt der Pi als USB Stick zur verfügung? Mein Radio läuft nur mit FAT32.
Gruß Frank
Hallo Frank
hab ich oben schon geschrieben in den Kommentaren, hab es selbst nie probiert, kann also dazu nichts weiter berichten.
g_mass_storage – To have your Pi Zero appear as a mass storage device (flash drive), first create a mini filesystem in a file on your Pi with sudo dd if=/dev/zero of=/piusb.bin bs=512 count=2880 and set it up as a fat32 filesystem with sudo mkdosfs /piusb.bin. Then, when enabling it, add file=/piusb.bin stall=0 onto the end, for example sudo modprobe g_mass_storage file=/piusb.bin stall=0.
Grüße Joachim
Vielen Dank für diese wunderbare Anleitung. Mich würde interessieren, wie ich gleichzeitig eine WLAN Verbindung konfiguriere. Die per wpa_supplicant.conf bestehende, über die ich auch initial auf das Gerät zugreifen konnte, verbindet nämlich nicht mehr, sobald ich den eintrag in der /etc/network/interfaces geamcht habe. Wie müsste ich vorgehen, um die Schnittstelle gleichzeitig neben einer WLAN Verbindung zu betreiben?
Hab das gleiche Problem.
Finde die Anleitung toll! Kann vom Ipad über ssh auf den direkt angeschlossenen pi zero zugreifen.
Jedoch verbindet dieser das wlan nicht mehr. Wenn ich ihn normal an einem Monitor anschliesse funktioniert das wlan wieder…
Vielleicht gibt es dafür eine Lösung?
Vielen lieben Dank
Hallo,
das klappt bei mir so:
/etc/network/interfaces soll eigentlich seit debian stretch nicht mehr benutzt werden
stattdessen die Datei /etc/dhcpcd.conf benutzen.
Dort am Ende folgendes anhängen:
interface usb0
static ip_address=192.168.7.2
#static routers=192.168.7.1
#static domain_name_servers=192.168.7.1
Mit route kann man sehen, wie linux routen will.
pi@raspberrypi:~ $ route
Kernel-IP-Routentabelle
Ziel Router Genmask Flags Metric Ref Use Iface
default fritz.box 0.0.0.0 UG 303 0 0 wlan0
192.168.1.0 0.0.0.0 255.255.255.0 U 303 0 0 wlan0
192.168.7.0 0.0.0.0 255.255.255.0 U 202 0 0 usb0
Wenn hier zwei default Ziel stehen, dann klappt es nicht.
ping 8.8.8.8 läuft dann ins Leere
ping wlan0 8.8.8.8 würde funktionieren
Für den Fall, dass man das Internet vom Laptop über USB Kabel an den Pi Zero geben will, muss man die auskommentierten Zeilen aktivieren.
Hallo Joachin, erstmal ganz herzlichen Dank für Deinen wirklich informativen Blog. Ich bin hier per Zufall rein gestolpert und mich interessiert die Lösung „USB over Ethernet“ wirklich sehr. Verzeih mir meine sehr simplen Fragen, aber der Zero Pi hat doch 2 Micro-USB-Buchsen. Ich habe noch nie einen USB-Ethernet-Adapter mit Micro-USB -> RJ45 gefunden, nur immer die A-Stecker. Wie hast Du das gelöst? Oder habe ich jetzt etwas ganz falsch verstanden?
Hallo Werner
es gibt für den Raspberry Zero diesen Adapter-Kit https://amzn.to/2tapKC9 .
Damit lässt sich jeder USB-Ethernet Adapter anschließen wie in diesem Beispiel
https://amzn.to/2LNWR5f
Außerdem besteht die Möglichkeit des Anschluss mit einem USB-Hub. Da können mehrere Geräte angeschlossen werden. Ich schließe da sogar Ethernet und eine USB-Tastatur gleichzeitig an. Damit hat man maximale Möglichkeiten.
Aber dass ist hier nicht das Thema , sondern es geht hier um Ethernet over USB. Dazu benötigt Du ein einfaches USB-Kabel wie in dem Adapter-Kit vorhanden ist. Also kein Ethernet Adapter. Hiermit kann man jeden Computer mit Linux, Windows oder Mac anschließen. Sofern der Treiber vorhanden oder installiert wird, ist ein zusätzliches Ethernet Gerät vorhanden.
Grüße , Joachim
Hallo,
ich hab den neuen Zero2 und möchte einen Videograbber anschließen – leider braucht der zuviel Strom und geht nicht an – er wird aber mit genügend Strom definitiv laufen (ein Bekannter von mir hat denselben und aber einen Ethernet-Hat zur Stromversorgung) ..
Meine Frage: es sollte doch eigentlich auch mit einem USB-Hub mit Netzgerät auch klappen. Hättest du einen Tip welcher für den Zero2 geeignet ist?
Danke!
Hallo Tom
klar geht das , schau mal hier der liefert 2.4 Ampere und hat ein Netzteil dabei:
https://amzn.to/302gccK
Grüße Joachim