Live data from Hacker News

The sad state of Linux Wi-Fi

blog.sesse.net

11–20 of 274 posts

Re: The sad state of Linux Wi-Fi

#11
I stopped using NetworkManager years ago, I just use wpa_supplicant and dhcpcd directly (well I use the systemd services for these so they're started automatically). I also always name the 2.4GHz and 5GHz networks differently, and connect explicitly to the one I want.

Yes it would be great if NetworkManager did the right things automatically, but the task might be impossible due to hardware and driver quirks. WiFi chips are among the buggiest chips in computers today. Really, the chip. I've seen ridiculous workaround in drivers for multiple vendors' chips. Also, the drivers are complicated and buggy. And the linux drivers don't get quite enough full-time attention from the chip vendor to work solidly. Those windows and mac wifi driver teams are pretty big.

Re: The sad state of Linux Wi-Fi

#12

It only gets worse on headless/embedded/arm machines. The RPi list of Wi-Fi adapters gives something of a picture: http://elinux.org/RPi_USB_Wi-Fi_Adapters Note the number of ones which require some additional configuration steps, downloads, patches, or other monkeying around. And don't even get me started on connman and wicd.

This is pretty easily avoided if you just buy an adapter known to work on Linux with only free software. The driver for this is included in the kernel.

https://www.thinkpenguin.com/gnu-linux/penguin-wireless-n-us...

Re: The sad state of Linux Wi-Fi

#13
post #10
post #5

The author wrote: "a billion mobile devices running Linux and using Wi-Fi all the time". I would bet that Android has a separate implementation of some of the wifi stack to make it work better.

Android is open-source. I suppose that these workarounds would make it into the mainline kernel if they existed.

>Android is open-source.

But none of the WiFi drivers of Android devices are. If they've found an improved way to do WiFi, it's baked into the proprietary drivers.

Re: The sad state of Linux Wi-Fi

#14
post #8

Literally in the /etc/rc.local of the machine I'm on now: echo "STOPPING NETWORK MANAGER. . ." /usr/sbin/service networking stop echo "STOPPED" wpa_supplicant is no picnic, but at least I have more of an idea of WTF is going on.

What distro are you on? On the ones I'm familiar with, the network manager service is called 'NetworkManager' (inc caps) so I need to do 'service NetworkManager stop'

Ubuntu 13.10. NB the process name is still "NetworkManager" despite the string I use to /usr/sbin/service

Re: The sad state of Linux Wi-Fi

#15
One of a handful reasons I don't have Linux on my laptop anymore, even though I like so many things about Linux so much more. I'm not sure about this point, though:

> Connection time. I dislike OS X pretty deeply and think that many of its technical merits are way overblown, but it's got one thing going for it; it connects to an AP fast.

I remember Linux being slow (and unreliable) at this, but OSX is pretty slow too, at least on my MBP. The OS that I've always had the best experience just with connecting to APs is actually Windows.

Re: The sad state of Linux Wi-Fi

#16
post #4

Yep and that is the beauty, but also the pitfall of open source. People can patch to make things work for them, but also as long no one take up the task (or form a group) to fundamentally redo a driver or rewrite the architecture nothing happens. So you should take up the task to change things (find people to help you), that's the strength of open source (community driven)

rtfm. Linux provides the architecture, the vendors ignore it and do it themselves.

The Intel drivers require blobs. Broadcom used to require blobs that you had to cut out of Windows drivers yourself, though I have no idea what that's like now.

The vendors use the excuse that this stuff requires FCC certification, and if they expose the low-level stuff some hax0rs will turn the wi-fi portion of the spectrum into CB radio circa 1979.

The OpenBSD guys used to recommend Atheros, because the specs were open. I have no idea what the current wisdom is. I run Thinkpads, which are BIOS-locked to only Lenovo provided cards, so I've been in iwl-land for a long time.

Re: The sad state of Linux Wi-Fi

#17
My regular laptop with Win7 gave up the other day and I have been attempting to rebuild an old laptop with Linux as a temporary solution. I bought a cheap usb wifi dongle ... and lo and behold, support nightmare ensued.

Eventually, I realized that I didn't make a right choice in buying that tiny dongle. So now I am on phase two of rebuilding old laptop with Linux, with a different brand of usb wifi (double the price of the first cheap one).

I am not a Windows fan anymore, but everything in Windows world just works out of the box. And what's with Linux on daily basis looking to install upgrade for its OS?

Re: The sad state of Linux Wi-Fi

#18
post #11

I stopped using NetworkManager years ago, I just use wpa_supplicant and dhcpcd directly (well I use the systemd services for these so they're started automatically). I also always name the 2.4GHz and 5GHz networks differently, and connect explicitly to the one I want. Yes it would be great if NetworkManager did the right things automatically, but the task might be impossible due to hardware and driver quirks. WiFi ch…

Yeah, NM rarely works correctly

"Ah why don't you open a bug", because people are not interested in making it work (like a lot of "modern" Linux stuff)

If it works manually (dhcp, wpa_supplicant, etc), I don't see what's the problem. Or better, I see: NM doesn't work.

Yeah, unfortunately you're right about WiFi chips. It's about making the bare minimum hardware and shoving everything onto the drivers.

Re: The sad state of Linux Wi-Fi

#19
post #5

The author wrote: "a billion mobile devices running Linux and using Wi-Fi all the time". I would bet that Android has a separate implementation of some of the wifi stack to make it work better.

Under the hood Android just uses wpa_supplicant for connecting to WAPs.

Re: The sad state of Linux Wi-Fi

#20

My regular laptop with Win7 gave up the other day and I have been attempting to rebuild an old laptop with Linux as a temporary solution. I bought a cheap usb wifi dongle ... and lo and behold, support nightmare ensued. Eventually, I realized that I didn't make a right choice in buying that tiny dongle. So now I am on phase two of rebuilding old laptop with Linux, with a different brand of usb wifi (double the price…

Device manufacturers write drivers for Windows. They don't write drivers for Linux. So it's probably (mostly) the fault of the manufacturer.

Another thing is that Windows has an abstraction layer called NDIS which network drivers communicate to. This abstraction is complete enough that if you have a compatibility layer for NDIS, you can usually use Windows drivers directly on Linux. The project is called ndiswrapper. https://en.wikipedia.org/wiki/NDISwrapper Edit: to be specific, maybe it would be helpful if Linux had a similar abstraction for drivers to use?

As for the updates, that depends 100% on your distro and your own settings. If you're on Ubuntu, you can just uninstall the update-notifier, and/or edit /etc/apt/50unattended-upgrades to install updates without notifying you all the time.

Post reply on HN