I have a Netgear WG111v2 USB wireless card. It's a pain in the backside to configure in Ubuntu, since the default drivers tend to drop connections after a certain amount of time, or if the connection is used under heavy load. When I used a 32 bit OS, ndiswrapper seemed to be the right answer, but since "upgrading" to a 64 bit system that hasn't been a working option, since it just resulted in a very unstable system and no connection at all.
Thankfully though, a handy comment in the bug report has solved my problems (thanks are due to Vit Svarc). I'll report the solution here to help whoever might be experiencing the same problem.
Before we begin, let's make sure we have the same hardware, since apparently the WG111v2 has shipped with different versions.
If you type:
lsusb
into your console, you should get something like this:
Bus 004 Device 002: ID 0846:6a00 NetGear, Inc. WG111 WiFi (v2)
The important part is having and ID of 0846:6a00
. If you don't, then I have no idea if these instructions will help you.
Assuming you've done that, we download the rtl8187 drivers:
wget http://dl.aircrack-ng.org/drivers/rtl8187_linux_26.1010.zip
unzip rtl8187_linux_26.1010.zip
cd rtl8187_linux_26.1010.0622.2006/
If, like me, you're running a 2.6.27 kernel, you'll need to patch these drivers:
wget http://patches.aircrack-ng.org/rtl8187_2.6.27.patch
tar xzf drv.tar.gz
tar xzf stack.tar.gz
patch -Np1 -i rtl8187_2.6.27.patch
You'll also need to modify the r8187.h
file, replacing asm/semaphore
with linux/semaphore
.
sed -i 's/asm\/semaphore.h/linux\/semaphore.h/g' ./beta-8187/r8187.h
Now blacklist the rtl8187 driver, and shut it down:
echo "blacklist rtl8187" | sudo tee -a /etc/modprobe.d/blacklist
sudo ifconfig wlan0 down
sudo rmmod rtl8187
Then finally make and install the new driver:
sudo make
sudo make install
Finally, we load up the new drivers, and re-enable our connection. Everything should work fine now.
sudo modprobe r8187
sudo ifconfig wlan0 up
I've even noticed that I get much better reception with this driver. The only problem is that you'll have to do all this again if your kernel gets updated.