[gelöst] Fehler bei m-a a-i madwifi

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
simon-w
Beiträge: 2
Registriert: 13.07.2007 11:49:20

[gelöst] Fehler bei m-a a-i madwifi

Beitrag von simon-w » 13.07.2007 12:10:58

Hallo Leute!

Ich bin neu in Debian und habe folgendes Problem. Mein Notebook Z60t von IBM/Lenovo hat eine WLAN Karte mit Atheros Chipsatz. Um diese in Linux benutzen zu können habe ich folgende Schritte durchgeführt:

Erst habe ich folgende madwifi Pakete gezogen mit aptitude:

madwifi-source, madwifi-tools, madwifi-doc, wireless-tools und wpasupplicant

Dann gings so weiter:

Code: Alles auswählen

# cd /usr/src
# ln -s linux-headers-2.6.21-2-686 linux
# tar xjvf madwifi.tar.bz2
#  m-a prepare
Bis hier ging alles durch. Ich hatte überprüft, dass auch die Kernelversion stimmt und nachgesehen ob ich diese linux-headers-2.6.21-2-686 auch wirklich habe (keine Ahnung ob das nötig ist). Naja dann hab ich weitergemacht mit:

Code: Alles auswählen

 m-a a-i madwifi
Das geht erstmal ganz gut, bis er mittdendrin abbricht und sagt das es fehler gab. Man kann dann eine log file ansehen, die ich aber nicht verstehe. Die sieht so aus (Achtung lang!):

dh_testdir
dh_testroot
dh_clean
/usr/bin/make -C /usr/src/modules/madwifi clean \
KERNELPATH=/lib/modules/2.6.21-2-686/build KERNELRELEASE=2.6.21-2-686 KERNELCONF=/lib/modules/2.6.21-2-686/build/.config ATH_RATE=ath_rate/sample
make[1]: Entering directory `/usr/src/modules/madwifi'
for i in ./ath ./ath_hal ath_rate/sample ./net80211; do \
/usr/bin/make -C $i clean; \
done
make[2]: Entering directory `/usr/src/modules/madwifi/ath'
rm -f *~ *.o *.ko *.mod.c .*.cmd
rm -f .depend .version .*.o.flags .*.o.d
rm -rf .tmp_versions
make[2]: Leaving directory `/usr/src/modules/madwifi/ath'
make[2]: Entering directory `/usr/src/modules/madwifi/ath_hal'
rm -f *~ *.o *.ko *.mod.c uudecode .*.cmd
rm -f .depend .version .*.o.flags .*.o.d
rm -rf .tmp_versions
make[2]: Leaving directory `/usr/src/modules/madwifi/ath_hal'
make[2]: Entering directory `/usr/src/modules/madwifi/ath_rate/sample'
rm -f *~ *.o *.ko *.mod.c
rm -f .depend .version .*.o.flags .*.o.d .*.o.cmd .*.ko.cmd
rm -rf .tmp_versions
make[2]: Leaving directory `/usr/src/modules/madwifi/ath_rate/sample'
make[2]: Entering directory `/usr/src/modules/madwifi/net80211'
rm -f *~ *.o *.ko *.mod.c
rm -f .depend .version .*.o.flags .*.o.d .*.o.cmd .*.ko.cmd
rm -rf .tmp_versions
make[2]: Leaving directory `/usr/src/modules/madwifi/net80211'
/usr/bin/make -C ./tools clean
make[2]: Entering directory `/usr/src/modules/madwifi/tools'
rm -f athstats 80211stats athkey athchans athctrl athdebug 80211debug wlanconfig core a.out
make[2]: Leaving directory `/usr/src/modules/madwifi/tools'
rm -rf .tmp_versions
rm -f *.symvers svnversion.h
make[1]: Leaving directory `/usr/src/modules/madwifi'
/usr/bin/make -f debian/rules kdist_clean kdist_config binary-modules
make[1]: Entering directory `/usr/src/modules/madwifi'
dh_testdir
dh_testroot
dh_clean
/usr/bin/make -C /usr/src/modules/madwifi clean \
KERNELPATH=/lib/modules/2.6.21-2-686/build KERNELRELEASE=2.6.21-2-686 KERNELCONF=/lib/modules/2.6.21-2-686/build/.config ATH_RATE=ath_rate/sample
make[2]: Entering directory `/usr/src/modules/madwifi'
for i in ./ath ./ath_hal ath_rate/sample ./net80211; do \
/usr/bin/make -C $i clean; \
done
make[3]: Entering directory `/usr/src/modules/madwifi/ath'
rm -f *~ *.o *.ko *.mod.c .*.cmd
rm -f .depend .version .*.o.flags .*.o.d
rm -rf .tmp_versions
make[3]: Leaving directory `/usr/src/modules/madwifi/ath'
make[3]: Entering directory `/usr/src/modules/madwifi/ath_hal'
rm -f *~ *.o *.ko *.mod.c uudecode .*.cmd
rm -f .depend .version .*.o.flags .*.o.d
rm -rf .tmp_versions
make[3]: Leaving directory `/usr/src/modules/madwifi/ath_hal'
make[3]: Entering directory `/usr/src/modules/madwifi/ath_rate/sample'
rm -f *~ *.o *.ko *.mod.c
rm -f .depend .version .*.o.flags .*.o.d .*.o.cmd .*.ko.cmd
rm -rf .tmp_versions
make[3]: Leaving directory `/usr/src/modules/madwifi/ath_rate/sample'
make[3]: Entering directory `/usr/src/modules/madwifi/net80211'
rm -f *~ *.o *.ko *.mod.c
rm -f .depend .version .*.o.flags .*.o.d .*.o.cmd .*.ko.cmd
rm -rf .tmp_versions
make[3]: Leaving directory `/usr/src/modules/madwifi/net80211'
/usr/bin/make -C ./tools clean
make[3]: Entering directory `/usr/src/modules/madwifi/tools'
rm -f athstats 80211stats athkey athchans athctrl athdebug 80211debug wlanconfig core a.out
make[3]: Leaving directory `/usr/src/modules/madwifi/tools'
rm -rf .tmp_versions
rm -f *.symvers svnversion.h
make[2]: Leaving directory `/usr/src/modules/madwifi'
for templ in ; do \
cp $templ `echo $templ | sed -e 's/_KVERS_/2.6.21-2-686/g'` ; \
done
for templ in `ls debian/*.modules.in` ; do \
test -e ${templ%.modules.in}.backup || cp ${templ%.modules.in} ${templ%.modules.in}.backup 2>/dev/null || true; \
sed -e 's/##KVERS##/2.6.21-2-686/g ;s/#KVERS#/2.6.21-2-686/g ; s/_KVERS_/2.6.21-2-686/g ; s/##KDREV##/2.6.21-5/g ; s/#KDREV#/2.6.21-5/g ; s/_KDREV_/2.6.21-5/g ' < $templ > ${templ%.modules.in}; \
done
dh_testdir
dh_testroot
dh_clean -k
# Build modules
/usr/bin/make -C /usr/src/modules/madwifi modules \
KERNELPATH=/lib/modules/2.6.21-2-686/build KERNELRELEASE=2.6.21-2-686 KERNELCONF=/lib/modules/2.6.21-2-686/build/.config ATH_RATE=ath_rate/sample
make[2]: Entering directory `/usr/src/modules/madwifi'
Checking requirements... ok.
Checking kernel configuration... ok.
/usr/bin/make -C /lib/modules/2.6.21-2-686/build SUBDIRS=/usr/src/modules/madwifi modules
make[3]: Entering directory `/usr/src/linux-headers-2.6.21-2-686'
CC [M] /usr/src/modules/madwifi/ath/if_ath.o
In file included from <command line>:1:
/usr/src/modules/madwifi/ath/../include/compat.h:60:1: error: "__packed" redefined
In file included from include/linux/compiler-gcc4.h:4,
from include/linux/compiler.h:42,
from include/linux/stddef.h:4,
from include/linux/kernel.h:12,
from /usr/src/modules/madwifi/ath/../include/compat.h:47,
from <command line>:1:
include/linux/compiler-gcc.h:30:1: error: this is the location of the previous definition
In file included from include/asm/pci.h:6,
from include/linux/pci.h:744,
from /usr/src/modules/madwifi/ath/if_ath_pci.h:43,
from /usr/src/modules/madwifi/ath/if_ath.c:86:
include/linux/mm.h:658:1: error: "offset_in_page" redefined
In file included from /usr/src/modules/madwifi/ath/../net80211/if_media.h:44,
from /usr/src/modules/madwifi/ath/if_ath.c:66:
/usr/src/modules/madwifi/ath/../net80211/ieee80211_linux.h:431:1: error: this is the location of the previous definition
/usr/src/modules/madwifi/ath/if_ath.c:417:60: error: macro "INIT_WORK" passed 3 arguments, but takes just 2
/usr/src/modules/madwifi/ath/if_ath.c: In function 'ath_attach':
/usr/src/modules/madwifi/ath/if_ath.c:417: error: 'INIT_WORK' undeclared (first use in this function)
/usr/src/modules/madwifi/ath/if_ath.c:417: error: (Each undeclared identifier is reported only once
/usr/src/modules/madwifi/ath/if_ath.c:417: error: for each function it appears in.)
/usr/src/modules/madwifi/ath/if_ath.c: In function 'ath_vap_create':
/usr/src/modules/madwifi/ath/if_ath.c:1149: error: 'struct net_device' has no member named 'class_dev'
/usr/src/modules/madwifi/ath/if_ath.c: In function 'ath_dynamic_sysctl_register':
/usr/src/modules/madwifi/ath/if_ath.c:9573: error: too many arguments to function 'register_sysctl_table'
/usr/src/modules/madwifi/ath/if_ath.c: In function 'ath_sysctl_register':
/usr/src/modules/madwifi/ath/if_ath.c:9727: error: too many arguments to function 'register_sysctl_table'
make[5]: *** [/usr/src/modules/madwifi/ath/if_ath.o] Error 1
make[4]: *** [/usr/src/modules/madwifi/ath] Error 2
make[3]: *** [_module_/usr/src/modules/madwifi] Error 2
make[3]: Leaving directory `/usr/src/linux-headers-2.6.21-2-686'
make[2]: *** [modules] Error 2
make[2]: Leaving directory `/usr/src/modules/madwifi'
make[1]: *** [binary-modules] Error 2
make[1]: Leaving directory `/usr/src/modules/madwifi'
make: *** [kdist_build] Error 2
[/code]


Ich habe leider keine Ahnung was ich falsch gemacht habe, bzw was ich jetzt unternehmen kann. Ich habe das gleiche auch mit einem älteren kernel versuch 2.6.18-4-686 aber mit dem gleichen Ergebnis. Vielleicht kann einer von den Profis sich mal die log File anschauen und mir sagen was da schiefgeht.


Vielen Dank

Simon
Zuletzt geändert von simon-w am 15.07.2007 21:43:14, insgesamt 1-mal geändert.

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 13.07.2007 17:18:55

welche madwifi-source Version hast du im Einsatz ?

Code: Alles auswählen

root@gms4:~# dpkg -l madwifi-source
Gewünscht=Unbekannt/Installieren/R=Entfernen/P=Säubern/Halten
| Status=Nicht/Installiert/Config/U=Entpackt/Fehlgeschl. Konf./Halb install.
|/ Fehler?=(kein)/Halten/R=Neuinst notw/X=beide (Status, Fehler: GROSS=schlecht)
||/ Name           Version        Beschreibung
+++-==============-==============-============================================
ii  madwifi-source 1:0.9.3-2      source for the Multiband Atheros Driver for
Mit dieser Version und Kernel 2.6.21 hatte ich keine Probleme, anscheindend verwendest du jedoch eine andere Version, denn bei mir ist die Zeile 64, wo bei dir dieser Fehler kommt:

Code: Alles auswählen

/usr/src/modules/madwifi/ath/../include/compat.h:60:1: error: "__packed" redefined
leer, dafür gibt es bei mir etwas später folgenden Block

Code: Alles auswählen

#ifndef __packed
#define __packed        __attribute__((__packed__))
#endif
Nachdem hier aber extra abgefragt wird, ob __packed bereits definiert ist, wird es hier auch sicherlich nicht redefiniert

Versuche es daher einmal mit obiger madwifi-Version

Gruß
gms

simon-w
Beiträge: 2
Registriert: 13.07.2007 11:49:20

Beitrag von simon-w » 15.07.2007 21:44:34

Ich hatte tatsächlich vorher eine andere (ältere) madwifi-source version. Mit der von dir angegebenen Version hat es problemlos geklappt. Danke :-)


Gruß

Simon

Antworten