This week I was presented with a problem where a laptop wasn’t connecting to Wi-Fi.
The laptop, to the end user, would report no networks in the wireless network list and when the “diagnose my network” wizard was run it would report that the “Wireless capability is turned off”.
However to confuse things further.. the hotkey to turn off and on wireless (often an Fn and F key combination) wasn’t reporting that the wifi card should have been off.
The netsh command would report “The wireless local area network interface is power down and doesn’t support the requested operation.”
Essentially something had gone wrong, either with the softkey wireless control or somehow with the motherboard.
This problem used to happen a lot on older laptops, especially Toshiba laptops. They had physical wireless switches on the laptop and they would either get broken or go wrong forcing the wifi card to be turned off. We regularly ended up taking out wifi cards, putting tape on them, and putting them back in. The last time I had to do this was quite a few years ago and on a Mini PCI card, not an NGFF M.2 card.
Turning wifi off and bypassing it to always be on
When you use the soft-key or physical switch the motherboard should apply a 3.3 volt “signal” to one (or more, maybe in the case of M.2) of the pins on the wireless card.
The wireless card then understands that it is commanded to be off and disables it’s radio.
The trick to ensure a wifi card is always on, no matter what the wifi switch is set to, is to put something in the way so that 3.3volt signal can’t reach the wireless card.
This was incredibly well documented for Mini PCI cards. Cut out a small slither of tape and stick it over Pin 20 and put the card back in the machine.
M.2 NGFF connectors and keying
Things have moved on since Mini PCI and Mini-PCIe in laptops. Quite a few now have what is called M.2 NGFF (Next Generation Form Factor) which can be used for SSDs, Bluetooth, WWAN (cell phone cards), WLAN and GPS (and, I expect a lot more!).
The first problem I came across was identifying the type of socket that the card used. I knew the model card was an M.2 NGFF card so I initially tried putting the M.2 wifi card into my M.2 to USB SSD converter but the “keys” didn’t line up (the cut out bit or bits along with, in the socket, the plastic wall).
This confused me somewhat until I found that there are _many_ different types of M.2 socket. The best reference I found was this pdf on page 6 with a lot of diagrams. I believe my USB M.2 converter is “B Keyed” but the wifi card is “A Keyed”.
How to force an M.2 wifi card to stay on?
The problem I faced is a complete lack of information on NGFF M.2 pin outs and masking. Initially I found quite a promising website..
The above url seems to be an article for people who might be worried about snooping (webcam, microphone, wifi etc.).
The top picture on the page starts off well and shows a motherboard with a M.2 wireless card with the same “A keying” as the card I had problems with.
Scroll down the page and there is also some helpful wording and an explanation about how the voltage is applied to disable the card. Their aim is to fully disable it all the time, my aim is the opposite but the information is still good.
They say “The WiFi/Bluetooth Hardware Kill Switch works by applying to pins 56 and 54 an input of [3.3volts]” but then inexplicably then go onto show a photo of what appears to be a Mini-PCI or PCIe slot and an arrow pointing to a pin. This doesn’t match up with (1) the photo at the top of their page or (2) the layout of an M.2 slot.
DAMN.. now I can’t be lazy and copy the pin from an arrow on a photo. I have to work it out myself. I also couldn’t validate that their claims on the pin numbers were correct. If they have junk photos on their website then maybe the other stuff is entirely made up too. Still worth a go though.
Because there is very little information about M.2 and, especially, “A Keyed” M.2 sockets on the internet I had to attempt to work out which of the pins, on my card, were 54 and 56. trying to count pins – especially when many are not present – is very difficult.
Wikipedia and paint.net had to come out for some heavy image editing / overlaying of connector diagrams on top of a photo of the card I had in my hand.
I started with the front side, the one that would (or should) line up best. This made it easy to identify pin 57 (or where pin 57 should be).
Turning the card over was then fairly easy to guess at which pins were 56 and 54 but I did want to be sure.. more paint.net handiwork and I was confident I’d identified the right pins.
After playing about lining up the “top” pin diagram with the “top and bottom” socket diagram and then drawing lines – the pins identified are right in the position where 54 and 56 would be (they don’t line up top to bottom as the pins are slightly offset on either side of the card and socket).
Out came the tape and scisors and then some surgical precision “sticking” it on top of the pins and chucked the card back into the laptop….
So.. I hope this documentation helps someone. I’ve posted it as it looks like accurate and verified, tested as working ok, information doesn’t exist for M.2 wifi pin outs – until now.
WARNING: Make sure you know what you are doing. Don’t blame me if you mess up your wifi card or laptop motherboard. If in doubt take this information and your computer to someone who you are confident has the skills to perform this work.
Update 2020-07-14: Website visitor fernsx has made another good image showing the correct pins: