Saturday, November 15, 2008

NetGear WG511 Wireless Card on Yoper v2

NOTE: if you read the tutorial and are still experiencing difficulties and would like help, you are asked to start a new topic on the forums.
Please do NOT reply to this thread to ask a technical question. Replies to THIS thread should be corrections and enhancements on the tutorial/howto only.
Thanks in advance for your co-operation.
LinuxForums.org

------------------------------------------


One problem with Linux is its lack of native drivers for the latest and greatest network cards. And when there is one out there, it is often an esoteric, chewing-gum solution. It took me two months to get this wireless card (NetGear WG511) to work, and its taken me to hell and back. Many sites will tell you to go with the Linuxant DriverLoader solution, using the native Windows drivers, but this has a couple major downsides:
1)It requires a license, which isn't a real problem in it of itself, because they offer you a free license, but:
2)The Linuxant program binds the driver to an MAC address, so you can only use one physical card per license, so if this card breaks and you get another type of card, then: buh-bye
3)Using the Native Windows drivers can have a slight reduction in speed, but they don't tell you that (hehe)
My major problem was that the site just hung, and would crash my computer. So I said $#%^ this, and looked for another solution: Use the native linux driver.
To do this you go have to patch the kernel to support the chipset used by the WG511, which is the Prism GT/Prism Duette. This is the solution that I finally got to work, and hopefully it will work for you...

----------------------------------------------------------------------------------------------

TUTORIAL: INSTALLING THE NETGEAR WG511

First, I'll give the specs on the target computer:
Toshiba Portege 7020CT
Intel Pentium II Mobile@137Mhz
192MB SDRAM
Yoper v.2
Kernel 2.6.8.1-3

*---------------------------------------------------------------------------------*
PLEASE NOTE:
RECENT VERSIONS OF YOPER HAVE SHIPPED WITH PRISM54 SUPPORT.
IT IS ONLY NECESSARY TO INSTALL THE FIRMWARE. IF YOU USE YOPER
V.2.1, THEN SKIP TO THE SECOND SECTION.
*----------------------------------------------------------------------------------*

Okay, now to the nitty-gritty:

1)Open up Mozilla, Konqueror, Internet Explorer(yikes!) or whatever your favorite browser is
2)Go to http://prism54.org
3)Download the Latest Tarball
4)Extract the patch:
 
Code:
 tar xvfj tarball.tar.bz2
5)
Code:
cd tarball
Now's where you can't just go by the README anymore! You need some information first! To patch the kernel to support Prism54 Wireless (well, actually, to patch the kernel anytime), you need to have the kernel source installed! If you don't have it, then:
6)
(a)
1.
Code:
apt-get install kernel-source
or if you have Red Hat:
2.
Code:
yum install kernel-source
or for Gentoo:
3.
Code:
emerge kernel-source
or something similar, replacing "kernel-source" with the appropriate name for the kernel source package.
(b)After you have the kernel source installed, you need to find out where it is installed to. Once you have this information, proceed to Step 7.
7)(a)Make sure that you are logged in as root. If you are not, then:
 
Code:
su -
(b)In the directory where the tarball was extracted to, enter the following into the command shell:
 
Code:
make KDIR=/path/to/kernel/source/here clean modules
After that, you will want to copy the file prism54.ko into the tarball directory, because whenever I did make install, it said file not found:
 
Code:
cp /lib/modules/kernelversion/kernel/drivers/net/wireless/prism54/prism54.ko /path/to/extracted/tarball/ksrc
which for me was:
 
Code:
cp /lib/modules/2.6.8.1-3/kernel/drivers/net/wireless/prism54/prism54.ko ~/prism54-1.1/ksrc
Then do:
 
Code:
make KDIR=/path/to/kernel/source/here install
It shouldn't return with any errors, and it installs pretty quickly. Then:
 
Code:
depmod -a

Whew! We're half-way there. We've installed the kernel patch, and now we need to install the firmware! (Disregard the README at this point, because it gives you an invalid URL)

In order to get the firmware to work, you must create a place for it reside where the Kernel looks for it by default. This is done by:
 
Code:
mkdir -p /usr/lib/hotplug/firmware
Then change directories to it, so the firmware will install to there when downloaded:
 
Code:
cd /usr/lib/hotplug/firmware
And then, finally, to install it:
 
Code:
wget http://prism54.org/~mcgrof/firmware/isl3890
9)To make sure the firmware was installed correctly:
 
Code:
ifconfig eth0
replacing eth0 with the device number for your wireless card (i.e.eth1, wlan1, etc)
10)Activate it!
 
Code:
ifconfig eth0 up
iwconfig eth0 mode managed #this is for Infrastructure mode, i.e. using an access point
or for Ad-Hoc (Peer-to-Peer):
 
Code:
ifconfig eth0 up
iwconfig eth0 mode ad-hoc#this is for ad-hoc mode, i.e. sharing a connection with another laptop/PC
This should be enough. You should be able to then do something like:
 
Code:
root@yos prism54-1.1 # ping google.com
PING google.com (216.239.39.99): 56 data bytes
64 bytes from 216.239.39.99: icmp_seq=0 ttl=241 time=241.603 ms
64 bytes from 216.239.39.99: icmp_seq=1 ttl=241 time=191.558 ms
64 bytes from 216.239.39.99: icmp_seq=2 ttl=241 time=171.591 ms
64 bytes from 216.239.39.99: icmp_seq=3 ttl=241 time=241.988 ms
64 bytes from 216.239.39.99: icmp_seq=4 ttl=241 time=190.428 ms
64 bytes from 216.239.39.99: icmp_seq=5 ttl=241 time=145.057 ms
--- google.com ping statistics ---
6 packets transmitted, 6 packets received, 0% packet loss
round-trip min/avg/max/stddev = 145.057/197.038/241.988/35.190 ms
You should be able to. However for me, it was something more like:
 
Code:
root@yos prism54-1.1 # ping google.com
PING google.com Unknown Host
11)Make sure the problem isn't local:
 
Code:
ping 216.239.39.99
if that works, then you don't have your DNS server set up correctly
 
Code:
ping 192.168.0.1
replacing 192.168.0.1 with the local IP of your router
If this works, but not the previous step, then your problem has to do with the router not connecting to the internet
If neither of these work, then you aren't connected correctly
12)Make sure that your computer is using DHCP:
 
Code:
yoperconf
Select "Netcard Config" from the Menu, and when it asks whether to use DHCP, select "Yes"
13)Then, select the Yoper Menu from the bottom panel (or the RedHat for RH/Fedora, etc, submenus vary for different distros) and select:
Yoper Menu => Internet => More Applications => KWifiManager
14)Select the desired mode (ad-hoc/peer-to-peer or infrastructure), and make sure to input the correct WEP encryption key, if you use one. Select "Activate configuration when KDE starts up", and click on apply.

Within a minute or so, your router should give you a valid IP address, and you'll be good to go. One peculiarity to note, however, is that whenever I had my wired ethernet plugged in, Linux would recognize the card, but not get a valid IP. I have that working now though.

Happy Surfing!
-lakerdonald

*note:I have now tried this NIC with four major Linux Distributions: Fedora Core 1, Gentoo, Knoppix 3.6, and Yoper v2.1. This wireless card works out of the box with Knoppix 3.6. I got it working somewhat with Fedora Core 1, and of course it works with Yoper. The only real problem I've had is with Gentoo. I recompiled the kernel to support it, I installed the drivers and the firmware. Though here is a tutorial that some people have had success with: Forums.Gentoo.org

No comments: