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 i checked out:

but i could not find any wifi adapter using that dragon pendrive chipset… so checked out the broadcom chipset and:


so i 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.


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 '
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
*  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