Iemand veranderde een Raspberry Pi Pico W van 6 dollar in een driverloze USB-wifi-adapter. Daarom is dat zo slim

Diagram dat laat zien hoe een Raspberry Pi Pico W werkt als driverloze USB-wifi-adapter

De meeste mensen die een USB-wifi-adapter nodig hebben, geven online ongeveer vijf dollar uit en wachten vervolgens een dag of twee op de bezorging. Softwareontwikkelaar Bái Yìbai vond dat er een interessantere oplossing moest bestaan. In plaats van een wifi-dongle te kopen, besteedde de ontwikkelaar een volledig lang feestweekend aan het schrijven van firmware die een Raspberry Pi Pico W van zes dollar verandert in een volledig driverloze USB-wifi-adapter. Het project trok onlangs de aandacht van Adafruit, dat de firmware uitlichtte en onder de aandacht bracht van een veel groter publiek.

Op het eerste gezicht klinkt dat als bijzonder veel werk om een paar dollar te besparen, maar juist daarom trok dit project onze aandacht. Het draait niet om geld besparen. Het laat zien hoe flexibel de USB-standaard kan zijn wanneer iemand bereid is net even anders te denken.

Normaal gesproken verwacht het besturingssysteem rechtstreeks met de draadloze hardware te communiceren wanneer u een USB-wifi-adapter op een computer aansluit. Dat betekent meestal dat er drivers moeten worden geïnstalleerd die de specifieke wifi-chipset in de adapter begrijpen. Iedere fabrikant gebruikt zijn eigen hardware, firmware en software, waardoor het installeren van drivers traditioneel onderdeel is geweest van het gebruik van een USB-wifi-adapter.

De Raspberry Pi Pico W kiest voor een totaal andere aanpak.

In plaats van zichzelf voor te stellen als een wifi-adapter, vertelt het apparaat de computer dat het simpelweg een USB-Ethernet-adapter is. Elk modern besturingssysteem begrijpt USB-Ethernet-apparaten al, waardoor er niets nieuws hoeft te worden geïnstalleerd. Windows, macOS, Linux en zelfs veel mobiele besturingssystemen bevatten de benodigde ondersteuning al.

Het slimme gedeelte vindt plaats in de Pico zelf. Terwijl de computer denkt dat hij gewoon Ethernet-verkeer via USB verstuurt, zet de Pico dat verkeer op de achtergrond om in wifi-communicatie met behulp van de ingebouwde draadloze radio. Voor het besturingssysteem gebeurt er niets bijzonders. Vanuit het perspectief van de gebruiker beschikt de computer plotseling over een draadloze netwerkverbinding zonder ooit een speciale wifi-driver te laden.

Zie het als het inhuren van een vertaler.

De computer spreekt alleen Ethernet. De draadloze router spreekt alleen wifi. In plaats van de computer een compleet nieuwe taal te leren, luistert de Raspberry Pi Pico simpelweg naar de ene taal en spreekt hij de andere. Beide kanten blijven precies communiceren zoals ze altijd hebben gedaan, terwijl de Pico in het midden de vertaling verzorgt.

Dit idee laat een van de grootste sterke punten van USB zien. USB-apparaten worden niet bepaald door de hardware die erin zit. Ze worden bepaald door wat ze beweren te zijn.

Een toetsenbord meldt zichzelf aan als toetsenbord. Een muis identificeert zichzelf als muis. Een flashdrive identificeert zichzelf als massaopslag. Een webcam verschijnt als videoapparaat. Het besturingssysteem maakt zich er over het algemeen niet druk om welke processor zich in de behuizing bevindt. Het kijkt in plaats daarvan naar de manier waarop het apparaat zich tijdens de USB-enumeratie identificeert.

Die flexibiliteit heeft in de loop der jaren talloze creatieve USB-projecten geïnspireerd. Beveiligingsonderzoekers hebben apparaten gebouwd die zich voordoen als toetsenborden om opdrachten automatisch uit te voeren. Kleine ontwikkelborden zijn veranderd in logic analyzers, oscilloscopen, seriële adapters, MIDI-controllers en debugginginterfaces door simpelweg de firmware te wijzigen die erop draait. De hardware blijft vaak precies hetzelfde, terwijl de USB-identiteit volledig verandert. We behandelden een vergelijkbaar concept in een eerder artikel waarin we uitlegden hoe het veranderen van de identiteit van een USB-apparaat invloed kan hebben op de manier waarop een besturingssysteem ermee omgaat.

Het Raspberry Pi Pico W-project voegt zich bij die steeds groter wordende verzameling slimme USB-hacks. In plaats van zich voor te doen als draadloze hardware, doet het apparaat zich voor als iets dat ieder besturingssysteem al begrijpt. Door compatibiliteit boven complexiteit te kiezen, maakte de ontwikkelaar speciale drivers volledig overbodig.

Misschien is het grappigste gedeelte van het hele project wel de uitleg van de maker zelf. Die geeft openlijk toe dat het kopen van een USB-wifi-adapter van vijf dollar sneller, goedkoper en aanzienlijk eenvoudiger zou zijn geweest. In plaats daarvan besteedde de ontwikkelaar twee dagen en ongeveer één miljoen AI-codingtokens aan het maken van firmware, simpelweg om te ontdekken of het mogelijk was.

Dat was misschien niet de voordeligste oplossing, maar het vat de geest van engineering perfect samen. Soms is het doel niet om het goedkoopste apparaat te bouwen. Soms gaat het erom te bewijzen dat een onconventioneel idee daadwerkelijk werkt.

Projecten zoals dit herinneren ons eraan dat USB veel meer is dan alleen een aansluiting aan de zijkant van uw computer. Achter die vertrouwde rechthoekige stekker zit een opmerkelijk flexibele communicatiestandaard die bijna drie decennia na de introductie nog altijd creatieve oplossingen inspireert.

Verder lezen: Adafruit besteedde onlangs aandacht aan het project en vermeldde softwareontwikkelaar Bái Yìbai als maker van de opensourcefirmware. Het artikel geeft extra achtergrondinformatie over het project en bevat links naar de broncode. U kunt het Engelstalige artikel van Adafruit hier lezen.

Redactionele opmerking: Dit artikel geeft een samenvatting van een door de community ontwikkeld opensourceproject van softwareontwikkelaar Bái Yìbai. De technische concepten zijn vereenvoudigd om lezers te helpen de technische ideeën achter het project te begrijpen zonder dat daarvoor voorkennis van embedded systemen nodig is.

Meer artikelen lezen

Blijf ontdekken met meer verhalen, analyses en technische inzichten.