Networking :: MADWiFi Driver with Kernel 2.4.26
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 $ ->
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.
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?
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.
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#
Next Page...
original here.