MADWiFi Driver with Kernel 2.4.26


Forum: Networking
Topic: MADWiFi Driver with Kernel 2.4.26
started by: lub997

Posted by lub997 on July 27 2005,05:34
Having trouble compiling the madwifi driver < http://madwifi.sourceforge.net/ > for my D-Link DWL-G630 wireless card with the Atheros chip. I installed the kernel source, and there is a symbolic link from /usr/src/linux-2.4.26 to /usr/src/linux, and there is a sybmolic link from /usr/src/linux-2.4.26 to /lib/modules/2.4.26/build, but I am still getting the following error, and I do not know what is causing it. I have already tried the madwifi forum, and many people tried to help me, but I have come to the conclusion that it is a problem with Damn Small Linux and not a problem with the madwifi driver. Does anybody know what would cause this error on Damn Small Linux with the 2.4.26 kernel?

dsl ~/madwifi $ -> make KERNELPATH=/usr/src/linux-2.4.26 KERNELRELEASE=2.4.26
Checking if all requirements are met... ok.
mkdir -p ./symbols
for i in ./ath_hal ath_rate/sample ./net80211 ./ath; do \
      make -C $i || exit 1; \
done
make[1]: Entering directory `/home/dsl/madwifi/ath_hal'
make -C /usr/src/linux-2.4.26 SUBDIRS=/home/dsl/madwifi/ath_hal MODVERDIR=/home/dsl/madwifi/../symbols modules
make[2]: Entering directory `/usr/src/linux-2.4.26'
make[2]: *** No rule to make target `modules'. Stop.
make[2]: Leaving directory `/usr/src/linux-2.4.26'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/dsl/madwifi/ath_hal'
make: *** [all] Error 1
dsl ~/madwifi $ ->

Here is more detailed output that I got from adding -d to the make command, which does just that; makes more detailed output from make.


dsl ~/madwifi $ -> make -d KERNELPATH=/usr/src/linux-2.4.26 KERNELRELEASE=2.4.26
GNU Make 3.80
Copyright © 2002  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Reading makefiles...
Reading makefile `Makefile'...
Reading makefile `Makefile.inc' (search path) (no ~ expansion)...
Reading makefile `hal/public/i386-elf.inc' (search path) (no ~ expansion)...
Reading makefile `/usr/src/linux-2.4.26/.config' (search path) (no ~ expansion)...
Updating makefiles....
Considering target file `/usr/src/linux-2.4.26/.config'.
 Looking for an implicit rule for `/usr/src/linux-2.4.26/.config'.
 Trying pattern rule with stem `.config'.
 Trying implicit prerequisite `/usr/src/linux-2.4.26/.config.o'.
 Trying pattern rule with stem `.config'.
 Trying implicit prerequisite `/usr/src/linux-2.4.26/.config.c'.
 Trying pattern rule with stem `.config'.
 Trying implicit prerequisite `/usr/src/linux-2.4.26/.config.cc'.
 Trying pattern rule with stem `.config'.
 Trying implicit prerequisite `/usr/src/linux-2.4.26/.config.C'.
 Trying pattern rule with stem `.config'.
 Trying implicit prerequisite `/usr/src/linux-2.4.26/.config.cpp'.
 Trying pattern rule with stem `.config'.
 Trying implicit prerequisite `/usr/src/linux-2.4.26/.config.p'.
 Trying pattern rule with stem `.config'.
 Trying implicit prerequisite `/usr/src/linux-2.4.26/.config.f'.
.............Goes on endlessly for so long that I cannot post it all on here. The website will not let me. Then ends with the following.
   Trying pattern rule with stem `modules.S'.
   Trying implicit prerequisite `RCS/modules.S,v'.
   Trying pattern rule with stem `modules.S'.
   Trying implicit prerequisite `RCS/modules.S'.
   Trying pattern rule with stem `modules.S'.
   Trying implicit prerequisite `s.modules.S'.
   Trying pattern rule with stem `modules.S'.
   Trying implicit prerequisite `SCCS/s.modules.S'.
 Trying pattern rule with stem `modules'.
 Rejecting impossible implicit prerequisite `modules.S'.
 Trying pattern rule with stem `modules'.
 Trying implicit prerequisite `modules.mod'.
 Looking for a rule with intermediate file `modules.mod'.
  Avoiding implicit rule recursion.
  Avoiding implicit rule recursion.
  Trying pattern rule with stem `modules.mod'.
  Trying implicit prerequisite `modules.mod,v'.
  Trying pattern rule with stem `modules.mod'.
  Trying implicit prerequisite `RCS/modules.mod,v'.
  Trying pattern rule with stem `modules.mod'.
  Trying implicit prerequisite `RCS/modules.mod'.
  Trying pattern rule with stem `modules.mod'.
  Trying implicit prerequisite `s.modules.mod'.
  Trying pattern rule with stem `modules.mod'.
  Trying implicit prerequisite `SCCS/s.modules.mod'.
Trying pattern rule with stem `modules'.
Rejecting impossible implicit prerequisite `modules.c'.
Trying pattern rule with stem `modules'.
Rejecting impossible implicit prerequisite `modules.cc'.
Trying pattern rule with stem `modules'.
Rejecting impossible implicit prerequisite `modules.C'.
Trying pattern rule with stem `modules'.
Rejecting impossible implicit prerequisite `modules.cpp'.
Trying pattern rule with stem `modules'.
Rejecting impossible implicit prerequisite `modules.p'.
Trying pattern rule with stem `modules'.
Rejecting impossible implicit prerequisite `modules.f'.
Trying pattern rule with stem `modules'.
Rejecting impossible implicit prerequisite `modules.F'.
Trying pattern rule with stem `modules'.
Rejecting impossible implicit prerequisite `modules.r'.
Trying pattern rule with stem `modules'.
Rejecting impossible implicit prerequisite `modules.s'.
Trying pattern rule with stem `modules'.
Rejecting impossible implicit prerequisite `modules.S'.
Trying pattern rule with stem `modules'.
Rejecting impossible implicit prerequisite `modules.mod'.
Trying pattern rule with stem `modules'.
Trying implicit prerequisite `modules.sh'.
Looking for a rule with intermediate file `modules.sh'.
 Avoiding implicit rule recursion.
 Trying pattern rule with stem `modules.sh'.
 Trying implicit prerequisite `modules.sh,v'.
 Trying pattern rule with stem `modules.sh'.
 Trying implicit prerequisite `RCS/modules.sh,v'.
 Trying pattern rule with stem `modules.sh'.
 Trying implicit prerequisite `RCS/modules.sh'.
 Trying pattern rule with stem `modules.sh'.
 Trying implicit prerequisite `s.modules.sh'.
 Trying pattern rule with stem `modules.sh'.
 Trying implicit prerequisite `SCCS/s.modules.sh'.
No implicit rule found for `modules'.
Finished prerequisites of target file `modules'.
Must remake target `modules'.
make[2]: Entering directory `/usr/src/linux-2.4.26'
make[2]: Leaving directory `/usr/src/linux-2.4.26'
Got a SIGCHLD; 1 unreaped children.
Reaping losing child 0x080795d0 PID 7215
Removing child 0x080795d0 PID 7215 from chain.
make[1]: Leaving directory `/home/dsl/madwifi/ath_hal'
Got a SIGCHLD; 1 unreaped children.
Reaping losing child 0x080957e8 PID 7208
Removing child 0x080957e8 PID 7208 from chain.
dsl ~/madwifi $ ->

Posted by tempestuous on July 27 2005,06:04
lub997,
You should not have to compile the madwifi driver at all, it's already in DSL - /lib/modules/2.4.26/net/ath_pci.o

But check to make sure your D-Link G630 does, indeed, have the Atheros chipset.  There are some G630's, versions A and B apparently, which have the Texas Instruments chipset.  There is a dedicated Linux driver for this from < http://acx100.sourceforge.net >
DSL does not have this driver, so you would need to compile it ... or ndiswrapper could be used instead.

Posted by lub997 on July 27 2005,06:41
You are correct. I do have ath_pci.o in /lib/modules/2.4.26/net/, and I was completely unaware of it. Now that I know I have the ath_pci.o module, how do I use it? I did check already, and I do have the version C2 Atheros chipset. <<lspci>> confirmed that it is Atheros, and the back of the card says it is version C2. When I boot up DSL it automatically recognizes my regular non-wireless ethernet pcmcia card and it works great, but using my wireless card with the Atheros chip I go into Firefox and am unable to get any websites. Now that I know I already have the driver, what do I need to do to make it work?
Posted by tempestuous on July 27 2005,08:14
I can't give you the complete instructions, just pointers.
See < http://madwifi.sourceforge.net/dokuwik....0c2848f >
You need to modify /etc/network/interfaces so that hotplug will bring up interface "ath0" when it detects your card.

Run "lsmod" to see if DSL has automatically loaded the ath_pci module.  If not, load it manually -
modprobe ath_pci
In fact, it's probably a good idea to reload it now that you have changed the /etc/network/interfaces file ... or maybe even reboot.

Now use iwconfig to (manually) set things up.  I'm not familiar with iwconfig, but it's going to be something like -
iwconfig ath0 ......
Obviously you need to define your SSID, WEP key, and wireless mode.

Once you know it works, I think the configuration information can be added to /etc/network/interfaces so that your wireless connection will happen automatically when your card is inserted.

Posted by lub997 on July 27 2005,21:27
root@box:/home/dsl# modprobe ath_pci
Warning: loading /lib/modules/2.4.26/net/ath_hal.o will taint the kernel: non-GPL license - Proprietary
See < http://www.tux.org/lkml/#export-tainted > for information about tainted modules
Module ath_hal loaded, with warnings
Module wlan loaded, with warnings
/lib/modules/2.4.26/net/ath_pci.o: init_module: No such device
Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters.
    You may find more information in syslog or the output from dmesg
/lib/modules/2.4.26/net/ath_pci.o: insmod /lib/modules/2.4.26/net/ath_pci.o failed
/lib/modules/2.4.26/net/ath_pci.o: insmod ath_pci failed
root@box:/home/dsl#

Posted by jimbo62 on July 28 2005,18:06
I have a D-Link DWL G650 wireless PC card. It has the Atheros chip set. (D-Link Tech support verified, and I used the madwifi driver to get the card to work in a Debian Sarge system.)

When I read this thread, I put the card in a laptop that has DSLinux 1.2.1 installed. The card was recognized on boot. lsmod shows the ath_pci module present. iwconfig shows ath0 as a wireless interface. So, I configured as follows:

ifconfig ath0 192.168.0.103
route add default gw 192.168.0.1

Firefox immediately connects to the Internet. So, it appears that there is no problem with the Atheros chip set in DSLinux, at least in version 1.2.1 on my laptop with the D-link DWL G650 PC card.

Good luck, jimbo

Posted by lub997 on July 29 2005,19:27
Well, I finally got it working, but I had to use ndiswrapper to do it. I really wanted to use the ath_pci.o module as opposed to using ndiswrapper, as I really don't like the idea of using non-Linux drivers on my laptop, and especially don't like the idea of using a Windows driver. However, I have to admit, it works, it works well, and it is extremely fast, and I'm using my wireless card to type this right now from the opposite side of the house that my router is in, and so clearly ndiswrapper works with this card. In case anybody else runs across the same problem I had with this cards compatability wth DSL, I'll tell how I got it to work on my laptop. I will stress again that I had completely no success with the madwifi driver even though the module was already included with DSL and I unknowingly didn't even need to compile it. Still can't get that driver to compile, and still can't get the ath_pci.o included with DSL to work at all either. Still getting an insmod error when I try to load it. This is how I did get it to work. I gave up on the madwifi driver (but only for the time being) and messed around with ndiswrapper. I mounted my included software CD that I got with the wireless card, copied the directory structure off of it into my directory on DSL <<cp -r whatever is in /mnt/cdrom to /home/dsl/ (will be different for everyone)>>. Then I had all the driver files on my hard drive to play around with. Located the .inf file. For my card it is net5211.inf, and was under /home/dsl/dlink/Drivers/ directory that I had copied from /mnt/cdrom. I did not use ndiswrapper from the command line because I am new to wireless and networking in general and although <<ndiswrapper --help>> only showed about 3 command line options, I had no clue what they meant. So, instead, I used the ndiswrapper GUI available under System>Net Setup>ndiswrapper on the menu you get when you right click on the background in DSL. There are only 3 things it asks you for this way, and I had pretty much no clue what any of them meant, so I opened up the manual that came with my router and figured it out. It asks you on the first line for the location of the .inf file for your windows driver. For mine it was of course the net5211.inf, and I used the full path with it, not just the filename. Then it asks you for SID, and this is where I got lost because I had never heard of an SID before. So, I googled and became even more confused, and then went and looked at my uncle's Windows XP machine that was already using my wireless router via a USB wireless contraptions of some type, and poked and prodded the connection settings under the Network Places folder or whatever Windows calls it, and found that though his connection settings to my router said nothing about and SID, they did show and ESSID, which sounded kind of similar, so I took that ESSID and typed it in on my laptop running DSL under SID, and then there was a 3rd thing it asked for under SID, and that was WEP, and again, I had no clue what it meant, and never with any amount of googling did I become clear on what that exactly is, so I just left it blank, and clicked ok. Then I went to the command line as root and typed <<ndiswrapper -l>> and it showed that ndiswrapper had in fact installed my net5211.inf driver, and that the hardware for the driver was indeed present in my PCMCIA port. At that point, I typed <<wlanconfig>> and it showed a connection called "wlan0" which I was quite skeptical would actually work, since I had tried it a few times before not knowing what I was doing, and it hadn't worked before. However, now that I had set it up with a SID, <<wlanconfig>> showed something new for wlan0 that it hadn't shown before called an access point (this had previously been blank), so I figured I'd give it a try in Firefox, and now it works, and I'm typing this onto this forum using my wireless card. For a lot of people I'm sure this stuff is all obvious, but I was new to wireless and networking at all really, so if anybody else has this problem in the future with DSL and this card that doesn't know what they are doing when it comes to wireless, maybe this will help. I'd still like to figure out the madwifi driver though, even though this driver works fine and quite fast, because I really do hate the idea of using a Windows driver on Linux. The thought of it just screams things like "instability," "blue screen of death," and my personal favorite "illegal operation;" phrases I never hope to see on linux.
Posted by SleepWalkerX on July 30 2005,02:32
how did you prevent the madwifi drivers from starting up?  i'm having the same problem with them with a linksys wpc55ag card.  i can't scan for an ap.  even right next to it..
Posted by tempestuous on July 31 2005,06:23
I just compiled the latest madwifi drivers from CVS source.  Email me if anyone wants them.
Powered by Ikonboard 3.1.2a
Ikonboard © 2001 Jarvis Entertainment Group, Inc.