Intel 7260 Mini PCI-Express Hardware Hack

Recently I was involved in a project to migrate our workstations on wheels (WOWs) from Windows 7 to an Ubuntu Linux based thin client solution. All was going well until we got to our Stinger R6 (healthcare) carts. These carts had the Intel 7260 Mini PCI-Express card in them. These cards are designed for laptops and have the capability to be put into airplane mode.

The Problem: Intel 7260 Mini PCI-Express Card

On our WOWs, there was no switch nor key combination to control airplane mode. The Windows driver was obviously set to ignore the hardware kill switch. Linux, on the other hand, was more than happy to kill the wireless because it thought that the kill switch was in airplane mode. From the command line running rfkill list gave the following:

#rfkill list

0: phy0: Wireless LAN
	Soft blocked: no
	Hard blocked: yes
#

The Solution: Tape

As indicated the driver definitely thought the hardware switch was in the airplane mode. I tried a few things to see if I could get Linux to ignore that fact, but was never successful. Finally, I posted to the Ubuntu Forums and a wise guru responded. They suggested another thread that involved how to defeat the hardware switch. The fix is cleverly simple and definitely a hack.

Pin Diagram for a Mini PCI-Express Card

Looking at the card from the back (opposite to where the antennae connect) pings 2 – 52 (even) are shown. Pin 20 (see diagram above) is the pin in charge of telling the card whether or not the hardware switch is in airplane mode. You can disable airplane mode by one of two methods. The easiest way is to take a piece of tape and cover the pin being careful not to cover the other pins or wrap around to the other side. If you don’t care about being destructive, you can also scrape off the pin 20 conductor.

Once pin 20 is out of the way, Linux will see the kill switch as being set to on and will give you wireless connectivity.

Ben’s Take

This is one of those times where the XKCD comic about finding the right post with the answer rings true. For months I had found threads with no solutions. I hope that this post helps someone out there in the future. Have you had any problems like this where you finally found the obscure answer? Share below in the comments for all of the world to hear!