different sizes… different standards… every year? why?
- it is hard to find wifi cards that are supported by open source drivers
- even worse: there seems to be NOT A SINGLE wifi card vendor, that makes the firmware public (why actually?)
SIMPLIFY! SIMPLIFY! SIMPLIFY!
or end up in “THE-MASSIVE-MESS-OF-USB-CABLE-PLUG-STANDARDS”
https://dwaves.de/2019/02/26/usb-cable-salad-of-madness-usb-3-0-and-wifi-interference-micro-usb-usb-c-mess-has-finally-arrived/
possible alternative (not for notebooks, but for workstations/PCs): PC <-LAN-> Wifi AP-Bridge <-> Wifi <-> Internet
in search for a replacement for the card on the very left: (keywords are: wifi atheros 2230) or (RTL8852AE 2230)
ONLY BUY FROM HARDWARE VENDORS THAT SUPPORT FREE & OPEN SOURCE SOFTWARE!
finding the right open source supported wifi chipset, dongle, or network card, IS HARD.
- sometimes the only option is – to remove the internal wifi card and replace it with an external usb dongle
- this article tries to make things easier, to provide info “what worked”.
“Currently there are only a few modern wifi chipsets readily available that work with free software systems”
For USB wifi devices this list includes the:
- Realtek RTL8187B chipset (802.11G)
- Edimax wifi dongle worked “out of the box” (but not smooth, sometime several reboots are required) with Debian 11 64Bit (also supported by raspberry pi/raspian)
- firmware-driver used by device rtl8192cu
-
lsusb; list all usb devices
-
lsusb -vvv -s 002:003; # list detailed info of specific usb device
- Edimax wifi dongle worked “out of the box” (but not smooth, sometime several reboots are required) with Debian 11 64Bit (also supported by raspberry pi/raspian)
- Atheros AR5B95
- Atheros AR9382
- what is said to be pretty well supported by gnu linux kernel (and kali) (UNTESTED!) is USB WIFI Sticks from ALFA
- tested: the ALFA Networks AWUS036ACS / AC600 / 802.11ac, 2.4/5GHz, USB WLAN Adapter, does NOT work out of the box with Debian (free or non-free) which
- the Edimax (Realtek RTL8187B chipset (802.11G)) does!
- tested: the ALFA Networks AWUS036ACS / AC600 / 802.11ac, 2.4/5GHz, USB WLAN Adapter, does NOT work out of the box with Debian (free or non-free) which
- GNU Linux Debian 11 (64Bit) comes with those drivers:
-
tree /usr/lib/modules/5.10.0-13-amd64/kernel/drivers/net/wireless ├── admtek │ └── adm8211.ko ├── ath │ ├── ar5523 │ │ └── ar5523.ko │ ├── ath10k │ │ ├── ath10k_core.ko │ │ ├── ath10k_pci.ko │ │ └── ath10k_usb.ko │ ├── ath11k │ │ ├── ath11k.ko │ │ └── ath11k_pci.ko │ ├── ath5k │ │ └── ath5k.ko │ ├── ath6kl │ │ ├── ath6kl_core.ko │ │ ├── ath6kl_sdio.ko │ │ └── ath6kl_usb.ko │ ├── ath9k │ │ ├── ath9k_common.ko │ │ ├── ath9k_htc.ko │ │ ├── ath9k_hw.ko │ │ └── ath9k.ko │ ├── ath.ko │ ├── carl9170 │ │ └── carl9170.ko │ └── wil6210 │ └── wil6210.ko ├── atmel │ ├── at76c50x-usb.ko │ ├── atmel_cs.ko │ ├── atmel.ko │ └── atmel_pci.ko ├── broadcom │ ├── b43 │ │ └── b43.ko │ ├── b43legacy │ │ └── b43legacy.ko │ └── brcm80211 │ ├── brcmfmac │ │ └── brcmfmac.ko │ ├── brcmsmac │ │ └── brcmsmac.ko │ └── brcmutil │ └── brcmutil.ko ├── cisco │ ├── airo_cs.ko │ └── airo.ko ├── intel │ ├── ipw2x00 │ │ ├── ipw2200.ko │ │ └── libipw.ko │ ├── iwlegacy │ │ ├── iwl3945.ko │ │ ├── iwl4965.ko │ │ └── iwlegacy.ko │ └── iwlwifi │ ├── dvm │ │ └── iwldvm.ko │ ├── iwlwifi.ko │ └── mvm │ └── iwlmvm.ko ├── intersil │ ├── hostap │ │ ├── hostap_cs.ko │ │ ├── hostap.ko │ │ ├── hostap_pci.ko │ │ └── hostap_plx.ko │ ├── orinoco │ │ ├── orinoco_cs.ko │ │ ├── orinoco.ko │ │ ├── orinoco_nortel.ko │ │ ├── orinoco_plx.ko │ │ ├── orinoco_tmd.ko │ │ ├── orinoco_usb.ko │ │ └── spectrum_cs.ko │ └── p54 │ ├── p54common.ko │ ├── p54pci.ko │ └── p54usb.ko ├── mac80211_hwsim.ko ├── marvell │ ├── libertas │ │ ├── libertas_cs.ko │ │ ├── libertas.ko │ │ ├── libertas_sdio.ko │ │ └── usb8xxx.ko │ ├── libertas_tf │ │ ├── libertas_tf.ko │ │ └── libertas_tf_usb.ko │ ├── mwifiex │ │ ├── mwifiex.ko │ │ ├── mwifiex_pcie.ko │ │ ├── mwifiex_sdio.ko │ │ └── mwifiex_usb.ko │ └── mwl8k.ko ├── mediatek │ ├── mt76 │ │ ├── mt76.ko │ │ ├── mt76-usb.ko │ │ ├── mt76x0 │ │ │ ├── mt76x0-common.ko │ │ │ ├── mt76x0e.ko │ │ │ └── mt76x0u.ko │ │ ├── mt76x02-lib.ko │ │ ├── mt76x02-usb.ko │ │ └── mt76x2 │ │ ├── mt76x2-common.ko │ │ ├── mt76x2e.ko │ │ └── mt76x2u.ko │ └── mt7601u │ └── mt7601u.ko ├── ralink │ └── rt2x00 │ ├── rt2400pci.ko │ ├── rt2500pci.ko │ ├── rt2500usb.ko │ ├── rt2800lib.ko │ ├── rt2800mmio.ko │ ├── rt2800pci.ko │ ├── rt2800usb.ko │ ├── rt2x00lib.ko │ ├── rt2x00mmio.ko │ ├── rt2x00pci.ko │ ├── rt2x00usb.ko │ ├── rt61pci.ko │ └── rt73usb.ko ├── ray_cs.ko ├── realtek │ ├── rtl818x │ │ ├── rtl8180 │ │ │ └── rtl818x_pci.ko │ │ └── rtl8187 │ │ └── rtl8187.ko │ ├── rtl8xxxu │ │ └── rtl8xxxu.ko │ ├── rtlwifi │ │ ├── btcoexist │ │ │ └── btcoexist.ko │ │ ├── rtl8188ee │ │ │ └── rtl8188ee.ko │ │ ├── rtl8192c │ │ │ └── rtl8192c-common.ko │ │ ├── rtl8192ce │ │ │ └── rtl8192ce.ko │ │ ├── rtl8192cu │ │ │ └── rtl8192cu.ko │ │ ├── rtl8192de │ │ │ └── rtl8192de.ko │ │ ├── rtl8192ee │ │ │ └── rtl8192ee.ko │ │ ├── rtl8192se │ │ │ └── rtl8192se.ko │ │ ├── rtl8723ae │ │ │ └── rtl8723ae.ko │ │ ├── rtl8723be │ │ │ └── rtl8723be.ko │ │ ├── rtl8723com │ │ │ └── rtl8723-common.ko │ │ ├── rtl8821ae │ │ │ └── rtl8821ae.ko │ │ ├── rtl_pci.ko │ │ ├── rtl_usb.ko │ │ └── rtlwifi.ko │ └── rtw88 │ ├── rtw88_8723de.ko │ ├── rtw88_8723d.ko │ ├── rtw88_8821ce.ko │ ├── rtw88_8821c.ko │ ├── rtw88_8822be.ko │ ├── rtw88_8822b.ko │ ├── rtw88_8822ce.ko │ ├── rtw88_8822c.ko │ ├── rtw88_core.ko │ └── rtw88_pci.ko ├── rndis_wlan.ko ├── rsi │ ├── rsi_91x.ko │ └── rsi_usb.ko ├── wl3501_cs.ko └── zydas ├── zd1201.ko └── zd1211rw └── zd1211rw.ko
the taped pin 20 “hack”
some cards refuse to work “airplane mode” on and can’t be switched off, taping the pin 20 helps:
-
- Atheros AR9170 chipset (802.11N)
- why is it then recommended/required under this wiki page to install non-free atheros firmware? (a bit inconsistent documentation, Debian?)
- also for the newer Atheros AR9271 chipset non-free atheros firmware is needed?
- (was able to only find one product with this chipset from “Wifi Nation“)
- one adapter BroStrend 1200 (only sold in US!? wtf?) comes with Ralink rtl8812AU and RTL8812BU Chipsets come with Open Source drivers that come with sources shared on github
- in Europe / EU try searching Amazon (prefer eBay & other stores that avoid PayPal!) for this chipset and chose if the user wants usb-cable extension, PCI or other version
- For Mini PCIe all cards with an Atheros chipset are supported
Wifi has always been a problem for free software users. USB Wifi cards are becoming less free. With the older 802.11G standard many USB wifi cards had free drivers and did not require non-free firmware. With 802.11N there is only one chipset on the market, from Atheros, which is completely free.
One company which specializes in free software and sells 802.11N USB wifi cards, ThinkPenguin.com, has indicated the availability of free software supported 802.11N USB wifi cards is disappearing. Solving this problem will require more demand than currently exists.“
src: https://wiki.debian.org/WiFi
had to swap the Wifi card on both LibreBooted Lenovo x60s for Atheros ar5b95 Wireless WiFi WLAN Karte für HP g42 cq42 g62 cq62 580101-002 PCI-E Mini PCIE
(this Debian non-free package is NOT needed, here are the sources of ath9k)
hostnamectl; # tested on # o with hardware: giada f300 # oo with only one pigtail wifi antenna attached # (two are better to boost db reception but one is sufficient # for close range wifi) Operating System: Debian GNU/Linux 10 (buster) Kernel: Linux 4.19.0-8-amd64 Architecture: x86-64 # get it here: https://ftp.halifax.rwth-aachen.de/debian-cd/10.3.0/amd64/iso-cd/debian-10.3.0-amd64-netinst.iso # Debian is just lovely! :) # (also thanks to Ubuntu and all involved for supporting Debian) dmesg | grep ieee80211 ieee80211 phy0: Selected rate control algorithm 'minstrel_ht' [ 13.980950] ieee80211 phy0: Atheros AR9285 Rev:2 mem=0xffffa316c12c0000, irq=16 dmesg | grep ath9k [ 14.001447] ath9k 0000:03:00.0 wlp3s0: renamed from wlan0 lsmod|grep ath ath9k 135168 0 ath9k_common 20480 1 ath9k ath9k_hw 483328 2 ath9k_common,ath9k ath 36864 3 ath9k_common,ath9k,ath9k_hw mac80211 835584 1 ath9k cfg80211 774144 4 ath9k_common,ath9k,ath,mac80211
then it works like a charm.
(they do not exactly fit… the original ones are “longer” thus help yourself with some non-conducting tape)
did a test setup of Trisquel 8.0 (Richard Stallman is using this! Why is it Ubuntu based (which again is Debian based)? we don’t know) on Lenovo t440 and works quiet well… except (again) the wifi (no open source drivers for the Intel Corporation Wireless 7260 (rev 83))
https://ark.intel.com/content/www/us/en/ark/products/75174/intel-wireless-n-7260.html
it is really a pain in the a… that there are so many: Board Form Factor: in this case it is a “ PCIe Half Mini Card/ M.2″ (whatever that means… it means it is very very small X-D more on form factors)
… now looking for an alternative to this card.
also: did not know the lenovo t440 has TWO (!) batteries. One is fixed inside the case, the other is removable and then (of course) there is the CMOS battery.
so it has 3x Batteries if you count the CMOS as well.
lspci -vvv
# says have this intel wifi installed:
03:00.0 Network controller: Intel Corporation Wireless 7260 (rev 83)
Subsystem: Intel Corporation Dual Band Wireless-AC 7260
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR-
Kernel driver in use: iwlwifi
Kernel modules: iwlwifi
all chipsets supported by driver: ath9k
PCI: 168C:0023 Qualcomm Atheros AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] PCI: 168C:0024 Qualcomm Atheros AR5418 Wireless Network Adapter [AR5008E 802.11(a)bgn] (PCI-Express) PCI: 168C:0027 Qualcomm Atheros AR9160 Wireless Network Adapter [AR9001 802.11(a)bgn] PCI: 168C:0029 Qualcomm Atheros AR922X Wireless Network Adapter PCI: 168C:002A Qualcomm Atheros AR928X Wireless Network Adapter (PCI-Express) PCI: 168C:002B Qualcomm Atheros AR9285 Wireless Network Adapter (PCI-Express) PCI: 168C:002C Qualcomm Atheros AR2427 802.11bg Wireless Network Adapter (PCI-Express) PCI: 168C:002D Qualcomm Atheros AR9227 Wireless Network Adapter PCI: 168C:002E Qualcomm Atheros AR9287 Wireless Network Adapter (PCI-Express) PCI: 168C:0030 Qualcomm Atheros AR93xx Wireless Network Adapter PCI: 168C:0032 Qualcomm Atheros AR9485 Wireless Network Adapter PCI: 168C:0033 Qualcomm Atheros AR9580 Wireless Network Adapter PCI: 168C:0034 Qualcomm Atheros AR9462 Wireless Network Adapter PCI: 168C:0036 Qualcomm Atheros QCA9565 / AR9565 Wireless Network Adapter PCI: 168C:0037 Qualcomm Atheros AR9485 Wireless Network Adapter
src: https://wiki.debian.org/ath9k
how to get info on driver used
lsmod|grep rtl8192cu rtl8192cu 81920 0 rtl_usb 24576 1 rtl8192cu rtl8192c_common 65536 1 rtl8192cu rtlwifi 102400 3 rtl8192c_common,rtl_usb,rtl8192cu mac80211 983040 3 rtl_usb,rtl8192cu,rtlwifi usbcore 323584 9 xhci_hcd,ehci_pci,usbhid,rtl_usb,rtl8192cu,cdc_acm,uvcvideo,ehci_hcd,xhci_pci modinfo rtl8192cu filename: /lib/modules/5.10.0-14-amd64/kernel/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/rtl8192cu.ko firmware: rtlwifi/rtl8192cufw_TMSC.bin firmware: rtlwifi/rtl8192cufw_B.bin firmware: rtlwifi/rtl8192cufw_A.bin firmware: rtlwifi/rtl8192cufw.bin description: Realtek 8192C/8188C 802.11n USB wireless license: GPL author: xxxxxxxx author: xxxxxxxx author: xxxxxxxx alias: usb:v7392p7822d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v2357p0100d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v20F4p624Dd*dc*dsc*dp*ic*isc*ip*in* alias: usb:v2019pAB2Bd*dc*dsc*dp*ic*isc*ip*in* alias: usb:v2001p330Dd*dc*dsc*dp*ic*isc*ip*in* alias: usb:v2001p330Ad*dc*dsc*dp*ic*isc*ip*in* alias: usb:v2001p3309d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v2001p3307d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v0E66p0019d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v0DF6p0061d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v0BDAp8186d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v0B05p17ABd*dc*dsc*dp*ic*isc*ip*in* alias: usb:v0846pF001d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v0846p9021d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v07B8p8178d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v07AAp0056d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v0586p341Fd*dc*dsc*dp*ic*isc*ip*in* alias: usb:v050Dp2103d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v050Dp2102d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v050Dp1004d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v2019p1201d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v04F2pAFFCd*dc*dsc*dp*ic*isc*ip*in* alias: usb:v04F2pAFFBd*dc*dsc*dp*ic*isc*ip*in* alias: usb:v04F2pAFF8d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v04F2pAFFAd*dc*dsc*dp*ic*isc*ip*in* alias: usb:v04F2pAFF9d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v04F2pAFF7d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v0BDAp317Fd*dc*dsc*dp*ic*isc*ip*in* alias: usb:v9846p9041d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v4855p0091d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v4855p0090d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v13D3p3359d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v13D3p3358d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v7392p7811d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v20F4p648Bd*dc*dsc*dp*ic*isc*ip*in* alias: usb:v2019pED17d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v2019pAB2Ed*dc*dsc*dp*ic*isc*ip*in* alias: usb:v2019pAB2Ad*dc*dsc*dp*ic*isc*ip*in* alias: usb:v2019p4902d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v2001p3308d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v13D3p3357d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v103Cp1629d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v4856p0091d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v0EB0p9071d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v0DF6p0077d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v0DF6p0070d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v0DF6p005Cd*dc*dsc*dp*ic*isc*ip*in* alias: usb:v0DF6p0052d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v0BDAp5088d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v0B05p17BAd*dc*dsc*dp*ic*isc*ip*in* alias: usb:v0846p9043d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v0846p9041d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v07B8p8189d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v07B8p8188d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v06F8pE033d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v050Dp11F2d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v050Dp1102d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v0BDAp817Cd*dc*dsc*dp*ic*isc*ip*in* alias: usb:v0BDAp8178d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v0BDAp8754d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v0BDAp819Ad*dc*dsc*dp*ic*isc*ip*in* alias: usb:v0BDAp818Ad*dc*dsc*dp*ic*isc*ip*in* alias: usb:v0BDAp817Fd*dc*dsc*dp*ic*isc*ip*in* alias: usb:v0BDAp817Ed*dc*dsc*dp*ic*isc*ip*in* alias: usb:v0BDAp817Dd*dc*dsc*dp*ic*isc*ip*in* alias: usb:v0BDAp817Bd*dc*dsc*dp*ic*isc*ip*in* alias: usb:v0BDAp817Ad*dc*dsc*dp*ic*isc*ip*in* alias: usb:v0BDAp8177d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v0BDAp8176d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v0BDAp8170d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v0BDAp018Ad*dc*dsc*dp*ic*isc*ip*in* alias: usb:v0BDAp8191d*dc*dsc*dp*ic*isc*ip*in* depends: mac80211,rtlwifi,rtl8192c-common,rtl_usb,usbcore retpoline: Y intree: Y name: rtl8192cu vermagic: 5.10.0-14-amd64 SMP mod_unload modversions sig_id: PKCS#7 signer: Debian Secure Boot CA sig_key: 4B:6E:F5:AB:CA:66:98:25:17:8E:05:2C:84:66:7C:CB:C0:53:1F:8C sig_hashalgo: sha256 signature: B0:E8:49:24:F1:E4:6A:F6:81:35:D4:6E:90:E9:E7:5B:EA:71:89:3B: 1F:78:E2:B6:D6:6B:B9:13:55:ED:6E:F2:61:02:36:91:6D:B2:B7:32: 75:8C:BE:D6:3E:37:7E:5E:EC:AE:38:19:CF:F3:78:97:FD:09:28:98: 64:97:52:B1:AA:42:1F:23:25:1B:4A:6D:98:B8:26:D5:AA:5A:7F:34: 1C:5B:5E:78:88:29:14:88:20:7D:79:A0:73:68:08:53:99:7B:44:4B: 15:90:CB:BD:EF:91:31:70:83:80:43:93:E8:45:2E:CC:F0:41:E9:62: FE:2A:A4:2C:06:E9:EB:80:34:E4:49:48:C5:65:76:13:91:66:1F:18: 06:AB:06:EC:15:DA:9A:39:B2:6A:65:74:30:2E:AB:3E:FA:5C:BA:E3: D0:27:8B:6B:86:87:24:C5:37:DC:8A:C6:97:FA:AD:14:87:B4:76:55: 71:88:FE:92:34:17:61:43:F2:72:E6:F2:D7:DE:3C:48:17:66:62:05: 65:B2:B8:42:38:D4:59:CA:BC:6C:DA:CB:30:01:FF:D6:BA:F0:B7:0C: 90:94:E6:27:1A:26:E4:2E:87:39:D8:FA:0B:BA:3E:51:EC:D8:B5:CD: 3A:46:F5:AF:0E:5C:BD:44:80:79:C8:13:62:F1:0F:84 parm: swenc:Set to 1 for software crypto (default 0) (bool) parm: debug_level:Set debug level (0-5) (default 0) (int) parm: debug_mask:Set debug mask (default 0) (ullong)
Links:
Finding a WIFI Adapter for GNU Linux Debian (not easy) UPDATE
Debian Linux Wifi connect config setup from Bash Terminal WEP and WPA2
https://wireless.wiki.kernel.org/en/users/drivers/ath9k
liked this article?
- only together we can create a truly free world
- plz support dwaves to keep it up & running!
- (yes the info on the internet is (mostly) free but beer is still not free (still have to work on that))
- really really hate advertisement
- contribute: whenever a solution was found, blog about it for others to find!
- talk about, recommend & link to this blog and articles
- thanks to all who contribute!