Start a Conversation

Unsolved

This post is more than 5 years old

23463

October 13th, 2015 19:00

Why are WIFI drivers on Linux so hard to get right?

I am just curious to understand more about drivers under Linux. Why is it so hard to have working drivers for WIFI cards? Why do we have good drivers for everything else as far as hardware (e.g. printers) ?

I'm not actually asking about proprietary (ie Broadcom) vs. open source. It seems that even open source drivers are hard to get right. What is so difficult to get right?

74 Posts

October 15th, 2015 07:00

open source ones are hard to get right, because most of the time the developers don't get documentation/specifications of the devices, so they have to reverse-engineer and sometimes guess....

And of course no open-source developer has access to all hardware to test. Printer technology doesn't proceed as fast as network tech (think of the wifi standards, b,g,b,ac,.... optimizations using multiple antennae (mimo and stuff) - this is harder to do with different hardware manufacturers, where on printer the interface is well documented. You receive a PDF/Image and "only" have to translate that into the printer's commands.. They have to account for smaller inkjet dots and different inks, but of course much of that processing is also done by the printer itself. (they can print all on their own. connect your camera or insert a SD-card and modern printers can print directly from that without the need for a computer to process the data)

So: No hardware documentation, fast iteration of standards/technology, vast amount of different hw makes it difficult for opensource devs.

But no excuse for closed-source devs, other than not taking the market serious/not wanting to spend money on driver development.

350 Posts

October 15th, 2015 11:00

open source ones are hard to get right, because most of the time the developers don't get documentation/specifications of the devices, so they have to reverse-engineer and sometimes guess....

That's less true in recent years. Intel is the one developing Linux drivers for most of their hardware, including wireless cards.

fast iteration of standards/technology, vast amount of different hw makes it difficult for opensource devs.

That's a more likely hypothesis. I'd add that any wireless technology is inherently difficult to get right because of all the environment factors there are to deal with on top of everything else that makes implementing a complex technology difficult. Even when you build something right, there are plenty of places that have horrible multipath propagation or RF interference issues.

And for what it's worth, many vendors have difficulty writing robust wireless drivers for Windows too.

161 Posts

October 15th, 2015 17:00

Thanks for the responses, fellows! I have a bit more insight into the difficulty. In any case, I am glad I am not a driver writer myself. It seems like a difficult job.

No Events found!

Top