Pi Zero als smart USB-stick 1

Door synoniem op dinsdag 12 november 2019 22:24 - Reacties (10)
Categorie: Raspberry Pi, Views: 3.635

De hardware
De Pi Zero is letterlijk en figuurlijk de kleinste Pi uit de serie. Fysiek maar een halve creditcard en maar een processor met één core en maar 512 Mb geheugen. Daarmee is hij echt voor inbouw in projecten bedoeld en niet voor een mediaspeler of andere zwaardere toepassingen. Daarnaast zijn ook niet alle connectoren aanwezig. En de wel aanwezige connectoren zijn ook nog eens micro en mini versie. Allemaal bedoeld om het printje zo klein mogelijk te houden.

Maar het interessantste onderdeel van een Zero is dat hij een USB OTG microconnector heeft. Daarmee kan de Zero tegelijk zowel een randapparaat/gadget als een master device zijn. Dat maakte mij nieuwsgierig naar de mogelijkheden om van de Zero een smart USB-stick te maken. Bij het rond zoeken op het web zijn er diverse handleidingen te vinden maar niet altijd compleet of voor een oude versie van Raspbian. Vandaar dat ik het resultaat van mijn projectje voor de liefhebbers in twee of drie afleveringen hier op schrijf.

Om het maximale aan functionaliteit uit de Zero te halen heb ik gekozen voor de Pi Zero W. Dus de versie met Wifi en Bluetooth aan boord. Ik wil ook dat het op een USB-stick lijkt met een gewone connector. Hier zijn verschillende oplossingen voor te koop met de keuze om zelf te solderen of door een tweede printplaatje met kunststof moertjes en boutjes vast te klemmen aan de Zero.


Zo ziet het printplaatje er uit, verkrijgbaar bij diverse leveranciers. De mijne heb ik op Aliexpress gekocht. (Geen affiliate je kan ook zelf zoeken op Pi Zero USB addon board).

En hier kun je zien dat de contacten op de Zero geklemd worden.

Overigens heb ik hiervoor ook een 3D geprinte behuizing gevonden op Thinkiverse waarmee het geheel echt op een USB-stick uit de begintijd lijkt. Lomp en zonder verloopje geen twee naast of onder elkaar te gebruiken. Wil je dat wel kun natuurlijk ook gelijk een micro - USB A verloopkabeltje gebruiken zonder het extra addon boardje.

De installatie
Als eerste wilde ik ssh en een wifi verbinding configuren zodat ik achter mijn gewone PC alles kan installeren en configuren. Dit doe je voor ssh door op een nieuw gekopieerd SD-kaartje in de root van de bootpartitie een leeg bestand ssh aan te maken:
code:
1
$ touch /ssh


Voor het inschakelen van wifi maak je op dezelfde locatie het bestand wpa_supplicant.conf met de volgende inhoud:
code:
1
2
3
4
5
6
7
8
9
10
11
country=NL
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
    ssid="APnaam"
    psk="Wachtwoord"
    key_mgmt=WPA-PSK
    proto=RSN
    group=CCMP
    pairwise=CCMP
}


Helaas ben ik na veel gedoe er achter gekomen dat dit voor Raspbian 10/Buster niet werkt. Misschien dat er inmiddels een workaround is maar ik heb, na een halve dag hier aan verspild te hebben, er voor gekozen om Raspbian 9/Stretch te gaan gebruiken. Dat werkte direct bij de eerste keer opstarten met deze instellingen.

Wordt vervolgd.

Volgende:  Pi Zero als smart USB-stick 2 11-'19 Pi Zero als smart USB-stick 2
Volgende: Netwerk booten van een Raspberry Pi 10-'19 Netwerk booten van een Raspberry Pi

Reacties


Door Tweakers user Rmg, woensdag 13 november 2019 09:30

[code]ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=NL

network={
ssid="----------"
psk="----------"
key_mgmt=WPA-PSK
}[/quote]

Dit is mijn wpa_supplicant.conf die ik met buster in de boot dir heb gezet, zie zo geen hele grote verschillen maar misschien heb je er iets aan.

https://nl.banggood.com/B...1_3-Zero-W-p-1305226.html ik heb een variant van deze, deze moet wel gesoldeerd worden, maar is ook kleiner :Y)

Ik heb toen ik er nog mee aan het klooien was cdc serial en ethernet geprobeerd, serial heeft het voordeel dat het ook werkt als het configureren van netwerk uitgeschakeld is door (windows) policies. :Y)

Door Tweakers user Bozevkwa, woensdag 13 november 2019 11:09

Ik heb deze handleiding gebruikt: https://www.raspberrypi.org/forums/viewtopic.php?f=94&t=212224&p=1309630#p1309630
Werkt prima, alleen nog heb ik het nog niet werken op een Chromebook.

Door Tweakers user i-chat, woensdag 13 november 2019 20:56

gewoon even zodat ik snap waar dit over gaat.

je bouwt een pi zero w zo om dat ie als usb-slave device kan werken wanneer je hem in de usb-poort van je pc ramt. maar wat doe je er dan mee gebruiken als usb-stick (opslag), of maak je er een usb-printer van of wat is precies het doel?

Door Tweakers user synoniem, woensdag 13 november 2019 21:28

i-chat schreef op woensdag 13 november 2019 @ 20:56:
gewoon even zodat ik snap waar dit over gaat.

je bouwt een pi zero w zo om dat ie als usb-slave device kan werken wanneer je hem in de usb-poort van je pc ramt. maar wat doe je er dan mee gebruiken als usb-stick (opslag), of maak je er een usb-printer van of wat is precies het doel?
De fun is dat je er van alles van kan maken. Je kan bijvoorbeeld de opslag vanaf het netwerk benaderen en verversen. Je kan er een mediastreamer a la de chromecast van maken. Een webcam of draadloze printerserver. Maar ook netwerk en pc pentesten, zelfs een met een wachtwoord beveiligde pc binnendringen met Poisontap.

Kortom heel veel mogelijkheden omdat het een complete computer is en geen microcontroller. Zolang een apparaat maar een USB poort heeft kan je van alles.

Door Tweakers user synoniem, woensdag 13 november 2019 21:38

[url url="https://synoniem.tweakblogs.net/blog/18202/pi-zero-als-smart-usb-stick-1#r_251022" external=0]

Dit is mijn wpa_supplicant.conf die ik met buster in de boot dir heb gezet, zie zo geen hele grote verschillen maar misschien heb je er iets aan.
Daarmee ben ik begonnen en nog een stuk of tien varianten maar toen ik na veel zoeken las dat mensen met Buster wpa_supplicant moesten downgraden om het werkend te krijgen heb ik maar de Stretch versie genomen.
https://nl.banggood.com/B...1_3-Zero-W-p-1305226.html ik heb een variant van deze, deze moet wel gesoldeerd worden, maar is ook kleiner :Y)
Solderen is niet mijn hobby maar die is dan wel weer handig als het kleiner moet.
Ik heb toen ik er nog mee aan het klooien was cdc serial en ethernet geprobeerd, serial heeft het voordeel dat het ook werkt als het configureren van netwerk uitgeschakeld is door (windows) policies. :Y)
Ik ben bezig met een combinatie van serial, ethernet en massstorage op basis van de g_multi module maar dat komt nog.

[Reactie gewijzigd op woensdag 13 november 2019 21:39]


Door Tweakers user i-chat, woensdag 13 november 2019 22:46

synoniem schreef op woensdag 13 november 2019 @ 21:28:
[...]

De fun is dat je er van alles van kan maken. Je kan bijvoorbeeld de opslag vanaf het netwerk benaderen en verversen. Je kan er een mediastreamer a la de chromecast van maken. Een webcam of draadloze printerserver. Maar ook netwerk en pc pentesten, zelfs een met een wachtwoord beveiligde pc binnendringen met Poisontap.

Kortom heel veel mogelijkheden omdat het een complete computer is en geen microcontroller. Zolang een apparaat maar een USB poort heeft kan je van alles.
Sorry ik heb misschien mijn vraag niet duidelijk gesteld want ik ben me bewust van de mogelijkheden van een pi (en zeker ook een pi zero w: die ik zelf met een dac-hat, gebruik voor een smartspeaker setup), een andere pi-zero wil ik inzetten als controle-unit om een beveiligingscamera te bouwen. MAAR mijn vraag is meer, wat doe je met een pi die als 'slave' verbonden is met je pc.

: voor zover mij bekend kun je een usb:slave device inrichten volgens een aantal profielen,
: waaronder bijvoorbeeld: opslag (externe schijf), input (muis toetsenbord
: fingerprintreader etc), multimedia (geluidskaart,video-caputere, midi etc) en vast nog
: een aantal anderen.
: Echter zie ik in geen van die rollen een echte meerwaarde voor een arm-based mini
: computer.
: Wat kun je voor innovatiefs doen met zo'n ding als usb:slave, dat niet (of veel minder goed)
: kan via een normale wifi/network verbinding.

[Reactie gewijzigd op woensdag 13 november 2019 22:49]


Door Tweakers user synoniem, woensdag 13 november 2019 23:03

Er zijn mensen die hun 2FA hier op installeren, de opslagfunctie encrypten, als chromecast gebruiken of andermans computer mee binnen dringen. Of in de auto vanaf hun telefoon naar de radio streamen. Zoek maar eens op internet wat er allemaal al bedacht is.

Bedenk wel dat een Pi Zero tegelijkertijd USB master en slave kan zijn. En hij kan bijvoorbeeld tegelijkertijd wifi AP en client met opslagruimte (al dan niet ge-encrypted) zijn.

En natuurlijk, wat mij betreft, ik vind het allemaal leuk, gewoon omdat het kan. Ik zou er geen bedrijfskritische systemen op installeren.

Door Tweakers user Rmg, donderdag 14 november 2019 09:17

i-chat schreef op woensdag 13 november 2019 @ 22:46:
[...]


Sorry ik heb misschien mijn vraag niet duidelijk gesteld want ik ben me bewust van de mogelijkheden van een pi (en zeker ook een pi zero w: die ik zelf met een dac-hat, gebruik voor een smartspeaker setup), een andere pi-zero wil ik inzetten als controle-unit om een beveiligingscamera te bouwen. MAAR mijn vraag is meer, wat doe je met een pi die als 'slave' verbonden is met je pc.

: voor zover mij bekend kun je een usb:slave device inrichten volgens een aantal profielen,
: waaronder bijvoorbeeld: opslag (externe schijf), input (muis toetsenbord
: fingerprintreader etc), multimedia (geluidskaart,video-caputere, midi etc) en vast nog
: een aantal anderen.
: Echter zie ik in geen van die rollen een echte meerwaarde voor een arm-based mini
: computer.
: Wat kun je voor innovatiefs doen met zo'n ding als usb:slave, dat niet (of veel minder goed)
: kan via een normale wifi/network verbinding.
Encrypted storage is een veel gebruikte, je kan op je pi een encrypte paritite hebben die alleen geladen wordt als je je authenticeerd op de pi zelf, door in te loggen via usb serieel of usb networking.

Het is natuurlijk ook een mooie manier om te leren over usb slave & master & linux

Door Tweakers user Shamalamadindon, vrijdag 15 november 2019 12:24

Linkje naar de Thingiverse pagina? Ben zelf met iets soortgelijks bezig :)

Door Tweakers user synoniem, vrijdag 15 november 2019 17:03

Shamalamadindon schreef op vrijdag 15 november 2019 @ 12:24:
Linkje naar de Thingiverse pagina? Ben zelf met iets soortgelijks bezig :)
Ik heb deze laten printen https://www.thingiverse.com/thing:3773848

Reageren is niet meer mogelijk