Many laptops do have mini-PCIe connectors internally.
Theses connectors also have pins for USB (D+ and D-).
On some laptops[2], the BIOS refuses to boot if the internal PCIe WiFi
card is not in its white-list[1].
Some laptop's BIOS[2] even go so far that they will refuse to boot if
no
card found in the white-list is present.
In the case where the BIOS doesn't check for the presence of a card,
but still checks it against its white-list, using an USB card in a
mini-pcie form factor could work.
A wiki page on the elinux wiki[4] may suggest that it might exist.
Does ath9k_htc compatible WiFi cards exist in that format?
If so, shops selling RYF hardware such as ThinkPenguin and Tehnoetic
may be able to also sell it.
Internal cards have the advantage of not breaking easily during
transportation.
External cards also have a dilemma where the user has to choose between
compactness and good range.
It's a great idea, but unfortunately no such designs/cards that exist
with an ath9k-htc USB chipset already in the PCIE form and there is zero
chance that one will exist. ath9k-htc is history at this point. The last
run of cards to be manufactured is fast approaching. We'll hopefully get
one last run in before the AR9271 chipset is discontinued. The other
chipset supported by this ath9k-htc driver is the AR7010+AR9280.
That said it might be possible to simply combine our mini USB dongle
with a USB half height mini PCIE card depending on the amount of space
inside the machine to get around the problem.
Here is what such a USB half height card looks like:
http://i00.i.aliimg.com/img/pb/260/530/469/469530260_401.jpg
Here is our mini USB wifi adapter with the AR9271 chipset:
https://www.thinkpenguin.com/gnu-linux/penguin-wireless-n-usb-adapter-gnu-linux-tpe-n150usb
At a minimum testing could be done to see how well this works. There are
a number of factors which make it less than desirable or not workable
including the size of the adapter, implementation of the BIOS white
listing functionality, range, and potentially further reduction in range
due to the laptop's enclosure.
I don't think we actually have any laptops with the DRM encumbered
software and slot still in place to play with so I can't really test
this easily conceptually. Otherwise I probably would.
This said I'm not entirely sure this is a great solution for those with
a DRM encumbered BIOS. It's a hack that might barely be better than an
external USB wifi dongle only in that it does eliminate the external
obtrusion.
There is actually a better solution for some users that have one of
these encumbered systems. While it doesn't work for newer systems
(because the slot has been phased out) if you have a system with a 34MM
or 54MM ExpressCard slot we're going to be stocking ath9k (not
ath9k-htc) cards shortly. This should work around not being able to
replace the internal card due to the BIOS white listing. At least I'm
pretty sure it will. The ath9k PCIE chipsets are better than the
ath9k-htc chipsets. I don't believe the white lists are implemented to
check every PCIE/ExpressCard slot, but rather only the main mini PCIE
card slot where the wifi card is expected in the systems where BIOS
white listing exists.
References:
-----------
[1]It usually does that by checking the PCI ids of the card.
[2]I've laptops fitting each of theses case:
The Lenovo X60 default BIOS[3] only checks if the card is not in the
white-list.
Also, I was given a broken HP Envy laptop that refuses to boot when
you remove its (Intel) WiFi card.
[3]Libreboot doesn't have such restrictions and is compatible with
that machine.
[4]http://elinux.org/Embedded_Open_Modular_Architecture/EOMA-68/Tablet
Denis.