byb
Joined 4 years ago
Joined 4 years ago
I was not familiar with the Oric, but while it does look like the LOCI does support cdc_ncm, I am not sure that the pico-usb-wifi is the right firmware for it. The pico-usb-wifi is more aimed at any computer with a USB port, so anything from ~1995-onwards with a USB and IP networking stack - if it runs Linux and has cdc_ncm and cdc_acm - there's a good chance it'll work. Earlier systems might be feasible with PCI/ISA USB cards.
cdc_ncm is really helpful for early 2000s systems and locked-down embedded systems. For example, I've been hacking the Spotify Car Thing, which only has USB device mode. After switching it into host mode, there's no 'way in', so any change required re-flashing the firmware over-and-over. Once I had cdc_ncm set up and attached the pico-usb-wifi, I could telnet in and develop, of course a USB UART likely could have established the same thing.
Personally, I rescued a dozen PogoPlugs from the trash a decade ago and used one to practice self hosting a word press instance. Having a dongle like this would have allowed me to stick it in a corner and run something like librespot or snapcast. Instead, I eventually sent them to the recycler when I moved.
I achieved two goals today: a front page post on hackernews and for being recognized for my work; or more accurately, for being very good at using AI ;)
Now I need to make a nice 3D-printed case.
I admit, I almost couldn't believe it when I turned off my regular blazing fast 802.11ax NIC in the KDE network manager and switched to the pico-usb-wifi and I watched the YouTube "stats for nerds" buffer fully fill up and playback was totally smooth.
https://gitlab.com/baiyibai/superbird-host-mode
I also did not look forward to trying to build in wireless functionality in to NixOS, because it also took 30 minutes to flash the device - I had to lower the transfer block size and add more retries in the flash utility because it kept crashing.
ultimately both the SuperBird work and the RPI pico firmware was about 300 prompts of investigation, research, creating potential approaches, architecting, designing, debugging, testing/validating, and documenting.
Regarding your last two questions... I started out 25 years ago by studying for a CCNA in high school and joined the industry just as first generation 802.11ac devices began hitting the market. From my position, I've worked on every layer from the SoC, PCB, to software. I want to be very careful and say software estimation is very difficult. The main bug (issue #1) I encountered would have been very difficult to diagnose and resolve ten years ago using traditional development workflows.
Great work on PicoGUS.
There will always be an arms race between safe-crackers and safe-builders. Presumably the lessons learned will help make the next generation tougher to break into.