I have one of those weird edge cases:
I own HP Laserjet 1020 printer, which requires it's firmware binary blob to be uploaded from a computer after each reboot.
I have to load one kernel module first to do it, then remove that module and load another one for printer to be recognized by CUPS. There's lots of hand written udev rules and other magical rituals involved to keep things working, and I still have to reboot printer once in a while.
I cry swear and curse HP for such retarded design every time I has to deal with it.
But while other users don't have to spoil their clean systems with binary blobs and dance around their machines, there's proprietary firmware running inside their printers anyway.
At least I get a degree of control over it, and I only store it as data on my machine, technically.