pico-usb-wifi is an open-source firmware project that converts the Raspberry Pi Pico W into a driverless USB WiFi adapter that works with Windows, Linux, macOS, and other operating systems with USB CDC-NCM support.
The Infineon CYW43439 chip found in the SBC can’t be used directly as a USB to WiFi bridge, and instead, the firmware implements a transparent Layer-2 bridge between the Pico W’s wireless module and USB interfaces. It basically works as an Ethernet to WiFi gateway/bridge, which exposes an Ethernet connection through USB (aka USB gadget mode) used to route Wi-Fi packets from the network.
pico-usb-wifi highlights:
Transparent Layer-2 Bridging between the Pico W’s wireless and USB interfaces
Exposed as a USB CDC-NCM device
IPv4 and IPv6 with no NAT, no private subnet, and no port-forwarding to configure
Out-of-band management and debug consoles over CDC-ACM serial
WPA2-PSK and WPA3-SAE authentication (and open networks)
Throughput – Average 4.75 Mbits/sec; mostly limited by the 12 Mbps USB 1.1 interface
Considering a low-end WiFi USB dongle costs $2-$3 and up, and the limited performance of the solution, it’s mostly useful for an emergency when you need WiFi connectivity and have a spare Raspberry Pi Pico W lying around. I don’t think it’s possible to significantly improve the performance over the native USB port, but as noted by the developer (白一百, baiyibai), leveraging the programmable I/Os on the RP2040 might be an option, and the Pico-100BASE-TX project might be a starting point.
... continue reading