"Microsoft has a rich history when it comes to breaking Wi-Fi"
Reaslistically, replace "Wi-Fi" with "just about everything".
Microsoft has broken Wi-Fi connectivity for some users with a recent Windows update. At issue is the December 12 KB5033375 security update that included all the improvements from December 4's KB5032288 preview – including, it appears, Wi-Fi woes. User are complaining on social media and Microsoft's own forums about the issue …
The Linux Mint update manager comes with a dire warning that changing kernel may result in loss of wifi, video acceleration and other features. Which of courses raises the question of why the hell anyone thinks it's a good thing to bake all drivers into the kernel, in complete contradiction to the do-one-thing-and-do-it-well philosophy which supposedly underpins Linux (put your hand down at the back there, Pöttering_.
Because "booting" is one of those things and to do that well, you need drivers in your OS for all possible hardware.
P.S. drivers haven't been baked into the kernel in decades, kernel modules exist instead, so in this case you could:
- Roll back to an earlier kernel (and your bootloader will have a list of previous ones that worked just fine)
- Upgrade just the module in question
- Blacklist just the module in question if it's not important.
《And these have to come with the kernel ... why?》
Unlike Unix the Linux kernel doesn't have a stable kernel-to-driver interface (like the System V DDI/DKI.) Vendors like Redhat freeze onto a particular kernel version for each of their major release versions and define a stable kernel interface kABI that is mostly preserved over that versions life (typically 10 years.) Very new hardware might not have a driver campatible with say RHEL7 (which still has six months life :) So swings and roundabouts.
As a consequence device drivers are more tightly coupled to a particular kernel version than might otherwise be the case.
If the kernel changes a data structure or interface then potentially all device driver modules will require rebuilding. You can usually get away with force loading driver modules from slightly earlier kernels but as you would expect its always a lottery.
This is obviously a problem for binary only device drivers some of which get around this with an open source shim layer between the Linux kernel and the binary module (creating in effect a fixed kernel interface for that binary module.) Clearly this is likely to be a lowest common denominator approach.
The "why" of the "why" is that Linus et al. don't want kernel development constrainted by an onus to provide backward compatibility and I suspect also as a disincentive to ship closed source binary modules although I imagine the increasing prevalence of firmware binary blobs for most significant new hardware probably make this less of a motive.
How you booting your kernel without drivers for the hardware inside your machine?
Wifi drivers you can make the case that they don't need to be baked in to the core but nothing is nowadays -every driver is in a primitive RAMDISK (initrd - where the RD stands for...) and the kernel boots from whatever source (disk, USB, PXE, etc.), reads the initrd, and then loads all the necessary driver modules for the machine it finds itself on.
So the drivers for your wifi are in the initrd that you need to have to boot, even if you don't need wifi to boot.
Same way that your Windows OS has drivers for a TON of stuff that you don't have, burned into the Windows disk / ISO / WIM already, so that you can actually boot and use things and connect to Windows Update without having to get a driver from Windows Update to do so (and thus forming a vicious circle).
Which of courses raises the question of why the hell anyone thinks it's a good thing to bake all drivers into the kernel, in complete contradiction to the do-one-thing-and-do-it-well philosophy
Linux has a monolithic kernel, as did previous Unixi. Aside from tradition, this is because micro-kernels while being a super idea in theory often suffer performance wise in the implementation.
The do-one-thing-and-do-it-well philosophy is usually meant for the domain of user-space applications, which are mostly provided by GNU in this case.
IIRC the kernel in MacOS is a hybrid kernel, with mostly BSD userspace.
Rewriting the Linux kernel to be non-monolithic would take more than a couple of rainy Sundays...
How were most of the "features" listed in KB5033375 in any way related to "security"? It really annoys me when I'm basically told I have to install a patch to get legitimate security updates only to find that most of it is MS bloat-cack.
Is it just me or can I hear the pitter-patter of tiny Linux feet heading towards my machine ...?
In the same way windows xp was based on 2000, which was based on nt4.
[Linux is being a right pain for me too btw, I've been lucky with Wi-Fi but unlucky with graphics with a fairly new amd 6950h laptop. Lots of patches still going into the kernel, and the whole x11 / Wayland thing...]
How on Earth is Linux less stable on wifi than Windows?
You have to be a little more selective with the adapters you buy, I'll grant you that, because some chipsets don't have proper drivers (they are few and far between) but on the whole I think Linux is a lot more stable on wifi than Windows these days and has been for quite some time now...it's been well over a decade since I had any wifi issues with Linux.
If you want to experience genuinely shitty wifi look no further than Apple...their wifi stability is hot garbage by comparison. Their kit is fine on your home broadband ISP wifi, but the minute you install something more sophisticated, like a mesh, the shit hits the fan. It's awful. I'm not sure how the algorithms work in Apple kit for picking the appropriate hotspot in a mesh, but they almost never pick the nearest hotspot and they get a bit clingy when you walk around, they don't hop very quickly or even at all on some setups.
and therein lies the problem That fails when you are re-purposing an old Windows machine with Linux (as I am doing at the moment). That's when a machine which never had a problem with WiFi under windows, suddenly has problems left right an centre with Linux. And your tech agnostic (and ignorant) boss is aware of it.
Don't get me wrong. Linux is fucking awesome is so many ways compared to Windows. But as a direct replacement in the *general* desktop arena ... no way no how
It is quite rare though for this problem to occur. Piss poor wifi in Linux was essentially a meme at one stage and I think the Linux community has gone above and beyond to squash it. These days the ball is in the wifi chip manufacturers court...they either release schematics for the drivers or they don't. Typically these wifi cards / dongles are shit no matter what OS you use because software support is usually terrible...just because a wifi card appears to work under an OS, doesn't mean it actually is...problems manifest in various ways...like forcing shittier cryptography or negotiating slower speeds than are otherwise possible, falling back to 2.4ghz etc etc.
By default, Linux will try and use the best available settings. Windows will keep trading down until it works...so you'll always have the appearance of a "working" connection on Windows, even if it is sub-optimal...whereas on Linux, you can run into issues if the available driver is crap and/or the chip struggles with certain AP configs.
If the driver says something is supported, Linux will try and use it regardless of the outcome...Windows will give up and fallback to settings that work.
On top of that, Linux (and by extension Android) is the only OS that I've seen properly functional roaming on...as in you can walk around and see it hopping access points...Windows, MacOS, iOS etc are a bit grippy and only let go of an AP if it goes out of range or the signal quality drops below a certain point.
Currently the only wifi chipsets that are universally shit (even on Windows) that have piss poor support on Linux are made by Marvell. Realtek, Intel and Atheros are generally pretty solid...Qualcomm is 50/50.
It used to be that Atheros was the best supported under Linux, but I'm finding Intel and Realtek to be pretty damned good these days...especially Intel...a lot of their wifi chips work better on Linux than anything else. The Intel AX2x0 chips are especially *mwah* solid.
I always advise people to buy wifi kit based on the chipset not the brand of device...because that's where the confusion sets in...it actually doesn't matter all that much which brand you buy, unless you want specific physical features, like detachable antennas etc etc.
I also advise that if people want a cheap yet solid wifi setup at home, they should look for second hand wifi kit that has just gone EOL that can be flashed with OpenWRT...I've deployed a lot of "dead" Meraki kit with OpenWRT and whilst I hate the Meraki ecosystem, you can pick them up dirt cheap when they go EOL and they run OpenWRT beautifully and they usually have great wifi chips in them.
For example, I recently deployed a bunch of old Meraki APs from about 4-5 years ago at my parents house. Brand new those APs would have been hundreds of pounds each plus an annual license...but you can pick them up second hand for £20 or less then flash OpenWRT to them. No cloud license required and they're absolutely rock solid. The capability of the kit is absolute overkill for my parents, they have what would have been a wifi solution that cost thousands of pounds for less than £100...but because it is overkill it will last them for ages...it supports both 2.4ghz and 5ghz bands, WPA3 and will run at up to 1.2gbps...so, apart from throughput, they're at the cutting edge for peanuts.
https://www.ebay.co.uk/itm/126036233225
It takes a bit of effort to flash them, it's non-trivial for a lot of people...but it's absolutely worth it. Especially given the price to performance...people sell them for peanuts thinking they're paper weights...they aren't!
I've deployed tons of them for home users looking for better wifi, never had a single complaint and most people come back for more or send mates my way...you pick em up for sub £20, flash OpenWRT to them, then sell them on (including installation) for around £40-£50...set them and forget them...stops people buying shit kit, gives them amazing value for money and keeps people off your back needing you to perform troubleshooting on bullshit wifi problems. Marry them up with a decent low end Mikrotik router behind their ISP router and you've got a brilliant setup that requires very little maintenance and has very few problems because it is enterprise grade kit for the price of low-tier consumer kit...if an AP dies, you just pop round with a freshly minted one, take the dud one out, put the fresh one in, hey presto...problem solved.
Best part is, there is always a decent supply of replacement APs, because of Cisco and their dumbass cloud licensing and their eWaste producing short support cycles coupled with the endless queue of fuckwits paying through the nose for Cisco kit for businesses. To those morons I tip my hat and say, thanks guys, your dumbass spending and vendor lock sold to you by "Dick Turpin Tech Solutions" is my gain.
That's not a Windows vs Linux problem, it' s a purchasing problem.
Same as Winmodems. Buy a winmodem, sure you might be able to get it to work on Linux but it's never going to be great.
But a "Win-Wifi", same problem.
But an actual, natively supported device (not NDISWrapper like someone else said!) with a mature driver and it'll work well.
I literally worked on a single-floppy router distro back in the day, and I had PCMCIA Wifi, PCMCIA GSM, PCMCIA 56K modem and PCMCIA 10Base2 Ethernet running my entire household (family included). Never had a problem. For years I had a wifi card in "AP" mode running my home. Then I moved to a WRT54G (Linux-based!) running my house. What makes you think "wifi" and "linux" was the problem, rather than just junky hardware?
Don't buy the very cheapest junk that's entirely reliant on a binary blob that you have no idea what it's doing to do even the simplest of things. Because then you'll have problems on any operating system for which native drivers are not produced.
Tell me: Would you buy a bluetooth adaptor that doesn't work on Linux? Or a webcam that only has Mac drivers? It's the same problem.
Buy natively-supported hardware (which there is so much of, especially networking-wise, for Linux that it's just laughable) or deal with the problems you created for yourself with literally-unsupported hardware.
And if your Linux support for a device only runs a static binary built for libc5 and a 2.4 kernel, think whether you'd buy a wifi card that only worked on 32-bit Windows XP.
《And if your Linux support for a device only runs a static binary built for libc5 and a 2.4 kernel,》
Not quite but I had to smile. I have a FujiXerox laser that has a compatible if ancient Linux print driver from Brother (same engine) but the binaries are 32 bit and require a 32 bit runtime loader (ld.so) and glibc. The big surprise was that putting the required ld.so and glibc in a convenient location and little patchelf magic it all worked under RHEL8 (AL8.) Still a decent network postscript printer even if that driver hadn't worked.
Actually I have found locating old Windows drivers more of a pain than those for old Linux or Unix systems.
I know its no help, but my laptop, running Manjaro (so Arch based rather than Debian) Linux, was entirely unaffected by the Kernel WiFi backport cock-up...
The issue was a Debian issue rather than a Linux Kernel issue - otherwise the Arch Kernel would have been affected as well, which it wasn't, at least on my laptop - and yes I went through 3 (or was it 4?) kernels in the last fortnight; last time I booted I was on 6.6.7-2 (or was it 3?)... none of which broke WiFi.
Have a beer because, well its the last week of "work" for a while.
How do you know it wasn't just a shit laptop?
There are no bad Macs simply because there aren't that many Macs to choose from, every Mac is a known quantity. Apple has complete control over the hardware. Microsoft not so much.
I dislike both solutions for various reasons, but thinking that Apple is better than Microsoft...it's like picking which skip full of used needles you want to jump in.
I have. A major MacOS update caused the hard drive to run at about 1% of the previous speed. I successfully copied EVERYTHING off of it, without any errors, but it took a week. (Not exaggerating, it really did take about 7 days.)
According to the Apple GEEneious Bar folks, the drive was toast (they showed me the diagnostic results, which, being designed to be interpreted by the GEEneious Bar workers, was the one word "FAILED"), and said that OS updates sometimes reveal previously-undetected hardware faults.
Bullcrap approaching critical mass. That's not how hard drives fail, and I have several failed hard drives around as proof. My bet is that the OS update contained a firmware update to the drive (possibly designed for a different drive model), which caused the drive to go into a limp-along mode. Hence it did technically work, but not at a usable speed.
Does the GEEneious Bar listen? Of course not. $150 for a replacement hard drive, which when I went to pick it up they tried to charge $200. I started to make a scene in the store, so a manager quickly dropped it back to the agreed price. Afterward, I found that the drive they installed was bigger than agreed; I think they were out of the one we agreed on so they put in the next size up and tried to charge me the extra without asking first.
I recently bought a Lenovo laptop for my grand daughter and straight away replaced Windows with Linux. Wifi worked perfectly with no problems at all.
Pity the keyboard did not work. In my 40 years in the industry that is the first time a manufacturer has managed to bork the bios to disable keyboard. Must be down to these new found keyboard specs. I only got in working in the end by installing the latest version of kernel (6.5.10) in Fedora 39.
I feel for all those Linux devs who have to put up with this crap.But they fixed it !
It wasn't all that great to start with. For the last year or so my laptop has sometimes failed to immediately reconnect when it wakes up. Curiously it seems that waiting at the login screen when it had failed to connect immediately meant it connected faster than actually trying to login.
So the options were:
* Connected on lid open: Login, no delay.
* Not connected on lid open: Wait (if I notice) for 20 seconds then login, no further delay.
* Not connected on lid open: Login, realise that I have no connection so have to wait nearly a minute before a connection is established.
Irritating. Weird.