4 ms·
Running Linux (or another free software OS) on all your peripherals would be one way to solve it. Another way would be to not have so much CPU power in the per
by teddyh 4mo ago
Running Linux (or another free software OS) on all your peripherals would be one way to solve it. Another way would be to not have so much CPU power in the peripherals in the first place. I sometimes suspect that the CPU in all our peripherals are present only to take control away from the computer owner; i.e. us. I instead suggest that the computer should have a device driver; that’s it. No computing should take place in peripherals at all. It may sometimes be necessary, but most often not.
- inigyou 4mo agoBut that is it's own problem too, do you remember winmodems? They did move it to the host computer and the free software world still complained
- teddyh 4mo agoOnly because the device itself was undocumented!
- duskwuff 4mo agoI think you are underestimating just how many computing devices have CPUs of some sort in them. For example: - Optical mice have a processor running an image processing algorithm to detect motion. - Hard disks have a processor implementing error correction, block remapping, and SMART. SSDs and SD cards are similar. - Pretty much any USB device has a processor to implement the USB stack - pure hardware implementations exist but are uncommon (and are little more than hard-wired CPUs). etc, etc. Exposing all of that complexity to the CPU is not useful, and would dramatically increase the scope of software that has to be written to make anything work.
- inigyou 4mo agoYes, this. It's good that the mouse, by default, only returns dx/dy/buttons. It's bad that you can't reprogram it easily if you want to and it's bad you can't view the source code of how it works. I expect reprogramming to require a JTAG board. Easily reprogrammable (via USB) peripherals will be a malware vector really quickly.
- duskwuff 4mo agoNot just that, but also - it's not as though there's a single Optical Mouse Interface which every mouse uses internally. There's probably hundreds of slightly different sensors, all of which work differently - having a single, standard interface to them (USB HID) is a lot better than having to support every single one with its own driver. (And that's even without getting into the bandwidth issue - the camera on a modern optical mouse captures far more data than it can transfer over USB.)