3 ms·
I know the code for the Wi-Fi side is a blob infested mess, as usual. But by now, ESP32 has an open source MAC implementation, blob free. So we know with certa
by ACCount37 11mo ago
I know the code for the Wi-Fi side is a blob infested mess, as usual. But by now, ESP32 has an open source MAC implementation, blob free.
So we know with certainty that it's possible to make Wi-Fi hardware work in a blob-free fashion on a production grade MCU.
- fidotron 11mo agoRight. We also know how to do code signing and deterministic builds so you could build it and ensure the code you see is what is being executed and that is what is certified. It's just rather boring to get all the ducks in a row to do it.
- ACCount37 11mo agoSince when is any of that a requirement?
- fidotron 11mo agoNone of it is a requirement to work on the happy path. To work as part of a reasonably secure platform that still allows people to develop on it and responsibly sell consumer hardware based on it, yes, it's necessary.
- ACCount37 11mo agoI'm a big fan of just getting it to work on the happy path. In this case, the rest of it sounds like doing extra work for no reason. If you don't use the "happy path" builds, the choice is yours, and the consequences are your own. Simple as.
- fidotron 11mo agoThat tinkering attitude is the root of the problem in the Arduino ecosystem. Just do things properly - it only has to be done by the vendor anyway, and no one else needs to touch it.
- aDyslecticCrow 11mo agoWelcome to the swamp of code certification testing. If I'm lucky to get sources, I also get a PDF describing the optimization flags allowed, and a checksum of every source file. It depends on protocol and domain, but it is very real. Blobs are popular for a reason, and it's often for the sake of the user of the blob not the maker of the blob.
- zoobab 11mo ago"But by now, ESP32 has an open source MAC implementation, blob free." Which one?
- ACCount37 11mo agoThere was at least one that's in Rust, I remember coming across a talk about it. Done with zero vendor support - not even register lists, all reverse engineering and massive balls.