I’ve previously mentioned how I hadn’t had any problems with the Wi‐Fi support in my Lenovo Yoga 3 Pro (see my full laptop review). After some more time and use I started to notice deteriorating stability and dropped connections both when using it in Windows and Linux. The connectivity problems seemed to get really bad when the laptop ran a little warmer than usual.
I’ve had problems with the Broadcom drivers and firmwares in Linux, and about every two months had the driver replaced by the wrong driver through Windows Update. The proprietary Broadcom firmware is licensed in such a way that it can’t be distributed with many Linux distributions. Adding some additional configuration steps when I wanted to test out new distributions. The cobbled together installation solutions suggested on distribution wikis or forums would break on Kernel updates and often remain broken for days or weeks before Broadcom and the distribution would ship another firmware update. In conclusion, it would seem that a Broadcom Wi‐Fi module is not the best choice for a Linux system.
Additionally, I never really got the Bluetooth stack (provided by the same module as the Wi‐Fi) working on the machine. The module either wasn’t ever recognized as a variant providing Bluetooth and I had to reboot to load it, or it wouldn’t stay connected to any device for more than a few seconds. The problem affected both Windows and Linux to varying degrees depending on the firmware version. The Bluetooth problems were a complete omission from both my review of the Lenovo Yoga 3 Pro and follow‐up article about Linux. I don’t really use Bluetooth all that often, so the problem didn’t come up until a later time.
Still a proprietary option; Intel’s more permissive distribution license makes their Wi‐Fi drivers and firmware much more widely accessible and is included with virtually all Linux distributions. For my Lenovo Yoga 3 Pro’s Broadcom BCM94352Z Wi‐Fi module, a Intel 7260NGW M.2 NGFF module is a good replacement for the default module. Intel’s M.2 NGFF connector differs slightly from Broadcom’s, but both fit in the same standard M.2 socket.
Swapping out the module in my laptop was a simple matter of removing a few screws, loosening the antenna wire, removing the old and sliding the new back into the socket. If you’re interested in replacing the Wi‐Fi module on your own laptop, start by opening up the laptop’s back, locate and identify the Wi‐Fi module, and estimate how confident you are that you’re actually looking at the Wi‐Fi module and could manage to replace it.
I don’t feel confident saying anything about things like battery or data transfer performance of the Broadcom and Intel modules. What I can say for certain is that the network has been much more stable and reliable since installing the Intel module! I can now freely jump between distributions and Live‐demo system images (“LiveCDs”) without having to dig out an USB‐Ethernet adapter and manually retrieving drivers and firmware for my Wi‐Fi. Moving from one part of the house and into range of a secondary Wi‐Fi repeater rather than the main access point no longer kicks me off the network. It has unlocked more potential for my laptop and removed a regularly occurring point of frustration from my life. Overall it was a very cheap upgrade to my laptop and I wish I’d done it earlier.
I considered a fully open‐source alternative in the ThinkPenguin WiFi+Bluetooth M.2 NGFF module. It offers offers an open‐source firmware rather than the proprietary mystery blob offered by Intel. It’s also supported by the Linux kernel and will work out‐of‐the‐box in any modern Linux distribution. Even with it’s closed‐source firmware, Intel’s chip can boast about almost the same driver availability but should be more reliable as it’s much more widely deployed and thus better tested. ThinkPenguin’s option is also more than twice the price of Intel’s module, and more importantly I already had a spare 7260NGW laying around the house. I’ll seriously consider going with a ThinkPenguin product next time if this sort of thing ever becomes a problem again.