UPDATE! -> If you do not need big Antennas (or willing to solder them on yourself): What about using a AVM Fritz Stick with free (OpenSource) drivers?
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 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 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
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)
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.
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.
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]
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.
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;
tar fxvz 0001-r1000_v1.07.tgz;
./autorun.sh; # starts the compilation and installation process
Check old driver and unload it.
Build the module and install
rename r8169.ko to r8169.bak
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
description: RealTek RTL-8168 Gigabit Ethernet driver
author: Realtek and the Linux r8168 crew <email@example.com>
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
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
# 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 firmware-realtek package.
Pretty Cool Commands:
* 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