- cross-posted to:
- linux@programming.dev
- cross-posted to:
- linux@programming.dev
Great read, with some amusing asides.
Shots fired!
Found this to be an interesting read, and well written. Thanks for sharing it.
Yeah, came to the comments to say exactly this! The writer has an RSS feed as well - added to my reader!! 😃 cheers, op - what a find!
This is amazing. I love discovering new/interesting developer blogs like this one, which is a challenge considering they’re all buried by SEO bullshit.
Trivia you can use to woo potential partners Here’s 443 pages on generic HID implementations.
My pants!
I would try doing this for my Intel WiFi/Bluetooth card that doesn’t support Linux (WiFi works anyway though). Since the CTRL key is dead (again) and the whole build of it is not to my liking I think I’ll get an old Windows 10 laptop to replace the whole system instead.
When I installed Ubuntu on an HP laptop recently, I got a message that I didn’t have the drivers for my internal Intel wireless chip. It was at this point that I realized the laptop also didn’t have an Ethernet port. The installer told me to put the drivers on a flashdrive. Thankfully the error spelled out enough for me to find the drivers online. There were a few different versions and I put them all on the stick.
Bluetooth didn’t work, but I realized that was fixed by just enabling the service with systemctl.
Shit… kind of makes me want to learn Rust now!
Anyway, wonderful write up. No BS, both shortcuts if you just want to the code and in depth links e.g. https://www.beyondlogic.org/usbnutshell/usb1.shtml all written with a fun tone. Plenty of actually useful content showing us all that sure, it is not trivial to write a (USB) driver but it is also probably not as hard as we imagine. Particularly enjoyed the :
- userspace driver, namely being able to tinker locally without feel the pressure to push back the work to Linux the kernel itself
libusb
and other drivers, namely that there is a myriad of points to start from already, not just writing reverse engineering bits in memory to the new device and hoping it’ll work