Help - Search - Members - Calendar
Full Version: D-link G650 Rev. C
Linuxhelp > Support > Hardware Support
I have the D-Link G650 Revision C wireless card in my notebook computer, which is running Mandrake 10.0. Unfortunately, Mandrake 10 doesn't come with drivers for my card, and D-Link doesn't provide drivers for anything but Windows.

At the moment I'm undecided whether I want to keep Linux or not. While I'm quite interested in learning more about it, the lack of wireless internet access on my laptop is keeping me from really devoting any time to it.

I've been searching google and random linux help sites for information on how to get the card to work. A few sites (this one included) mentioned MadWifi, but aside from being completely lost on how to use it, I've gotten nothing but errors when following instructions that someone posted.

Any assistance would be greatly appreciated.
Ok ... the first thing you need to do is install the kernel-source package for Mandrake 10.

What the kernel source package is, is a package the contains the source code required to build a new Kernel ... or to build modules for the current Kernel.

A kernel module is basically the same as a windows driver.

SO, in order to build a kernel module to get your wireless card working, you have to start by installing the kernel-source package.
When I say issue a command, I mean to do so from a terminal window as the root user. If you are logged in as a non-root user, you can open a terminal window and then tyoe the command:

xhost +
su - root

then login as the root user. (The xhost + will make it so any GUI item launched in the root user's window will show on the non-root user's screen ... ie you can launch GUI items from the root window we just opened).
To install kernel-source, you first need to know which version of the kernel you installed ... 2.6.3 or 2.4.25 use the command:

uname -r

The result will be either:




The x is a mandrake version number ... probably 4 for kernel 2.6.3 or 1 for kernel 2.4.25.

My result looks like this:
[root@localhost root]# uname -r

Once you know your kernel version, you can install the kernel source for your kernel ... do this command:

urpmq -f kernel-source

This will give you all the installable kernel source versions ... if my result looks like this:
[root@localhost root]# urpmq -f kernel-source

My uname -r was 2.6.3-7mdk, so I will install kernel-source-2.6.3-7mdk.i586 like this:

urpmi kernel-source-2.6.3-7mdk.i586

You would use the appropiate values for your version.
Once kernel-source is installed, we must prepare it to build kernel drivers ...

First, let's check the /usr/src directory and make sure it has the proper directories in it ... do the command:

ls -al /usr/src

the output should look similar to this:
[root@localhost root]# ls -al /usr/src
total 3
drwxr-xr-x   4 root root 128 Mar 25 06:14 ./
drwxr-xr-x  12 root root 312 Mar 10 16:54 ../
lrwxrwxrwx   1 root root  16 Mar 25 06:02 linux -> linux-2.6.3-7mdk/
drwxr-xr-x  20 root root 672 Mar 25 06:02 linux-2.6.3-7mdk/
drwxr-xr-x   7 root root 168 Mar 10 16:43 RPM/

The important part is that there is a linux -> linux-2.x.x-xmdk/ (where the x's are the same as your uname -r results).

If all is well, we need to go to the /usr/src/linux directory and edit the Makefile ... like this:

cd /usr/src/linux
gedit Makefile

Find the line:

EXTRAVERSION = -xmdkcustom

and remove the custom, so it becomes


(the x is your version from uname -r)

Save the file and exit.
you should still be in the directory /usr/src/linux ... if not, do:

cd /usr/src/linux

Now we are going to remove all the old kernel build info from the source:

make mrproper

Now we need to copy the default configuration file from the /boot directroy to out current directory:

cp /boot/config-x.x.x-xmdk .config
(substitute your values for x.x.x-x based on uname -r)

Now we need to setup the new configuration based on the config file we just copied down.

make oldconfig
IF your kernel is 2.4.xx and not 2.6.x then this step is required ... not required for 2.6.x kernels:

Now we need to make the dependancies (2.4.xx kernels only):

make dep
Now you are ready to download the madwifi drivers. First create a directory to install from:

mkdir /tmp/wireless

Now download the drivers from my website and save the file into /tmp/wireless.

now go to /tmp/wireless and untar the drivers:

cd /tmp/wireless
tar -xvzf madwifi.tgz

now go to the driver source directory ...

cd /tmp/wireless/madwifi

now do the command ls -al and it should look like this:
[root@localhost madwifi]# ls -al
total 38
drwxr-xr-x  12 root root   432 Mar 10 19:02 ./
drwxr-xr-x   3 root root   104 Mar 25 06:53 ../
drwxr-xr-x   3 root root    72 Mar 10 18:58 ath/
drwxr-xr-x   3 root root    96 Mar 10 19:02 ath_hal/
-rw-r--r--   1 root root  2078 Jan 13 12:05 COPYRIGHT
drwxr-xr-x   2 root root   184 Mar 10 18:58 CVS/
drwxr-xr-x   3 root root   248 Mar 10 19:02 driver/
drwxr-xr-x   4 root root   272 Mar 10 18:58 hal/
drwxr-xr-x   4 root root   120 Mar 10 18:58 include/
-rw-r--r--   1 root root  2743 Mar  8 11:28 Makefile
-rw-r--r--   1 root root  3480 Mar  8 11:28
drwxr-xr-x   4 root root    96 Mar 10 18:58 net80211/
drwxr-xr-x   5 root root   120 Mar 10 18:58 patches/
-rw-r--r--   1 root root 14624 Mar  8 11:29 README
-rw-r--r--   1 root root  1985 Jan 13 12:05 release.h
drwxr-xr-x   3 root root   160 Mar 10 18:58 tools/
drwxr-xr-x   3 root root   488 Mar 10 19:02 wlan/

We are ready to make the new drivers with the command:


The last few lines should look like this:
make[2]: Leaving directory `/usr/src/linux-2.6.3-7mdk'
make[1]: Leaving directory `/tmp/wireless/madwifi/driver'

If they do, you are ready to install the driver with this command:

make install

if that worked without error, you are ready to try the drivers ... first, you will need the following packages installed: libiw and wireless-tools ... so do this command:

urpmi libiw wireless-tools

Now we are ready to see if you can connect to the wireless router ...

If you are already using this card with windows, you should know things like your SSID (the default is default) .... so let's create a configuration file for the wireless card like this:

cd /etc/sysconfig/network-scripts
gedit ifcfg-ath0

Insert the following text into the file:

save the file .... (if you have a different SSID than default and you know what it is, put it in the file instead)
you might also remark out the WIRELESS_RATE by putting a # infornt of it and allowing the card to select the best rate....

Now issue the commands:

modprobe wlan
modprobe ath_hal
modprobe ath_pci

Now issue the command:

ifup ath0

now use the command:

iwconfig ath0

to see if you have an IP address and you should be able to use the card...
if everything worked, you can make everything start on bootup by adding the following to your /etc/modules.conf file:

alias ath0 ath_pci
pre-install ath_pci modprobe ath_hal
pre-install ath_hal modprobe wlan
Wow... that's a lotta work. Guess I'd better get started. Thanks!
You're welcome ... it was a lot of typing too smile.gif !
QUOTE (hughesjr @ Mar 25 2004, 08:09 AM)
Now issue the commands:

modprobe wlan
modprobe ath_hal
modprobe ath_pci

Now issue the command:

ifup ath0

now use the command:

iwconfig ath0

to see if you have an IP address and you should be able to use the card...
if everything worked, you can make everything start on bootup by adding the following to your /etc/modules.conf file:

alias ath0 ath_pci
pre-install ath_pci modprobe ath_hal
pre-install ath_hal modprobe wlan

Everything was going great up until the quoted part...

modprobe wlan brought up a buncha text. modprobe ath_hal and modprobe ath_pci brought up nothing. And ifup ath0 brought the following:

/sbin/ifup: line 9: 3: command not found
Determining IP information for ath0... failed; no link present. Check cable?

I notice that the lights on the wireless card are blinking, so there's definate progress -- they used to just stay off.

I'm using 128-bit encryption on my wireless networking... is it possible that it doesn't detect the network because of that? Any idea what I may have done wrong if not? Either way... thanks for helping me as far as you have. A blinking light is better than no light at all, as my grand-daddy used to say. Of course, he was talking about faulty christmas-tree lights, but I figure it holds true here as well. wink.gif

Edit: I forgot to mention... whenever I tried to use 'gedit', it said "command not found". After a few moments of frustration, I tried 'kwrite' in place of 'gedit'. It seemed to work fine... but would that have caused any unseen problems?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2018 Invision Power Services, Inc.