checkout this post:
Recommended tested Hardware – Superb Wifi WLAN Adapter Chipset Atheros AR9285 Mini PCIE for GNU Linux Debian 10 Ubuntu and Trisquel 8.0 test run on Lenovo t440 and LibreBooted Lenovo x60s – disabled by evil “hardware switch” wifi card pin 20 fix
ONLY BUY FROM HARDWARE VENDORS THAT SUPPORT FREE & OPEN SOURCE SOFTWARE!
(release the sources for their drivers and documentation for their hardware)
“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)
- 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.“
screw AVM, screw Realtek, what one wants is should work out of the box with recent Linux kernels on Open Source drivers only:
ONLY DRAWBACK: The Adapter is rather large… so it occupies 2x USB ports 😀 (because of it’s size)
“When looking for Wifi adapters, there are reasons why you would not just go ahead and buy whatever your favorite $DEALER has in stock. If you have some experience with Wifi adapters and drivers, especially under Linux, you’ll know that in general Atheros chips are what you want. They have a long tradition of both feature set and decent drivers: the old MadWifi drivers were the first Wifi drivers to actually support virtual interfaces on Linux (yes, MadWifi ha issues of its own with its binary HAL explaining why it never got merged into the kernel).”
the following CSL/Realtek adapter has only closed-source drivers.
kind of led me to that: TP-Link TL-WN722N WLAN USB Adapter Stick 150Mbit 4dBi
lead me to reconsider… so checked out:
but could not find any wifi adapter using that dragon pendrive chipset… so checked out the broadcom chipset and:
so was looking for Broadcom 4320 based adapters.
what works for raspberry should work for any other linux.
but it is sold out under amazon.de
but it listed this as an alternative: https://www.amazon.de/EDIMAX-EW-7811UN-Wireless-Adapter-IEEE802-11b/
which is said to be RaspBerry compatible too… ! 🙂 and the driver is said to be integrated in x>Kernel v.2.6.39
BUT! (OF COURSE) It has no LARGE Antenna… so how can it possibly pick a signal from a far away accesspoint? it can not.
So we need something with an proper Antenna…
Seems to be the winner of the game… it is said to be working “out of the box” with raspberry pi, which sounds good.
it is named:
CSL 300 Mbit/s WLAN Stick USB 2.0 N-Draft-Wireless-N-LAN-Adapter-Mini-Dongle with external Antenna
0f:00.0 Ethernet controller : Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 07)
Works out of the box.
for me: not really. it works. sometimes.
Identify your WIFI DEVICE
lspci -knn|grep -EiA2 net; # run this to get detailed info about your adapter -> pay attention to 10ec:8168 which is the deviceID 02:00.0 Ethernet controller : Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 07) Subsystem: Realtek Semiconductor Co., Ltd. Device [10ec:0123] Kernel driver in use: r8169
Installing the best driver
using the “official non free debian apt get repo binaries” for this adapter seems to be a bad idea.
it installs the wrong version? (8712u.bin instead of 8168)
apt-get update && apt-get install firmware-realtek; uname -a Linux debian 3.16.0-4-686-pae #1 SMP Debian 3.16.7-ckt25-2+deb8u3 (2016-07-02) i686 GNU/Linux dmesg | grep warned; [ 152.367245] r8712u: module is from the staging directory, the quality is unknown, you have been warned. [ 152.689345] usb 2-1: r8712u: Loading firmware from "rtlwifi/rtl8712u.bin"
for some reason kernel is loading firmware: “rtlwifi/rtl8712u.bin” which does not really seem to be the right version.
apt-get upgrade; # does not solve the problem
Fuck the Drivers-CD:
these are the drivers that came with the driver-cd which you can download here: (of course i would be happy if free drivers become available and things really start to work out of the box)
documentation on how to compile:
this documentation is actually wrong… after unpacking the driver you should not use ./make but just make to start the compilation process… which ends (for me no matter as root or not) in an error, that i can not debug.
root@debian:/software/drivers/rtl8168# make make ARCH=i386 CROSS_COMPILE= -C /lib/modules/3.16.0-4-686-pae/build M=/software/drivers/rtl8168 modules make: Entering directory '/usr/src/linux-headers-3.16.0-4-686-pae' Makefile:10: *** mixed implicit and normal rules: deprecated syntax make: Entering directory `/usr/src/linux-headers-3.16.0-4-686-pae' CC [M] /software/drivers/rtl8168/cmd/rtl871x_cmd.o In file included from /software/drivers/rtl8168/cmd/rtl871x_cmd.c:23:0: /software/drivers/rtl8168/include/osdep_service.h: In function ‘thread_enter’: /software/drivers/rtl8168/include/osdep_service.h:393:2: error: implicit declaration of function ‘daemonize’ [-Werror=implicit-function-declaration] daemonize("%s", "RTKTHREAD"); ^ cc1: some warnings being treated as errors /usr/src/linux-headers-3.16.0-4-common/scripts/Makefile.build:262: recipe for target '/software/drivers/rtl8168/cmd/rtl871x_cmd.o' failed make: *** [/software/drivers/rtl8168/cmd/rtl871x_cmd.o] Error 1 /usr/src/linux-headers-3.16.0-4-common/Makefile:1352: recipe for target '_module_/software/drivers/rtl8168' failed make: *** [_module_/software/drivers/rtl8168] Error 2 Makefile:181: recipe for target 'sub-make' failed make: *** [sub-make] Error 2 Makefile:8: recipe for target 'all' failed make: *** [all] Error 2 make: Leaving directory '/usr/src/linux-headers-3.16.0-4-686-pae' Makefile:220: recipe for target 'modules' failed make: *** [modules] Error 2
Download “official realtek” drivers or: So what drivers do work?
you can download 8168 drivers sources for compilation from here:
mirror download: r8168-8-042-00-tar.gz
and tried to compile them, which actually worked.
uname -a; # my version of linux is: (tested with) Linux debian 3.16.0-4-686-pae #1 SMP Debian 3.16.36-1+deb8u1 (2016-09-03) i686 GNU/Linux # you might need to get the kernel sources ( i did not ) apt-get install linux-headers-$(uname -r); mkdir -p /software/drivers; cd /software/drivers; wget http://12244.wpc.azureedge.net/8012244/drivers/rtdrivers/cn/nic/0001-r1000_v1.07.tgz; tar fxvz 0001-r1000_v1.07.tgz; cd r8168-8.042.00; ./autorun.sh; # starts the compilation and installation process Check old driver and unload it. rmmod r8169 Build the module and install Backup r8169.ko rename r8169.ko to r8169.bak DEPMOD 3.16.0-4-686-pae load module r8168 Updating initramfs. Please wait. update-initramfs: Generating /boot/initrd.img-3.16.0-4-686-pae Completed. modinfo r8168; # get info about the module filename: /lib/modules/3.16.0-4-686-pae/kernel/drivers/net/ethernet/realtek/r8168.ko version: 8.042.00-NAPI license: GPL description: RealTek RTL-8168 Gigabit Ethernet driver author: Realtek and the Linux r8168 crew <email@example.com> srcversion: 28926493B00CB7DDA5FFED3 alias: pci:v00001186d00004300sv00001186sd00004B10bc*sc*i* alias: pci:v000010ECd00008168sv*sd*bc*sc*i* depends: vermagic: 3.16.0-4-686-pae SMP mod_unload modversions 686 parm: speed:force phy operation. Deprecated by ethtool (8). (ushort) parm: duplex:force phy operation. Deprecated by ethtool (8). (int) parm: autoneg:force phy operation. Deprecated by ethtool (8). (int) parm: aspm:Enable ASPM. (int) parm: s5wol:Enable Shutdown Wake On Lan. (int) parm: rx_copybreak:Copy breakpoint for copy-only-tiny-frames (int) parm: timer_count:Timer Interrupt Interval. (int) parm: eee_enable:Enable Energy Efficient Ethernet. (int) parm: hwoptimize:Enable HW optimization function. (ulong) parm: debug:Debug verbosity level (0=none, ..., 16=all) (int) # this is where the renamed binaries are ll /lib/modules/3.16.0-4-686-pae/kernel/drivers/net/ethernet/realtek total 2.5M drwxr-xr-x 2 root root 4.0K Sep 19 10:23 . drwxr-xr-x 41 root root 4.0K Aug 6 20:37 .. -rw-r--r-- 1 root root 36K Jul 2 16:43 8139cp.ko -rw-r--r-- 1 root root 46K Jul 2 16:43 8139too.ko -rw-r--r-- 1 root root 2.4M Sep 19 10:23 r8168.ko -rw-r--r-- 1 root root 80K Jul 2 16:43 r8169.bak reboot; # i guess we should reboot now and check functionality
When you run
you may read some warnings like the following one
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168f-2.fw for module r8169
To fix this, install the non-free firmware-realtek package.
Pretty Cool Commands:
nmcli dev wifi * SSID MODE CHAN RATE SIGNAL BARS SECURITY FRITZ!Box Fon WLAN 7390 Infra 1 54 Mbit/s 39 ▂▄__ WPA1 WPA2 FRITZ!Box 7272 Infra 1 54 Mbit/s 30 ▂___ WPA2 * APXYZ Infra 3 54 Mbit/s 41 ▂▄__ WPA2 FRITZ!Box 7490 Infra 6 54 Mbit/s 37 ▂▄__ WPA2 FRITZ!Box 7272 Infra 1 54 Mbit/s 27 ▂___ WPA2
How to connect WIFI/WLAN from terminal/bash:
- 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!