5 ms·
One problem is that WiFi is completely opaque, especially but not only on Linux. You get no low-level and no debugging information. It just connects and you get
by captainmuon 12y ago
One problem is that WiFi is completely opaque, especially but not only on Linux. You get no low-level and no debugging information. It just connects and you get some bars, or it doesn't. I never know where to start when debugging a bad connection, and I wouldn't know where to start if I wanted to improve Linux WiFi.
For example, sometimes I can see a network, but can't connect. Why? I'd like to see something like "sent 100 low level packets, checksum failed on 88 of them, disconnecting".
Or I'd like some way to see whether receiving or sending is the problem - do I get garbled packets, or do I get good ones, but no answers to the ones I send.
Sometimes I know a connection is WPA2, but it stubbornly tries another encryption method. Why? Does the AP suggest it, or is it my configuration? Sometimes I can't enter a text password, it only accepts a fixed-length hexadecimal string (happens on Windows a lot). Again why? There is no good central low-level log file or debug tool that lets me see what is going on.
- zercool 12y agoYou're right. This is incredibly frusturating. Are there any good work arounds?
- switch007 12y agoI've never dug in to it before, but some googling just suggested /sys/kernel/debug/ieee80211/phy*/ e.g. # cat /sys/kernel/debug/ieee80211/phy*/netdev:*/stations/*/rc_stats rate throughput ewma prob this prob this succ/attempt success attempts 1 0.6 68.0 100.0 0( 0) 9 12 ...
- gnu8 12y agoLooks interesting, but which devices and drivers does it apply to? I have no expectation that this would work over every common wifi interface in current laptops (to say nothing of the typical home gateway with their embedded linux distribution and custom proprietary drivers).
- switch007 12y agoAny driver which supports debugfs. Proprietary drivers of course will always be problematic. Manufacturers could always agree on some kind of debugging protocol... I'm sure we'd up with only one "standard" ;-)
- phunge 12y agoI've wondered the same thing. Up until now I've avoided digging deep into my issues -- I've never found good docs, googling leads you to misleading forum posts and generally had bad signal-to-noise, and the WiFi stack is nested so deep that it requires a lot of knowledge. But I guess I assumed that the underlying stuff was generally correct and written by experts in the field. Maybe it's time a motivated layman like me dug in and started asking dumb questions.
- jdong 12y ago>Sometimes I can't enter a text password, it only accepts a fixed-length hexadecimal string (happens on Windows a lot). Again why? Um, maybe because WEP passphrases are fixed length hexadecimal strings?
- swinglock 12y agoI feel the same way on Windows, but I've never attempted to dig deeper.
- simpsond 12y agoWireshark is a good tool for inspecting 802.11 frames, but it's still a pain. If you do go down this path, I highly recommend adding a capture filter for your adapters MAC, so you don't get flooded with management frames. Filter string: wlan addr 00:00:00:00:00:00.
- tomn 12y agoNetworkManager doesn't relay any error information to the interface at all, but it's log files are quite detailed. At least on systemd based distributions (tested on arch), running journalctl -fu NetworkManager will show you the live logs of NetworkManager interleaved with the logs of it's subprocesses; this has lots of juicy information that i've found quite usefull for debugging.
- aye 12y ago> journalctl -fu NetworkManager Perfectly sums up my feelings about NetworkManager.
- JetSpiegel 12y agoWhat so bad about Network Manager? nmcli is really useful.
- rphlx 12y agoUnnecessarily complex daemon; three lines in /etc/network/interfaces and a few shell scripts will suffice, thank you very much.
- andor 12y agoWhat's good for you might not be the best option for the majority of people. Making things that "just work" means handling complexity for users, and leads to somewhat complex code. Debian's static network configuration is great for servers and okay for desktops that never move. But it's nothing that you should put on laptops operated by enterprise users (the people that pay for Linux desktop development). Imagine users calling support from a Starbucks, trying the edit the wifi config files.
- clarry 12y agoHandling complexity by piling more complexity on top is sadly very common, even so common that people think it's inevitable. But it's not the only way. The other way can sometimes be harder, and it tends to take more thought, but in the end you may actually solve and get rid of complexity.
- klodolph 12y agoIt's opaque on Linux, but that's not the big problem. It's opaque on OS X and Windows as well, but nobody cares because it works. I wonder if we'll eventually get the kind of stability that we currently have with ethernet drivers... once the speeds are high enough that we stop upgrading, once the chips go into long-term production instead of changing every few years, once things settle down...
- vacri 12y agoGiven that wifi has been constantly evolving since it started, it's not going to settle on chips any time soon. 802.11ac has just been released, prompting a new round of chips.
- deathanatos 12y agoI disagree. It's possible to get advanced output from various command line tools in Linux, and it's possible to get networking information. It's much more difficult to do that on other OSs, especially Windows. I loathe debugging network troubles in Windows, because there is essentially no information. OS X has most of your standard tools, though some in some odd places, e.g., printing the routing table not being done with `route`. Furthermore, I care. My 2013 Macbook Pro is terribly slow to associate to even nearby APs, and drops the connection often. I have no idea why, because it is opaque: how do you list nearby APs? their signal strength or encryption type? I didn't learn this until just now, and it's, /System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport -s Seriously. There's no way I'll remember it, and if you're reaching for it, you likely can't Google it. And it appears to be deprecated. It's a much shorter command in Linux, and in general I find it easier to determine if the problem is the network connection or DHCP failure. IIRC, Network Manager's icon changes — admittedly not much – depending on which one it's on, so even without command line tools, I have some idea what's going on. OS X has the troubleshooter dialog, but that's never been able to fix the problem. (In general, I feel, those things never do. They also never tell you what they're doing. For all I know, they're just progress bars and timers.) WiFi off, WiFi on fixes a lot of problems.
- chrisbolt 12y ago