Raspberry Pi Zero W und die OTG Funktion

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:

  1. die Schnittstelle auf dem Raspberry 2/3 nicht vorhanden ist
  2. 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:

USB-OTG-Schnittstelle-Raspberry-Pi-Zero-W-1
USB-OTG-Schnittstelle
 Jetzt gibt es eine ganz wichtige Sache. Wie unten im Bild angezeigt, funktioniert OTG nur an dem USB Port und nicht an dem ersten Power-USB Port. BITTE nur dort anschließen, sonst funktioniert es nicht.

 

 Im zweiten Teil , zeige ich Dir wie Du diesen Raspberry Pi Zero W mit Windows verbindest. Hierzu muss ein Treiber installiert werden. Unter Linux sollte es direkt ohne Installation funktionieren.
Viel Spaß wünscht Dir Joachim

 

7 Kommentare

  1. 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.

  2. 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.

    1. 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?

    1. 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?

        1. 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 🙂

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*