đź…­

Replace the problematic Broadcom Wi-Fi module with an Intel model

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, I started to notice deteriorating stability and dropped connections both when using it in Windows and Linux. The connectivity problems seemed to get bad when the laptop ran a little warmer than usual.

I’ve had problems with the Broadcom drivers and firmware 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 isn’t the best choice for a Linux system.

Additionally, I never 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’d 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 the follow-up article about Linux. I don’t use Bluetooth all that often, so the problem didn’t come until a later time.

While still a proprietary option; Intel’s more permissive distribution license makes its 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, an 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.

The M.2 NGFF factor sockets is a standard socket that you’ll find in many popular Linux laptops; including the Dell XPS line of developer laptops.

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 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 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 (“Live CDs”) without having to dig out a USB-Ethernet adapter and manually retrieving drivers and firmware for my Wi-Fi. Moving from one part of the house and into the 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 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 its closed-source firmware, Intel’s chip can boast about almost the same driver availability but should be more reliable as its 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 lying around the house. I’ll seriously consider going with a ThinkPenguin product next time if this sort of thing ever becomes a problem again.