When trying to compile MadWifi against kernel 2.6.22, I get the following error:
zaphod:/usr/src/modules/madwifi# make
Checking requirements... ok.
Checking kernel configuration... ok.
make -C /usr/src/linux SUBDIRS=/usr/src/modules/madwifi modules
make[1]: Entering directory `/usr/src/linux-2.6.22'
CC [M] /usr/src/modules/madwifi/ath/if_ath_pci.o
cc1: warnings being treated as errors
/usr/src/modules/madwifi/ath/if_ath_pci.c: In function 'ath_pci_probe':
/usr/src/modules/madwifi/ath/if_ath_pci.c:210: warning: 'deprecated_irq_flag' is deprecated (declared at include/linux/interrupt.h:66)
make[3]: *** [/usr/src/modules/madwifi/ath/if_ath_pci.o] Error 1
make[2]: *** [/usr/src/modules/madwifi/ath] Error 2
make[1]: *** [_module_/usr/src/modules/madwifi] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.22'
make: *** [modules] Error 2
So I replace interrupt.h with one from a previous kernel version (2.6.18), and run again. This time another error:
zaphod:/usr/src/modules/madwifi# make
Checking requirements... ok.
Checking kernel configuration... ok.
make -C /usr/src/linux SUBDIRS=/usr/src/modules/madwifi modules
make[1]: Entering directory `/usr/src/linux-2.6.22'
CC [M] /usr/src/modules/madwifi/ath/if_ath_pci.o
cc1: warnings being treated as errors
/usr/src/modules/madwifi/ath/if_ath_pci.c: In function 'ath_pci_probe':
/usr/src/modules/madwifi/ath/if_ath_pci.c:210: warning: passing argument 2 of 'request_irq' from incompatible pointer type
make[3]: *** [/usr/src/modules/madwifi/ath/if_ath_pci.o] Error 1
make[2]: *** [/usr/src/modules/madwifi/ath] Error 2
make[1]: *** [_module_/usr/src/modules/madwifi] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.22'
make: *** [modules] Error 2
At one point I had this error as well, but can't seem to replicate it anymore:
zaphod:/usr/src/modules/madwifi# make
Checking requirements... ok.
Checking kernel configuration... ok.
make -C /usr/src/linux SUBDIRS=/usr/src/modules/madwifi modules
make[1]: Entering directory `/usr/src/linux-2.6.22'
CC [M] /usr/src/modules/madwifi/net80211/ieee80211_input.o
/usr/src/modules/madwifi/net80211/ieee80211_input.c: In function 'ieee80211_deliver_data':
/usr/src/modules/madwifi/net80211/ieee80211_input.c:1139: error: 'struct sk_buff' has no member named 'mac'
/usr/src/modules/madwifi/net80211/ieee80211_input.c:1140: error: 'struct sk_buff' has no member named 'nh'
/usr/src/modules/madwifi/net80211/ieee80211_input.c: In function 'forward_mgmt_to_app':
/usr/src/modules/madwifi/net80211/ieee80211_input.c:2262: error: 'struct sk_buff' has no member named 'mac'
/usr/src/modules/madwifi/net80211/ieee80211_input.c: In function 'ieee80211_deliver_l2uf':
/usr/src/modules/madwifi/net80211/ieee80211_input.c:2537: error: 'struct sk_buff' has no member named 'mac'
/usr/src/modules/madwifi/net80211/ieee80211_input.c: In function 'ath_eth_type_trans':
/usr/src/modules/madwifi/net80211/ieee80211_input.c:3716: error: 'struct sk_buff' has no member named 'mac'
/usr/src/modules/madwifi/net80211/ieee80211_input.c:3723: error: 'struct sk_buff' has no member named 'mac'
make[3]: *** [/usr/src/modules/madwifi/net80211/ieee80211_input.o] Error 1
make[2]: *** [/usr/src/modules/madwifi/net80211] Error 2
make[1]: *** [_module_/usr/src/modules/madwifi] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.22'
make: *** [modules] Error 2
Any help would be much appreciated - this is on Debian Lenny.