Tuesday, January 8, 2008

rtl8187b linux native driver works on Ubuntu

Update: This essay is really sort of outdated. Nevertheless I has not been keeping track on this native driver. One good approach to get things work is to use a more "wrapped" distro, where ndiswrapper + windows driver works. And then "upgrade" it into the original distro you desired by changing the repository settings or whatever. For those who desire Ubuntu, I recommend Linux Mint. I used to try getting rtl8187b wireless card work on ubuntu by using ndiswrapper,everything seemed fine with this method except that it WASN't ACTURALLY WORKING. What happened was, iwconfig said that there's a wlan0,iwlist scan did find several signal around -- but they never change.It seems that the wireless card only worked when the machine started up, when it discovered something by then and kept returning it to me later. Things were the same when I use the graphic interface, of course. I turned to #ubuntu@irc.ubuntu.org for help and met Word1983. He gave me a page from google, from which I traced to this modified driver for rtl8187b. Here're several steps to drive rtl8187b up with this driver: 1 downland the driver. 2 extract it to a folder.Since we will keep this folder,you'd better choose a good place for it.
tar xzvf rtl8187b-modified-dist.tar.gz -C GoooPlace/ cd GoodPlace
3 run the script makedrv with sudo.Don't panic on those compiler warnings,as long as you don't see anything like "error", the driver might not have been nice coded, but it will work.
sudo ./makedrv
4 run the other script wlan0up with sudo
sudo ./wlan0up
If nothing went wrong, you should find a wlanX in the result of iwconfig,in case you may have tried to get the rtl8187b wireless card worked, X varies from 0 to ?.
iwconfig
Then you may go
iwlist scan
The card will detect signals surrounded then.Which means that it started working properly. PS:You need to run sudo wlan0up everytime you need wireless.You may want to make a shortcut for it on your desktop or home folder.

17 comments:

Anonymous said...

I got the following error in my laptop w/ Ububtu RT8187B ans don't know how to fix it

scripts/Makefile.build:46: *** CFLAGS was changed in "/home/rarias/Downloads/rtl8187b-modified/ieee80211/Makefile". Fix it to use EXTRA_CFLAGS. Stop.
ma

Unknown said...

Nice one! I've been trying to get wireless working on my Toshiba Satellite Pro L40 for a month now. Out of sheer desperation, I scrapped my existing Linux installation (which shall remain nameless), installed Ubuntu 7.10, followed your instructions for installing the modified RTL8187B driver and bingo! Instant success! Many thanks for your help.

Anonymous said...

im having the same problem but i dont undersrand your instructions clearly because im new to this and tried just about everything. can you please email me instructions how to or post them more indepth? my email is eldoon2005@yahoo.com thank you very much

Anonymous said...

check the "main site" (http://www.datanorth.net/~cuervo/rtl8187b/) and you'll see there has been a revision for the 2.6.24 kernel, which is, among things, in Ubuntu 8.04. I tried to compile it though but I failed at it. Any suggestions are welcome.

BTW, the directories have 644 permission here, you may need to change that to 755 before compiling

The Younger said...

Yes the dirs do need to be chmoded 755 ... but once I compiled it and installed it. (don't use the install script either it doesn't work) it locks the system up when trying to authenticate. almost.... no dice.

The Younger said...

OK.. additional info on HH (8.04) it compiles ... However. the ieee modules are all incorrectly (from the view of the driver itself) named, and to make matters even more fun. the wep crypt module locks up the computer. (not just the gui.) Progress... not perfection. Bug report time it seems. Thanks again for the post.

Anonymous said...

Does this driver allow for WPA encryption? I have not found a driver yet for this wireless that does. In fact, I am using windows because of this issue.

Anonymous said...

edit MAKEFILE in ieee80211 dir and r8187 dir. Move anything from CFLAGS to EXTRA_CFLAGS or just add "EXTRA_" prefix to CFLAGS variable. Then compile. This is normal error for OS, that uses never GCC + make.

Anonymous said...

This does not work with x64 Ubuntu. If you try to do ./wlan0up OS will hang.

Anonymous said...

Ok, i downloaded

rtl8187b-modified-jadams-2-1-2008.tar.gz

from

http://www.datanorth.net/~cuervo/rtl8187b/

and followed your instructions.

It compiled and ran ok on Ubuntu 8.04, I can scan networks etc. and it all seems fine, but as soon as WEP is enabled the entire machine locks up, same as the_younger said.

If anyone has a solution for this, I'd appreciate if they could post it here.

Unfortunately the ndiswrapper method doesn't work for me either, so for now I'm screwed with wireless in Ubuntu :(

Anonymous said...

I got a Tarox Lightpad 1350 T5000 with a rtl8187B chipset for the wlan interface. I do not use Ubuntu but SuSE 10.3 and I got the interface working by using ndiswrapper and the windows driver - but not the xp driver - I have to use the Win98/WinMe driver to get it working. There is still a funny thing: The Interface uses WPA encryption and dhcp. The interface get's it ip from the AP and then the connection seems to get lost. But patiens: after a while (maybe 1 Minute) the interface reastablishs the link and up from then the connection is rock-stable.
Don't know why.

DaNmarner said...

The interface get's it ip from the AP and then the connection seems to get lost. But patiens: after a while (maybe 1 Minute) the interface reastablishs the link and up from then the connection is rock-stable.

This seems to be a common WPA-for-rtl8187b thing, it happens to me,too( I am using ndiswrapper on Ubuntu 8.04 ). It did take a while to be observed, though.

Unknown said...

Hi everybody, I work with ubuntu 8.04, I changed CFlag to EXTRA_CFLAG in makefiles, the error was changed but I got however an Error: "/home/user/rtl8187b-modified/rtl8187/r8187_core.c:4059: error: implicit declaration of function ‘SET_MODULE_OWNER’" .
I went in the page of driver http://www.datanorth.net/~cuervo/rtl8187b/ and I downloaded the patch, but I'm a noob and I don't know where and how I can apply thi patch. Is it a patch for the kernel or for the driver?..please answer, Thanks bye

Unknown said...

Please Help me!

Anonymous said...

If lsusb gives:
Bus 007 Device 003: ID 0bda:8198 Realtek Semiconductor Corp.

use driver modified by me. All others doesnt work with ID :8198!
Probably module included with kernel 2.6.27 douesnt work with that id too.
http://rapidshare.com/files/152036377/rtl8187b_linux_driver_modified_for_0bda-8198_darck.zip.html

following installation:
./makedrv
sudo nano /etc/rc.local
add to this file: /change/path/to/correct/wlan0up
sudo apt-get install wicd
after restart chenge in wicd settings wireless interface to correct one (usually wlan0 or wlan1, can be checked by iwconfig)

run wicd, press refresh, APs should be detected. Press connect, vuala :)
———-
!?!?!!:
-driver compilation ./makedrv requires libraries: linux-headers- (install if gets fatal error)
-this driver probably doesn’t work with ID other than: 0bda:8198.
OR:
use (in /etc/rc.local) wlan0up in following way:
lsusb gives for example: Bus 007 Device 002: ID 0bda:8198 Realtek Semiconductor Corp., so:
wlan0up force_card=0×8189
-I couldn’t compile this driver with kernel v. 2.6.27

Anonymous said...

I cwill get errors: I tried some chmod codes but still not working en getting these errors:

root@lupo1989-desktop:/home/lupo1989/Desktop/rtl8187b-modified# sudo chmod +x makedrv
root@lupo1989-desktop:/home/lupo1989/Desktop/rtl8187b-modified# sudo ./makedrv
rm -fr *.mod.c *.mod *.o .*.cmd *.mod.* *.ko *.o *~
make -C /lib/modules/2.6.24-24-386/build M=/home/lupo1989/Desktop/rtl8187b-modified/ieee80211 CC=gcc modules
make: *** /lib/modules/2.6.24-24-386/build: Bestand of map bestaat niet. Gestopt.
make: *** [modules] Fout 2
rm -fr *.mod.c *.mod *.o .*.cmd *.ko *~
make -C /lib/modules/2.6.24-24-386/build M=/home/lupo1989/Desktop/rtl8187b-modified/rtl8187 CC=gcc modules
make: *** /lib/modules/2.6.24-24-386/build: Bestand of map bestaat niet. Gestopt.
make: *** [modules] Fout 2

Anybody have some idea what to do?

Anonymous said...

Cool blog you got here. It would be great to read something more concerning that matter. Thnx for sharing that data.
Sexy Lady
Girls for companionship in London