checkout this post:

EDIMAX EW-7612UAn V2 THE ONLY (?) GNU Linux WIFI WLAN Adapter that works OUT OF THE BOX on all GNU Linux systems (ODROID RASPBERRY AND Desktop GNU Linux)

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


(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

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,, 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

but then that: (not properly working with Ubuntu 14.04-15.10)

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

but it listed this as an alternative:

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.

GNU Linux – hardware review – Wifi WLAN USB Stick Edimax N300 (EW-7612UAn V2 802.11n Wireless Adapter [Realtek RTL8192CU]) (also works with ODROID XU4 (Armbian))


it is named:

CSL 300 Mbit/s WLAN Stick USB 2.0 N-Draft-Wireless-N-LAN-Adapter-Mini-Dongle with external Antenna

Ethernet controller

0f:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 07)

pciid: “10ec:8168”

{OK} 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 [0200]: 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[1]: Entering directory '/usr/src/linux-headers-3.16.0-4-686-pae'
Makefile:10: *** mixed implicit and normal rules: deprecated syntax
make[1]: 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/ recipe for target '/software/drivers/rtl8168/cmd/rtl871x_cmd.o' failed
make[4]: *** [/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[3]: *** [_module_/software/drivers/rtl8168] Error 2
Makefile:181: recipe for target 'sub-make' failed
make[2]: *** [sub-make] Error 2
Makefile:8: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: 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;


tar fxvz 0001-r1000_v1.07.tgz;

cd r8168-8.042.00;

./; # 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

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 <>
srcversion: 28926493B00CB7DDA5FFED3
alias: pci:v00001186d00004300sv00001186sd00004B10bc*sc*i*
alias: pci:v000010ECd00008168sv*sd*bc*sc*i*
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

{i} When you run

update-initramfs -u

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 X-( firmware-realtek package.

Pretty Cool Commands:

nmcli dev wifi
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:

Debian Linux Wifi connect config setup from Bash Terminal WEP and WPA2

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!