My situation: I had spotty wireless right after the upgrade to Karmic. So, I decided to "fix" it. After various attempts, I tried to go back to the previous driver, but this completely screwed things up. The OS recognized the wireless card, but I couldn't do anything with it. After reading a bit, I decided to try installing the windows driver for the card, using ndiswrapper.
Result: wireless is back to pre-update levels. The only problem is that I don't have wireless when I bring the laptop out of suspension/hibernation. I have to reboot to get the wireless working after I suspend (so I'm switching it off now instead of suspending).
Ok, you've been warned. If you still want to go ahead, here is what I did:
1. Figure out what chipset your wireless card has.
Code:
jsimmond@ito:~$ lsusb
Bus 001 Device 003: ID 0bda:8189 Realtek Semiconductor Corp. RTL8187B Wireless 802.11g 54Mbps Network Adapter
...
jsimmond@ito:~$
My Starling has a USB wireless card, so I used lsusb. If you don't find anything with lsusb, see if you have any luck finding it using .
If your card is also a RTL8187B, continue.
2. Install ndiswrapper
Code:
jsimmond@ito:~$ sudo apt-get install ndisgtk ndiswrapper-common ndiswrapper-utils-1.9
3. Download the windows driver for the RTL8187B
HTML Code:
http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&PNid=24&PFid=1&Level=6&Conn=5&ProdID=143&DownTypeID=3&GetDown=false&Downloads=true
Watch out: the drivers for 2 other wireless cards are on the same download page. Scroll down to the RTL8187B section. I got the Win2K/WinXP/Vista driver (version # 1158, filename: 8187B_WindowsDriver_5_6.1158.0113.2009.zip
4. Extract the driver zip file to some directory.
Code:
jsimmond@ito:~$ unzip 8187B_WindowsDriver_5_6.1158.0113.2009.zip
Driver location (the .inf file):
Code:
jsimmond@ito:~/temp/(090310)RTL8187B_WindowsDriver_5_6.1158.0113.2009_ISS_1.01.0087/RTL8187B/WinXP2K$ ls -l
total 368K
-rw-r--r-- 1 jsimmond jsimmond 8.4K 2009-01-16 12:23 net8187b.cat
-rw-r--r-- 1 jsimmond jsimmond 15K 2009-01-13 17:56 net8187b.inf
-rw-r--r-- 1 jsimmond jsimmond 333K 2009-01-13 17:56 rtl8187B.sys
5. Fire-up the ndiswrapper GUI
Code:
jsimmond@ito:~$ sudo ndisgtk
6. Click on the "Install New Driver" button. You should get an open file dialog, pick the .inf file from step 4. I don't remember exactly what happened at this point, I think I clicked ok on a couple of screens. I don't have any new driver to install to check
I've attached a screenshot of what ndisgtk should look like if the install was successful.
7. After you exit ndisgtk (and reboot for good measure), check if the new driver is available under ndiswrapper:
Code:
jsimmond@ito:~$ ndiswrapper -l
WARNING: All config files need .conf: /etc/modprobe.d/ndiswrapper, it will be ignored in a future release.
net8187b : driver installed
device (0BDA:8189) present (alternate driver: rtl8187)
jsimmond@ito:~$
For the curious, here are the contents of my /etc/modprobe.d/ndiswrapper file:
Code:
jsimmond@ito:~$ cat /etc/modprobe.d/ndiswrapper
alias usb:v0BDAp8187d*dc*dsc*dp*ic*isc*ip* ndiswrapper
alias usb:v0BDAp8189d*dc*dsc*dp*ic*isc*ip* ndiswrapper
8. After rebooting, my network-manager had a "Wireless" subsection again. Now I could see my router and connect to it. Around this time, I also switched to WPA, since my old router died and the new one's WEP authentication doesn't work.
I hope this guide is detailed enough to help.
Bookmarks