This is incredible, we use QT5.12 for an embedded device application, and this issue has been a really weird one for us and this spot on resolves it! See browsing HN at work does pay off!
The amount of hours wasted by this Qt bug is immeasurable. I'm one of the commenters on the issue 5 years ago and still people are being plagued by it.
Qt should've posted a public advisory announcement when this was discovered. Instead it has plagued users for nearly a decade now because very few Qt developers even know that their Qt5 apps are ruining the WiFi connections of their users.
Would be nice if a major distro mitigated against this publicly.
Why addressing this took so long I think it's worth taking a step back to look into. This isn't some small UI change it impacts system performance in a negative way for so many users.
I have a company-issued laptop with some corporate spyware installed. I'm not actually required to use it for development, so I don't use it. But I have to switch it on from time to time or else I get a nice email from IT.
Anyway whenever I switch it on my wifi goes to shit. Apparently it does some SSID scanning every 5 seconds and then keeps sending the scan result to the "mothership". So I switch it on once or twice a week for an hour or so to do its spying thing.
I've had something trigger every device into asking 'who has xyz ip tell [Mac]'. It made the network unusable and even rebooting systems it would come back since as soon as one device asked the question (sent the broken arp packet) all other devices decided they too needed to know.
The solution that worked was to flip the circuit breaker for the whole house and reset every network device at once.
I have had 2 external USB-power-passthrough laptop doc/hub things with an Ethernet port. They both cause a packet storm on the network if you unplug the computer and leave the ethernet and power plugged in. Causes all my crappy realtek NICs to overheat and flake out. Not exactly the same but super annoying.
Yep. There’s actually a known issue with the CalDigit USB C Pro dock that causes this. It’s when the laptop comes up from or goes to sleep and it takes down the whole network. Fortunately there’s a firmware fix for it but it took a while to put two and two together.
Similar, but not exact, are deb, and likely others, with failed storage will continually dhcprenew as they can’t write the leasefile for the interface. Near ddos as far as windows dhcp server is concerned. Required an arp table trace to find. Bad_Address is usually the symptom.
Depending on what network gear you're using (I'm now switching to Omada, previously/still on some site son UniFi, but lots of even 'prosumer' stuff does this) there are specific mitigations available. All of this falls under the heading of "managing broadcast traffic", which is very important even for smaller networks. The three major categories of traffic on a network are unicast, broadcast, and multicast. Unicast is the normal case of one device talking to a single address. Broadcast involves sending a packet to every single possible recipient in the entire broadcast domain (almost always the subnet). ARP fits in here. Multicast is essentially in between, more efficient then broadcast, can still talk to multiple devices that have signed up to hear it.
Obviously an actual broadcast storm can take down an entire network, but excessive broadcast traffic on WiFi specifically can also suck up a huge amount of airtime for little bandwidth. Every single device has to go to the slowest speed and stop what they're doing to listen and make sure no one is left out. Using STP/RSTP with proper values set and LACP for aggregated interfaces can help prevent inadvertent network loops. Many switches also support some kind of port isolation and explicit per port storm control restricting max numbers of packets/second for unicast/broadcast/multicast traffic. WiFi APs can use proxy ARP to cut it in their domain too. The WAP already of course knows the MACs of every device connected to it by definition, so there isn't generally any reason not to have it answer ARP requests on their behalf then forward the traffic itself.
Not ARP storms per se, But I've noticed new Apple devices don't like router forwarding port 53 to pihole, resulting in bonjour storm and crashing pihole instances(Loosing DNS for the entire network).
Not sure if it's something similar but I had issue where attempting to setup a wifi smart plug locked up the router for a minute (until the smart plug gave up trying to connect to the router). Wired ethernet still works but the routers show 100% cpu usage on its management interface and the 2.4ghz wifi stopped working (didn't check the 5ghz one). I didn't dig in more because my wife was in a zoom meeting.
My most unusual wifi issue was on a system that said it had a great connection (SNR) and was running at high speed, but would just not pass traffic if it was further than about 1m from a base station.
Turned out to have multiple antennas, and the transmit antenna was broken, so it could receive just fine, but not transmit over anything but short distances.
Sometimes the physical layer is the problem, even if the logical layer says everything is fine.
I love these debugging stories but its a total nightmare to deal with these kinds of issues.
At the moment there's this really weird network issue we're having where iPhones are unable to play Netflix on the Wifi.
Every other device works fine but iphone 7, 8 (2 devices) and SE can't stream Netflix.
I noticed there is other things they can't do, for example the page for the fast.com speedtest loads but the speedtest cant be performed.
Same with the Google speedtest. The phones also can't access Apples update server on the wifi.
Other network stuff does work fine, youtube works, browsing works, etc.
The behaviour is consistent across the iphones and all these things work fine on multiple other devices on the same network.
I can't make sense of it at all.
Called internet provider and they didnt know either apparently other people had the same issue but nothing has changed from their side of things.
Called Apple support and they are putting the blame on the network provider.
Tested one of the devices on a different wifi network and works fine.
AFAIK if you're an internet router the packets look the same no matter what device is being used so I think this must be some Apple software issue. Or maybe my router is cursed.
Why on earth would a paint program need to be interested in WiFi roaming? I can understand that Qt might have network management functions, and even that a paint program might want to check for updates or licensing via the Internet, but it does seem bizarre that they would chain through to something that enumerates through interfaces like that.
It's not; Qt helpfully started the polling automatically when a QNetworkAccessManager was instantiated. Which is needed for network access via Qt, such as fetching ads for the free version.
I don't think I would have ever figured this out, if it happened to me.
the very first thing I do when I have a problem on wifi, is to remove wifi from the equation. wired Ethernet is so much better, and so far, the problem always disappears.
I had this exact same problem with Citrix Workspace. I tried disabling Wi-Fi scanning but had mixed results with that for some reason. Now I have bought a cheap Wi-Fi extender for maybe $30 and plugged my desktop’s Ethernet jack into it. So far this is working extremely well. I disabled the other Wi-Fi extending features of the extender, so essentially it’s a huge Wi-Fi to Ethernet dongle.
I find it stupid that I have to employ such a janky solution to this.
Citrix Workspace on the Mac does not have this problem, but using an old MacBook Pro for this was undesirable for various reasons.
Turn autoconfig back on only when you restart your PC or disconnect from the network (maybe someone can automate this by checking connectivity without scanning networks, enabling autoconfig, and then turning it back off)
Nice debugging. Do I understand correctly that the registry reads aren't actually the cause of the problem but rather just a signal that a QNetworkAccessManager is active and causing a scan?
If so, is there a better routine to break on in the debugger to see it actually initiating a scan?
You can see a hint in the debugger screenshot. The call is not directly a registry read but to the iphelper API. There are functions in there that enumerate adapters.
Knowing nothing about this scanning process, I’m just assuming they first enumerated wireless adapters. So you could start with iphelper and then explore deeper into how you tell the card to scan. There’s probably some API for that as well.
"Highly Reviewed" and it comes with a "leave a 5 star review for a kickback" offer. A card like that is grounds for returning the thing and leaving a 1 star review IMHO.
Why? Since when your OS knows what you want to do? Maybe I do intent to enumerate wifi's around me every 10 seconds, so why would OS would be bothered to do such warning? Also Windows has event viewer, you can see there what's going on anyway (consider that the OS warning you want)
Years ago I experienced an issue with a Cyberpower UPS software update that interfered with the system's Bluetooth, causing devices to not be able to connect, inexplicably since the software doesn't use BT for anything.
Only after much online searching did I stumble on another user with the same issue and after uninstalling it and reverting to an earlier version the issue immediately went away. I've since kept a more open mind as to what may be causing network issues.
The main problem is that OSes do a terrible job at reporting Wi-Fi performance. RSSI is a very poor metric by itself, yet is all that's driving the wireless signal strength indicator.
Most wireless links are constantly in a barely working mode that's only made usable by TCP and various retransmission/error-correction algorithms on top, so a lot of connections that people think are "fine" (especially when the signal strength meter is maxed out) are actually not fine at all. There is no magic and those workarounds don't work for real-time streams such as calls/games/etc, so those "fine" connections will crap out miserably as soon as users jump on a call or game.
I'm not sure if there's a way for the OS to get any more info about the link quality/stability from the network card itself, but a purely software-level workaround could be to just track all TCP sessions (should be easy, as that's already managed by the kernel), average the percentage of retransmissions across all of them (to prevent a single bad server from skewing the result) and factor that into the "signal strength" meter.
An easy way to test this yourself is to run a ping towards your default gateway (the IP of your router). You should see a consistently low latency (in the low single-digits range) and no packet loss. If you're seeing losses or significant variation in response times, your connection is bad and you should do something about it (get closer to the AP or install a second one).
Definitely my biggest bugbear with relying in streaming for music - it's the one thing I use apple hardware for (apple tv) and I can't even sync music to it anymore, plus there's no ability to control buffering that's worked so far. So I'm stuck with listening to music knowing it might stutter at any moment...
I think I encountered a similar issue on android. The Alibaba app was enumerating the wireless devices periodically and causing my bluetooth headphones to de-sync.
I didn't dig too far into it beyond verifying that uninstalling Alibaba fixed the problem. But it's super obnoxious that userspace apps are given handles on enough of the wireless stack such that they can break things.
I had issue that sometimes whole home network had lags multiple seconds long.
I noticed strange activity on all leds on ISP router/modem, Wireshark session found that NX no machine player was flooding broadcasts for local network machines discovery and apparently router tried to forward all those broadcasts to all connected devices in the network, what wouldn't be that bad, until there is some device with weak wifi connection that cannot receive them fast enough. some queue on the router filled up, and router stopped routing anything untill it delivered some of those broadcasts to everyone
[+] [-] lobsterboix|3 years ago|reply
[+] [-] avg_dev|3 years ago|reply
[+] [-] rurban|3 years ago|reply
[+] [-] armada651|3 years ago|reply
Qt should've posted a public advisory announcement when this was discovered. Instead it has plagued users for nearly a decade now because very few Qt developers even know that their Qt5 apps are ruining the WiFi connections of their users.
[+] [-] rob_c|3 years ago|reply
Why addressing this took so long I think it's worth taking a step back to look into. This isn't some small UI change it impacts system performance in a negative way for so many users.
[+] [-] BruiseLee|3 years ago|reply
Anyway whenever I switch it on my wifi goes to shit. Apparently it does some SSID scanning every 5 seconds and then keeps sending the scan result to the "mothership". So I switch it on once or twice a week for an hour or so to do its spying thing.
[+] [-] m463|3 years ago|reply
what would it say? how ridiculous.
I'll bet you can't insert USB flash drives either.
[+] [-] mixmastamyk|3 years ago|reply
[+] [-] mrlonglong|3 years ago|reply
[+] [-] AnotherGoodName|3 years ago|reply
I've had something trigger every device into asking 'who has xyz ip tell [Mac]'. It made the network unusable and even rebooting systems it would come back since as soon as one device asked the question (sent the broken arp packet) all other devices decided they too needed to know.
The solution that worked was to flip the circuit breaker for the whole house and reset every network device at once.
[+] [-] klysm|3 years ago|reply
[+] [-] eikenberry|3 years ago|reply
[+] [-] evulhotdog|3 years ago|reply
[+] [-] comprambler|3 years ago|reply
[+] [-] xoa|3 years ago|reply
Obviously an actual broadcast storm can take down an entire network, but excessive broadcast traffic on WiFi specifically can also suck up a huge amount of airtime for little bandwidth. Every single device has to go to the slowest speed and stop what they're doing to listen and make sure no one is left out. Using STP/RSTP with proper values set and LACP for aggregated interfaces can help prevent inadvertent network loops. Many switches also support some kind of port isolation and explicit per port storm control restricting max numbers of packets/second for unicast/broadcast/multicast traffic. WiFi APs can use proxy ARP to cut it in their domain too. The WAP already of course knows the MACs of every device connected to it by definition, so there isn't generally any reason not to have it answer ARP requests on their behalf then forward the traffic itself.
[+] [-] mh-|3 years ago|reply
[+] [-] Abishek_Muthian|3 years ago|reply
[+] [-] neurostimulant|3 years ago|reply
[+] [-] dylan604|3 years ago|reply
[+] [-] chedabob|3 years ago|reply
[+] [-] hbn|3 years ago|reply
https://mnpn.github.io/blog/airplay-network-disaster
Previous discussion:
https://news.ycombinator.com/item?id=31706283
[+] [-] brigade|3 years ago|reply
At least it finally got fixed after 6 years...
[+] [-] zdw|3 years ago|reply
Turned out to have multiple antennas, and the transmit antenna was broken, so it could receive just fine, but not transmit over anything but short distances.
Sometimes the physical layer is the problem, even if the logical layer says everything is fine.
[+] [-] klysm|3 years ago|reply
[+] [-] networkwanderer|3 years ago|reply
At the moment there's this really weird network issue we're having where iPhones are unable to play Netflix on the Wifi. Every other device works fine but iphone 7, 8 (2 devices) and SE can't stream Netflix. I noticed there is other things they can't do, for example the page for the fast.com speedtest loads but the speedtest cant be performed. Same with the Google speedtest. The phones also can't access Apples update server on the wifi. Other network stuff does work fine, youtube works, browsing works, etc. The behaviour is consistent across the iphones and all these things work fine on multiple other devices on the same network.
I can't make sense of it at all.
Called internet provider and they didnt know either apparently other people had the same issue but nothing has changed from their side of things. Called Apple support and they are putting the blame on the network provider.
Tested one of the devices on a different wifi network and works fine.
AFAIK if you're an internet router the packets look the same no matter what device is being used so I think this must be some Apple software issue. Or maybe my router is cursed.
[+] [-] mrb|3 years ago|reply
All your symptoms are explained by this (some but not all devices are affected, some but not all services are unreachable).
[+] [-] daze42|3 years ago|reply
[+] [-] martyvis|3 years ago|reply
[+] [-] brigade|3 years ago|reply
[+] [-] naikrovek|3 years ago|reply
the very first thing I do when I have a problem on wifi, is to remove wifi from the equation. wired Ethernet is so much better, and so far, the problem always disappears.
[+] [-] massysett|3 years ago|reply
I find it stupid that I have to employ such a janky solution to this.
Citrix Workspace on the Mac does not have this problem, but using an old MacBook Pro for this was undesirable for various reasons.
[+] [-] RicoElectrico|3 years ago|reply
https://www.reddit.com/r/GlobalOffensive/comments/3ahg59/fix...
Turn autoconfig back on only when you restart your PC or disconnect from the network (maybe someone can automate this by checking connectivity without scanning networks, enabling autoconfig, and then turning it back off)
[+] [-] valleyer|3 years ago|reply
If so, is there a better routine to break on in the debugger to see it actually initiating a scan?
[+] [-] muststopmyths|3 years ago|reply
Knowing nothing about this scanning process, I’m just assuming they first enumerated wireless adapters. So you could start with iphelper and then explore deeper into how you tell the card to scan. There’s probably some API for that as well.
[+] [-] Groxx|3 years ago|reply
So now I pretty much exclusively buy USB-2 hubs. Very little saturates 2.0 speed anyway.
[+] [-] oynqr|3 years ago|reply
[+] [-] ReactiveJelly|3 years ago|reply
[+] [-] josephcsible|3 years ago|reply
[+] [-] jandrese|3 years ago|reply
[+] [-] proactivesvcs|3 years ago|reply
[+] [-] zionic|3 years ago|reply
[+] [-] unnouinceput|3 years ago|reply
[+] [-] Springtime|3 years ago|reply
Only after much online searching did I stumble on another user with the same issue and after uninstalling it and reverting to an earlier version the issue immediately went away. I've since kept a more open mind as to what may be causing network issues.
[+] [-] brainzap|3 years ago|reply
[+] [-] Nextgrid|3 years ago|reply
Most wireless links are constantly in a barely working mode that's only made usable by TCP and various retransmission/error-correction algorithms on top, so a lot of connections that people think are "fine" (especially when the signal strength meter is maxed out) are actually not fine at all. There is no magic and those workarounds don't work for real-time streams such as calls/games/etc, so those "fine" connections will crap out miserably as soon as users jump on a call or game.
I'm not sure if there's a way for the OS to get any more info about the link quality/stability from the network card itself, but a purely software-level workaround could be to just track all TCP sessions (should be easy, as that's already managed by the kernel), average the percentage of retransmissions across all of them (to prevent a single bad server from skewing the result) and factor that into the "signal strength" meter.
An easy way to test this yourself is to run a ping towards your default gateway (the IP of your router). You should see a consistently low latency (in the low single-digits range) and no packet loss. If you're seeing losses or significant variation in response times, your connection is bad and you should do something about it (get closer to the AP or install a second one).
[+] [-] wizofaus|3 years ago|reply
[+] [-] throwaway09223|3 years ago|reply
I didn't dig too far into it beyond verifying that uninstalling Alibaba fixed the problem. But it's super obnoxious that userspace apps are given handles on enough of the wireless stack such that they can break things.
[+] [-] unknown|3 years ago|reply
[deleted]
[+] [-] Szpadel|3 years ago|reply