network_icon

SSH naar Pi Zero via usb

Sluit een Pi Zero (zonder netwerk) met een usb-datakabel op je pc aan en log in met ssh vanaf de pc.
Zet onder Windows 10 met balenaEtcher de Raspbian-image op een sd-kaartje.
Steek het sd-kaartje opnieuw in de pc en maak in de boot-partitie een leeg bestandje ‘ssd’ zonder extensie aan.
Nu moeten we nog config.txt en cmdline.txt (ook in de boot-partities) aanpassen, zodat de Pi straks via usb een privé-netwerkje met de pc kan opzetten. Open config.txt in een teksteditor die Unix-regeleindes kan maken (bijvoorbeeld Notepad++). Voeg onderaan deze regel toe om de usb networking module te activeren:

dtoverlay=dwc2

Sla config.txt op en open vervolgens cmdline.txt. De inhoud hiervan staat op een enkele regel. Voeg helemaal achteraan een spatie en het onderstaande commando toe. Zorg dat je daarbij niet per ongeluk een nieuwe regel aanmaakt:

modules-load=dwc2,g_ether

Sla cmdline.txt op. Laat Windows het sd-kaartje uitwerpen en stop het in de Pi. We zullen alleen de normale usb-poort gebruiken om de Pi op de pc aan te sluiten. De pc kan via die poort zowel data als genoeg stroom voor de Pi overbrengen. Sluit daarom een micro-usb naar usb-kabeltje aan op de peripheral usb-poort van de Pi (dat is de microusb-aansluiting die het dichtst bij de hdmi-aansluiting zit, de andere is alleen voor de stroomtoevoer (die hebben we nu niet nodig).

Open in Windows 10 de Opdrachtprompt en voer de volgende twee commando’s na elkaar uit:

ssh-keygen -R raspberrypi.local
ssh pi@raspberrypi.local

Het eerste commando verwijdert eventuele eerdere ssh-sleutels voor raspberrypi.local (bijvoorbeeld als je eerder al een andere Pi op deze manier met de pc had verbonden). Je hoeft het alleen de eerste keer te gebruiken. Je kunt ook de ssh-client PuTTY gebruiken. Voor oudere Windows-versies moet je sowieso nog een ssh-client installeren.

Wanneer de verbinding met de Pi via ssh tot stand is gekomen, krijg je met

ifconfig usb0

de netwerkgegevens te zien. Nu kun je de Pi programmeren en bijvoorbeeld met scp bestanden uitwisselen.

Trouble shooting

Er zijn twee belangrijke punten waar het mis kan gaan. Ten eerste, zorg dat je de juiste usb-kabel gebruikt. Niet het eerste de beste stroomkabeltje, maar een (OTG)-kabel die behalve stroom ook data kan transporteren. Punt twee: let erop dat je de juiste micro-usb poort gebruikt. Dus niet de power-usbpoort die op de hoek zit, maar de data-usbpoort die vlakbij de chip (SoC) zit.

Nu nog internet graag

We gaan in dit geval uit van Windows op je pc. Terwijl de Pi Zero is aangesloten op je pc, open je het Netwerkcentrum. Je ziet daar dan een “Onbekend netwerk” met een ethernettoegang (in ons geval was dat “Ethernet 4”).  Klik op de netwerkverbinding waarmee de pc toegang heeft tot internet (in ons geval was dat “Ethernet 2”) en klik op Eigenschappen. Klik vervolgens op het tabblad Delen. Zet een vinkje voor “Andere netwerkgebruikers mogen verbinding maken via de internetverbinding van deze computer”. In het pull-down-menu kies je dan de (virtuele) ethernetverbinding waar de pi aan hangt (bij ons “Ethernet 4”). Klik op OK en Sluiten en ga met ssh naar de Pi zoals boven beschreven. Test de internetverbinding van de Pi met het commando:

ping -c 5 www.google.com
  • Share post