I had the same idea for a Plan 9 USB WiFi using an ESP32. You serve the wifi device as a ether(3) device which negates the need for janky side band config as the config is done over the same 9P interface. Never got around to it.
I’ve been looking for a good solution for doing the exact opposite, being able to connect stuff through USB in my bench, and see them pop up in my office desktop as if they were usb devices.
The closest I’ve gotten is using a raspberry pi in the workbench, but for some weird devices that’s sometimes not good enough.
If you have CAT5/6 between the locations, USB-over-CAT5/6 adapters are inexpensive and work quite well. I've used OREI's successfully over >60m. But there are many options, often with different limits on cable length.
Interesting that Gemini said it was infeasible. It should be aware that using a Pico W as a transparent ethernet bridge has been done several times over in open source projects, for example on BlueSCSI (emulating a Daynaport SCSI-Ethernet adapter) and PicoMEM and my own PicoGUS project (emulating an NE2000 Ethernet adapter).
> Can you use a raspberry pi pico W as a USB WiFi adapter
> Yes, it is possible to use a Raspberry Pi Pico W as a USB Wi-Fi adapter, but it is a project that requires custom firmware and a clear understanding of your goals.
Then goes off and lists the things you’ll need which at a cursory glance seems like good starting points.
Yes, but. I asked Perplexity Pro the same fact question (sports) three days in a row after correcting its error the first day and having the correction acknowledged with a promise to get it right in the future. Same error on second day, same promise. Third day: correct. Perhaps it needs to be in the "Slow" classroom....
Exactly, bit banging an 8-bit bus isn't that different from pushing the data out of the USB port. It would be great to try an LLM trained on pre-1900 documents and ask it if powered flight is possible.
English around 1800-1900 reads almost like modern English. At least if the author didn't write in an overly pretentious style, which was more common back then
Unless there is a hardware limitation or the hardware does not support it, anything in software is possible.
Gemini and all these other LLMs are designed to convince you that they have "awareness" which they do not have any of the sort. They are neither sentient nor do they have consciousness
Bad take. Some things are feasible and some things are not, "anything is possible" is a useless framework. Example: go convert two smartphones to communicate p2p over their 4g radios - it's all software!
LLM "awareness" is similarly irrelevant. They process information usefully, in a way grounded in reality, and that's that.
You seem to be all over the place, most of it by not reading the parent's comment. So let's break it all down.
> Bad take. Some things are feasible and some things are not, "anything is possible" is a useless framework.
It would help if you quoted the entire comment rather than removing the context and further giving a very bad example afterwards:
> Example: go convert two smartphones to communicate p2p over their 4g radios - it's all software!
Nice try. That is a hardware limitation in the 4G radio which is designed to connect to an operator mast. Even if you wanted to do it in software, the hardware does not support that P2P use-case which is what I already said.
> LLM "awareness" is similarly irrelevant.
Exactly. There is no such thing as awareness in LLMs.
The parent comment I replied to believed that an element of awareness had to be present to give an answer because this was done "several times over" in open source projects. Which that is inaccurate in the context of LLM research.
>> "It should be aware that using a Pico W as a transparent ethernet bridge has been done several times over in open source projects..."
> They process information usefully, in a way grounded in reality, and that's that.
Useful to those who know when it is either mostly correct or outright wrong.
Clearly in this example, Gemini doesn't even know if its own answers are grounded in reality and consequently people using them are unable to determine if the results they bring are true or not and there are countless examples of that.
In a similar but opposite vein, I am going on a vacation and I wanted to share the stupidly expensive internet in my room at night with the family so I am likely bringing a raspberry pi to have as a travel router attached to my Mac. In this case, I can use the RaspAP project: https://raspap.com/
This is slightly different in that I do want a NAT.
You can use it as a repeater, so the whole family can just use the same network/password we use at home. And it is so small, you can run it from a power bank for hours.
Totally pedantic deep dive: the Pico has a USB FS PHY (the numbered versions don't directly correlate to line rate, and FS was defined in 1.0) - the signaling rate is 12Mb/s, but it's impossible to achieve transfers at this data rate under any circumstance:
- USB FS has a 1ms frame limit (HS is 125µs)
- UBS FS Bulk is thusly limited to ~19 transactions x 64 bytes maximum (HS is 512)
- USB FS Isochronous can do 1023 byte transfers, but you can only fit one of those in a 1ms frame (resulting in a giant quantization hole in the packet)
- Focusing on bulk only: the token packet, ACK handshake, inter-packet bus turnaround time minimums, framing bits, CRC bits, and periodic FS SOF packets mean that the actual theoretical maximum data rate is ~81% of the signaling rate
- Bit stuffing optimality issues (required for clock recovery) eat an additional several percent on most data, up to ~17% on pathological data
Therefore: ~9.5Mb/s is the best theoretical data rate that can be obtained with optimal host and device IP and an ideal application layer.
Realistically, ~8Mb/s is the most one can expect on real hardware with an ideal application (and this is optimistically high in my experience.)
Can you have the Pico operate as an access point? Would love to be able to use this to connect over wifi to a printer (printer in client mode), with the printer and macos talking directly over IP without needing to configure any other routing/forwarding on macos.
No. The printer cannot connect to the wifi network that the macbook is connected to. I don't want to expose a USB printer to the network. I just want to allow the printer to connect to an AP created by the Macbook/PiZero/ESP32/insert_cheap_widget device and then allow the Macbook to connect to the printer's IP.
I don't have any idea of what is the purpose of this.
Do you want to share an USB device across the WiFi?
If so, why not use the USB-IP protocol? It is already part of the Linux kernel, has implementation for Windows and doesn't require additional hardware.
Oooooh, now I'm thinking... you could design a simple circuitboard that holds multiple picos (surface mounted) and uses the USB data pads on the back to pull all the USB ports out to an onboard USB hub basically allowing you to add a multitude of wifi adapters to a project in one USB cable. Would be great for War Driving!
It's one of the neat features of the AsciiDoc language. The user is able to change captions mid document, in this case :figure-caption:. AsciiDoc and Antora are things I've invested a lot of my time into
I'm kind of fascinated by the first diagram on the page. It sits so firmly in the uncanny valley for me and I can't put my finger on why. By itself every part looks ok and normal, but as a whole it just screams AI to me. I don't know if its the color choices or the composition or something else. It all just feels that little bit off.
I mean, I know its AI, the page says so itself, no one is trying to hide it. But it also just gives me AI vibes on such a subliminal level that I can't figure out why.
To me there's something about the "AI Slop Font" where it instantly triggers that uncanny valley. I guess since it's kind of an average of a bunch of fonts so it's somehow familiar but also unfamiliar at the same time.
Actually, all of them are fallible, very incompetent machines that are good at writing text. They're not people, they don't have any qualities of people except the really bad ones, and they are absolutely miserable at reasoning.
The only people I know who use Gemini are unemployed.
The only people I know who use Claude vibe-code everything, often including their communication -- they probably let Claude kiss their kids goodnight.
Everyone else uses ChatGPT, and the world is worse off for it.
They are machines. "it" is the only acceptable pronoun, and personifying these machines adds emotion into the discussion and the use of the tool. They are not people. They do not behave like people. If you feel like they do, and you're e.g. autistic, that's entirely fair, so please take my word that they do not behave sufficiently like people in any way.
Nothing they do mirrors the behavior of engineers. They instead mimic the language of engineers. I understand that this is all it takes in a lot of circles to gain respect, which is quite a sad state for those circles, but that doesn't mean its a universal experience.
I'm actually tired that people put stupid questions in ChatGPT and then present in with a straight face as a source of truth. Sometimes it hallucinates completely, sometimes the conditions or regulation have changed and it gives false answers and no-one cares. Simple collaborations that was possible before now turn into unnecessary arguing. Some ChatGPT users aren't even aware that LLMs hallucinate, I just pointed it out recently and was accused of mansplaining and being a tinfoil hat.
> Nothing they do mirrors ...
"Mirror, mirror on the wall, who is the fairest of them all?"
Gemini writes pretty shitty code in my experience. We tried it out for a grand total of half a day at work before deciding it wasn't worth our time and switched back to Opus.
ChatGPT writes like it's life depends on it and refuses to correct its own mistakes. It'll figure out a way to write 4k lines for something that could've been done in 500
Meta comment to your meta comment : this is a very personal opinion but I cannot stop myself from thinking less about your message (even though I agree with it), just because of that edgy wannabe way to go about naming Microsoft. You want to say Microsoft say that, you want to say Github say that but if you say a vaguely insulting name only to have to specify what you actually mean... It doesn't bring anything to the conversation, except lower the level, and if a company has flaws as big as Microsoft you don't need to resort to childish name calling to expose them. This is my personal opinion.
> just because of that edgy wannabe way to go about naming Microsoft.
I think it stopped being edgy and transitioned to a symbol of user frustration the moment their CEO tried to address the slop without acknowledging their customer pain.
It is not much different from the micro$oft used here often.
Two arm cores at 133 MHz. That's already more powerful than my first computer. For $4. It qualifies as a computer on it's own. It runs Linux just a hacked version with an emulated MMU
one million Claude Tokens (assuming you are on opus) = 5 USD = the very dongle you tried to replace.
Add the cost of the rasberry pico, you'll have an easier time buying the wifi dongle. The project is cool thought to learn about networks, NAT, Proxys, ect...
No, it's not really easier to buy a Wi-Fi dongle. My target device is the Spotify Car Thing and SuperBird doesn't have Wi-Fi components. My Claude Code Pro subscription was idle, so it cost me nothing. Also, according to an article from Tom's Hardware from two years ago, four million Picos have already shipped, so I've unlocked this ability for let's say 500,000 devices. Finally, my day job is in the Wi-Fi industry... this wasn't a learning exercise.
The author's tone when they discuss the cost of the project is self-deprecating. They know it would have been simpler to just buy one.
But also, the author has given the community a great gift, both directly (the blog post and the project!) and indirectly (the idea: what else can be implemented in similar ways).
The closest I’ve gotten is using a raspberry pi in the workbench, but for some weird devices that’s sometimes not good enough.
https://www.orei.com/products/usb-over-ethernet-extender-upt...
> Can you use a raspberry pi pico W as a USB WiFi adapter
> Yes, it is possible to use a Raspberry Pi Pico W as a USB Wi-Fi adapter, but it is a project that requires custom firmware and a clear understanding of your goals.
Then goes off and lists the things you’ll need which at a cursory glance seems like good starting points.
You can ask follow up questions or point to potential feasibility and it will change its answer.
If you do have cross-session memory enabled, I agree this is not glowing performance. If you don't, then I think it's working exactly as intended.
You know, like the same for horoscopes and psychics.
I just got major Dotcom vibes
Great work on PicoGUS.
https://news.ycombinator.com/item?id=46590280
Unless there is a hardware limitation or the hardware does not support it, anything in software is possible.
Gemini and all these other LLMs are designed to convince you that they have "awareness" which they do not have any of the sort. They are neither sentient nor do they have consciousness
LLM "awareness" is similarly irrelevant. They process information usefully, in a way grounded in reality, and that's that.
> Bad take. Some things are feasible and some things are not, "anything is possible" is a useless framework.
It would help if you quoted the entire comment rather than removing the context and further giving a very bad example afterwards:
> Example: go convert two smartphones to communicate p2p over their 4g radios - it's all software!
Nice try. That is a hardware limitation in the 4G radio which is designed to connect to an operator mast. Even if you wanted to do it in software, the hardware does not support that P2P use-case which is what I already said.
> LLM "awareness" is similarly irrelevant.
Exactly. There is no such thing as awareness in LLMs.
The parent comment I replied to believed that an element of awareness had to be present to give an answer because this was done "several times over" in open source projects. Which that is inaccurate in the context of LLM research.
>> "It should be aware that using a Pico W as a transparent ethernet bridge has been done several times over in open source projects..."
> They process information usefully, in a way grounded in reality, and that's that.
Useful to those who know when it is either mostly correct or outright wrong.
Clearly in this example, Gemini doesn't even know if its own answers are grounded in reality and consequently people using them are unable to determine if the results they bring are true or not and there are countless examples of that.
So you know what you just said is not true.
Sounds like a intentional firmware (aka: software) limitation to me?
In a similar but opposite vein, I am going on a vacation and I wanted to share the stupidly expensive internet in my room at night with the family so I am likely bringing a raspberry pi to have as a travel router attached to my Mac. In this case, I can use the RaspAP project: https://raspap.com/
This is slightly different in that I do want a NAT.
You can use it as a repeater, so the whole family can just use the same network/password we use at home. And it is so small, you can run it from a power bank for hours.
Unfortunately, they are not sold anymore.
Isn't that slow for WiFi?
I mean it's an interesting learning experience, but isn't that strictly worse than pretty much any WiFi dongle?
But that's exactly the point of such experience. It's a challenge, and the guy/gal nailed it.
- USB FS has a 1ms frame limit (HS is 125µs)
- UBS FS Bulk is thusly limited to ~19 transactions x 64 bytes maximum (HS is 512)
- USB FS Isochronous can do 1023 byte transfers, but you can only fit one of those in a 1ms frame (resulting in a giant quantization hole in the packet)
- Focusing on bulk only: the token packet, ACK handshake, inter-packet bus turnaround time minimums, framing bits, CRC bits, and periodic FS SOF packets mean that the actual theoretical maximum data rate is ~81% of the signaling rate
- Bit stuffing optimality issues (required for clock recovery) eat an additional several percent on most data, up to ~17% on pathological data
Therefore: ~9.5Mb/s is the best theoretical data rate that can be obtained with optimal host and device IP and an ideal application layer.
Realistically, ~8Mb/s is the most one can expect on real hardware with an ideal application (and this is optimistically high in my experience.)
If you'd rather just expose a USB printer to the network, a Pi Zero is a better fit.
Do you want to share an USB device across the WiFi?
If so, why not use the USB-IP protocol? It is already part of the Linux kernel, has implementation for Windows and doesn't require additional hardware.
https://baiyibai-antora.gitlab.io
I mean, I know its AI, the page says so itself, no one is trying to hide it. But it also just gives me AI vibes on such a subliminal level that I can't figure out why.
Also details like the light blue boxes being swapped.
Where I do think it ads value is "AI slop 2". This is somehow even better comprehensible than an average photo.
Even better, no need to hassle with the WiFi settings on the target system.
In wrong hands, Pico W is actually a bit terrifying device, because it combines USB and wireless.
Claude is that easy to get along with smart hard working guy who just gets on with it and builds it double quick.
ChatGPT is the eager senior developer who says it can be done but can’t actually work it out and fluffs it.
The only people I know who use Gemini are unemployed.
The only people I know who use Claude vibe-code everything, often including their communication -- they probably let Claude kiss their kids goodnight.
Everyone else uses ChatGPT, and the world is worse off for it.
They are machines. "it" is the only acceptable pronoun, and personifying these machines adds emotion into the discussion and the use of the tool. They are not people. They do not behave like people. If you feel like they do, and you're e.g. autistic, that's entirely fair, so please take my word that they do not behave sufficiently like people in any way.
Nothing they do mirrors the behavior of engineers. They instead mimic the language of engineers. I understand that this is all it takes in a lot of circles to gain respect, which is quite a sad state for those circles, but that doesn't mean its a universal experience.
I'm actually tired that people put stupid questions in ChatGPT and then present in with a straight face as a source of truth. Sometimes it hallucinates completely, sometimes the conditions or regulation have changed and it gives false answers and no-one cares. Simple collaborations that was possible before now turn into unnecessary arguing. Some ChatGPT users aren't even aware that LLMs hallucinate, I just pointed it out recently and was accused of mansplaining and being a tinfoil hat.
> Nothing they do mirrors ...
"Mirror, mirror on the wall, who is the fairest of them all?"
ChatGPT writes like it's life depends on it and refuses to correct its own mistakes. It'll figure out a way to write 4k lines for something that could've been done in 500
I think it stopped being edgy and transitioned to a symbol of user frustration the moment their CEO tried to address the slop without acknowledging their customer pain.
It is not much different from the micro$oft used here often.
It's about quality of discourse among us, and Microsoft has nothing to do with that.
https://github.com/tvlad1234/pico-rv32ima
I wonder why not use the Pico's RISC-V cores.
But also, the author has given the community a great gift, both directly (the blog post and the project!) and indirectly (the idea: what else can be implemented in similar ways).
The author learned nothing though...