Comment by megous
4 hours ago
Yep, I bought a Brother printer+scanner a few days ago. Their Linux driver is a mess of perl+binary blobs with a completely bizarre architecture where one blob constantly rewrites some pointless config file just so that other binary blob can read it during the same print job. Of course no ARM support. Scanner driver was also a massive blob doing almost nothing but some simple USB communication.
I had it re-written into a nice cups C filter driver, verified against original to produce identical output, easy to install and manage on my Orange Pi boards to serve as a network printer server for this USB only printer, before the printer even arrived.
The same with the scanner driver. Instead of taking a `sane` route, I just had LLM write a small dependency-less Linux C program to get the scans with nice CLI UX on top, fit for my needs.
Everyhting about 10x simpler than the manufacturer code, yet still fully featured.
Had some time so I asked for NEON+AVX2 optimizations. Got them too, so the filter is 5x faster than the original. :D
Good times.
No comments yet
Contribute on Hacker News ↗