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).“

src: http://www.0xf8.org/2016/02/market-overview-of-usb-wifi-adapters-based-on-atheros-chipsets/

the following CSL/Realtek adapter has only closed-source drivers.

this http://www.wirelesshack.org/top-linux-compatible-usb-wireless-adapters.html

kind of led me to that: TP-Link TL-WN722N WLAN USB Adapter Stick 150Mbit 4dBi

but then that: https://www.amazon.de/gp/customer-reviews/RKMC1BXGE3YE8/ref=cm_cr_getr_d_rvw_ttl?ie=UTF8&ASIN=B002SZEOLG (not properly working with Ubuntu 14.04-15.10)

lead me to reconsider… so i checked out:

http://www.damnsmalllinux.org/wiki/verified_wireless_cards.html

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

pendragon

so i was looking for Broadcom 4320 based adapters.

https://www.broadcom.com/blog/raspberry-pi/want-wi-fi-for-your-raspberry-pi-broadcom-adapter-brings-connectivity-with-less-power/

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…

https://www.amazon.de/CSL-Stick-Antennenbuchse-abnehmbarer-Antenne/dp/B007K871ES/ref=cm_cr_arp_d_product_sims?ie=UTF8

Seems to be the winner of the game… it is said to be working „out of the box“ with raspberry pi, which sounds good.

http://www.ebay.de/itm/CSL-300-Mbit-s-WLAN-Stick-USB-2-0-N-Draft-Wireless-N-LAN-Adapter-Mini-Dongle-/

CSL_300MBits

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.

says: https://wiki.debian.org/InstallingDebianOn/HP/Envy%2015-j104sl

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)

rtl819xsu_usb_linux_v2-6-6-0-20120405.zip

rtl8712_8188_8191_8192su_usb_linux_v2-6-6-0-20120405-tar.gz

documentation on how to compile:

quick_start_guide_for_driver_compilation_and_installation.pdf

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/Makefile.build:262: 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:

http://12244.wpc.azureedge.net/8012244/drivers/rtdrivers/cn/nic/0001-r1000_v1.07.tgz

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 <netdev@vger.kernel.org>
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

{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

How to connect WIFI/WLAN from terminal/bash:

dwaves.de/2017/03/18/debian-linux-wifi-connect-config-setup-from-bash-terminal-wep-and-wpa2/

admin