Wireless
There are various possibilities to make the Realtek RTL8187B (USB ID: 0bda:8189) 802.11g 54Mbps wireless network card work.
Contents |
Using the pre-installed Ubuntu setup
Originally shipped Ubuntu on the One A110
The pre-installed Ubuntu seems to use ndiswrapper.
Status:
- Compiling: Not required ?
- Loading the modules: ?
- Scanning for networks: Works
- Monitor mode: ?
- Connecting to an AP: Works
- Ad-hoc mode: ?
- WEP: Works (But apparently not with NetworkManager, at least not for me)
- WPA: Works (wpa_supplicant)
Improved Ubuntu version from One sent to customers on USB thumb drive
The new version uses the r8187 native Linux driver (not ndiswrapper).
Status:
- Compiling: Not required
- Loading the modules: Works
- Scanning for networks: ?
- Monitor mode: ?
- Connecting to an AP: Works
- Ad-hoc mode: ?
- WEP: ?
- WPA: Works (tested by Uwe Hermann)
ndiswrapper + Win98 driver
First, install the ndiswrapper module and utilities. On Debian you'd do this:
$ apt-get install module-assistant ndiswrapper-source ndiswrapper-utils-1.9 $ m-a a-i ndiswrapper
Now get the Windows 98 driver for the RTL8187B and include it in ndiswrapper:
$ wget ftp://210.51.181.211/cn/wlan/RTL8187B_driver_only.zip $ unzip RTL8187B_driver_only.zip $ cd RTL8187B/Win98 $ ndiswrapper -i net8187b.inf
The driver should now be installed using ndiswrapper. Check that with:
$ ndiswrapper -l
net8187b : driver installed
device (0BDA:8189) present
Now load the ndiswrapper kernel module:
$ modprobe ndiswrapper
Test via iwconfig, which should show a wlan0 device:
$ iwconfig
Status:
- Compiling: Works with a stock 2.6.25 on Debian unstable.
- Loading the modules: Works, iwconfig then shows wlan0.
- Scanning for networks: Works with iwlist scan.
- Monitor mode: Won't work as ndiswrapper doesn't generally support monitor mode (?)
- Connecting to an AP (no encryption): Works, tested Uwe Hermann.
- Ad-hoc mode: ?
- WEP: ?
- WPA: Works, tested by Uwe Hermann (WPA PSK), confirmed by JanR.
Status: (Debian squeeze, 2.6.30.1)
- no encryption mode works.
- WEP works. Maybe you need to use iwconfig manually.
- WPA and WPA2 work with NetworkManager.
- Works reliable.
Using the RTL8187B driver from One
Using the provided binary kernel
To use the kernel from the One website, you have to copy the bzImage file to /boot and extract the modules.tgz file to /lib. Then edit /etc/grub/menu.lst and add the following entry:
$ title Ubuntu with One kernel 2.6.22 $ root (hd0,0) $ kernel /boot/bzImage root=/dev/hdc1 ro locale=de_DE lang=de
Optionally add splash and quiet to the parameter list.
Then you will have to edit /etc/modules and include r8187 and comment out ndiswrapper (and possibly reboot).
See here for further kernel notes (not related to wireless).
Using the provided binary modules
TODO.
Building the modules from source for 2.6.22
TODO.
Port for 2.6.25
As the drivers from One do not build for recent kernels (e.g. 2.6.25) Uwe Hermann has ported them over to 2.6.25. Here's the patch.
Building:
$ wget 'http://service.one.de/download/index.php?action=downloadfile&filename=rtl8187B_linux_24.6.1031.0125.2008.tar.gz&directory=NOTEBOOKS/ONE_A1XX/LINUX/Source-code/Wireless/WLAN' -O rtl8187B_linux_24.6.1031.0125.2008.tar.gz $ tar xfvz rtl8187B_linux_24.6.1031.0125.2008.tar.gz $ wget http://www.a110wiki.de/wiki/images/e/ed/Rtl8187b_port_for_2.6.25.patch.gz $ gunzip Rtl8187b_port_for_2.6.25.patch.gz $ cd rtl8187B_linux_24.6.1031.0125.2008 $ patch -p1 < ../Rtl8187b_port_for_2.6.25.patch $ ./makedrv
Loading the driver:
$ ./wlan0up
Unloading the driver:
$ ./wlan0down
Tested with stock 2.6.25 and 2.6.26 from Debian unstable.
Status:
- Compiling: Works with 2.6.26, 2.6.25, and 2.6.24.
- Loading the modules: Works, iwconfig then shows wlan0 or wlan1.
- Scanning for networks: Works with iwlist scan.
- Monitor mode: Works, either manually with iwconfig wlan1 mode monitor or using kismet (config line: source=rt8180,wlan1,WLAN).
- Connecting to an AP: ?
- Ad-hoc mode: ?
- WEP: works, even with (X)ubuntu Network manager
- WPA: works, but slow and stops after transfering some megabyte
Using the RTL8187B driver from Johnny Cuervo
See http://www.datanorth.net/~cuervo/rtl8187b/.
Building (works out of the box for a stock 2.6.25):
$ wget http://www.datanorth.net/~cuervo/rtl8187b/rtl8187b-modified-jadams-2-1-2008.tar.gz $ tar xfvz rtl8187b-modified-jadams-2-1-2008.tar.gz $ cd rtl8187b-modified $ sh makedrv
Loading the driver:
$ sh wlan0up
Unloading the driver:
$ sh wlan0down
Status:
- Compiling: Works with 2.6.25, I guess 2.6.24 should also work.
- Loading the modules: Works, iwconfig then shows wlan0 or wlan1.
- Scanning for networks: Not sure. Sometimes you get "Failed to read scan data : Operation not permitted" when trying to do iwlist scan, sometimes "No scan results".
- Monitor mode: Works, either manually with iwconfig wlan1 mode monitor or using kismet (config line: source=rt8180,wlan1,WLAN).
- Connecting to an AP: ?
- Ad-hoc mode: ?
- WEP: ?
- WPA: works, but slow and stops after transfering some megabyte
Mainline kernel driver
The stock 2.6.25/2.6.26 kernel contains a rtl8187 module. However, it does not yet support the RTL8187B found the A110.
A patch to add RTL8187B support to the rtl8187 module has already been added into the wireless-testing.git tree, and is expected to be available in mainline 2.6.27.
Please check e.g. [1], [2], or [3] for some older discussions and patches (obsolete now, as mainline will soon support the RTL8187B).
The mainline driver has the same issues as the driver above. After some MB of transferring, it becomes very slow (~4KB/sec)
On Debian squeeze (kernel 2.6.30.1) the native driver rtl8187 claims to support the chipset. Although it works quite unreliable with WPA/WPA2 (after a while, it gets slower until you'll get a disconnect, reconnect seems not possible until after a while). Monitor mode works well. If you get disconnected on WPA/WPA2, you'll not receive any packets anymore, though.
To connect to your router, stick with ndiswrapper.
Random notes
According to some sources, Linux > 2.6.23 should be able to support this device without ndiswrapper.
According to this customer mail from One (German), there are wireless problems on the default install; they're working on fixing them, and will send each (affected?) customer a USB thumb drive with a fix/patch/upgrade/workaround code soon.
Update: Native wireless is runnig by installing the kernel (2.6.22) from the ONE homepage and compiling the driver source also from the ONE site.
Experience: When using the Linksys WRT54GL Router with OpenWRT and WPA-PSK, wireless can be quite unstable. ndiswrapper works for approx 6 hours, after that the connection is disconnected right after logging into the Access Point. With other drivers than the one supplied in One's Ubuntu Installation, it works in about 30% of all attempts, in the other attempts, wpa_supplicant freezes immediately after logging into the network, causing the computer to not shut down properly (has to be turned off by pressing the Power switch for 5 seconds) and to freeze upon starting any application which uses the network.
Another Experience: Using the Linksys WRT54GL with DD-WRT WPA2-PSK I wasn't able to establish a connection at first. A reboot of the router (!) solved this problem. Since then, I have only successful connection attempts.
Yet another experience:
- Patched driver (both versions) both work with WPA2 but stop function after transfering some MB. Speed is quite slow, sometimes less than 100 KB/s.
- ndiswrapper driver works much better with WPA2 but also stops working after sending some hundert MB. Speed is equivalent to other systems using the same access point (2-2,5 MB/s)
RTL8187 - SIDUX 2.6.27-7.slh.1
This is the current kernel of SIDUX. As of kernel 2.6.27, RTL8187 driver supports RTL8187B. There are some problems, it has a rather short operating range - at least here at my A1x0. More information about this is here.
SIDUX 1/2009 from Feb/09 with 2.6.28 kernel has builtin 8187 support - which is not fully convincing, though. even tho I can log in with WPA, no traffic is being actually routed. but the green "WLAN" LED is lit up nicely. Ceni looks functional as well.