Today I’ve got an AR9285 Atheros WLAN that I must make it work for MKU-model. The dead line is 2 days, since there are so many backlog I must complete for testqc and MNG-Model.
Unfortunately the AR9285 only supported with kernel 2.6.29 and above regardless to linuxwireless.org, and I’m still using kernel 2.6.27 series kernel for KLIXs-2010. Lacking of supported stock working stable kernel then I must think to compile this ath9k modules without having to recompile my entire kernel, and thank God there are a compat wireless module from linuxwireless.org that save me this time.
Grab the compat wireless package from here , and following the needed steps there :
[root@localhost compat-wireless-2.6.32.2]# ls
compat/ compat-release config.mk COPYRIGHT drivers/ git-describe include/ Makefile net/ README scripts/
[root@localhost compat-wireless-2.6.32.2]# ./scripts/driver-select ath9k
Processing new driver-select request…
Backing up makefile: Makefile.bk
Backing up makefile: drivers/net/wireless/Makefile.bk
Backing up makefile: drivers/net/wireless/ath/Makefile.bk
Backing up makefile: net/wireless/Makefile.bk
Backing up makefile: drivers/net/Makefile.bk
Backing up makefile: drivers/ssb/Makefile.bk
Backing up makefile: drivers/net/usb/Makefile.bk
Backing up makefile: drivers/misc/eeprom/Makefile.bk
[root@localhost compat-wireless-2.6.32.2]# make
./scripts/gen-compat-autoconf.sh config.mk > include/linux/compat_autoconf.h
make -C /lib/modules/2.6.27.31.jf5/build M=/usr/src/compat-wireless-2.6.32.2 modules
make[1]: Entering directory `/usr/src/linux-2.6.27.31.jf5′
CC [M] /usr/src/compat-wireless-2.6.32.2/drivers/net/wireless/ath/main.o
CC [M] /usr/src/compat-wireless-2.6.32.2/drivers/net/wireless/ath/regd.o
LD [M] /usr/src/compat-wireless-2.6.32.2/drivers/net/wireless/ath/ath.o
CC [M] /usr/src/compat-wireless-2.6.32.2/drivers/net/wireless/ath/ath9k/hw.o
CC [M] /usr/src/compat-wireless-2.6.32.2/drivers/net/wireless/ath/ath9k/eeprom.o
CC [M] /usr/src/compat-wireless-2.6.32.2/drivers/net/wireless/ath/ath9k/eeprom_def.o
CC [M] /usr/src/compat-wireless-2.6.32.2/drivers/net/wireless/ath/ath9k/eeprom_4k.o
CC [M] /usr/src/compat-wireless-2.6.32.2/drivers/net/wireless/ath/ath9k/eeprom_9287.o
CC [M] /usr/src/compat-wireless-2.6.32.2/drivers/net/wireless/ath/ath9k/mac.o
CC [M] /usr/src/compat-wireless-2.6.32.2/drivers/net/wireless/ath/ath9k/calib.o
CC [M] /usr/src/compat-wireless-2.6.32.2/drivers/net/wireless/ath/ath9k/ani.o
CC [M] /usr/src/compat-wireless-2.6.32.2/drivers/net/wireless/ath/ath9k/phy.o
CC [M] /usr/src/compat-wireless-2.6.32.2/drivers/net/wireless/ath/ath9k/beacon.o
CC [M] /usr/src/compat-wireless-2.6.32.2/drivers/net/wireless/ath/ath9k/main.o
CC [M] /usr/src/compat-wireless-2.6.32.2/drivers/net/wireless/ath/ath9k/recv.o
CC [M] /usr/src/compat-wireless-2.6.32.2/drivers/net/wireless/ath/ath9k/xmit.o
CC [M] /usr/src/compat-wireless-2.6.32.2/drivers/net/wireless/ath/ath9k/virtual.o
CC [M] /usr/src/compat-wireless-2.6.32.2/drivers/net/wireless/ath/ath9k/rc.o
CC [M] /usr/src/compat-wireless-2.6.32.2/drivers/net/wireless/ath/ath9k/btcoex.o
CC [M] /usr/src/compat-wireless-2.6.32.2/drivers/net/wireless/ath/ath9k/pci.o
LD [M] /usr/src/compat-wireless-2.6.32.2/drivers/net/wireless/ath/ath9k/ath9k.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/mac80211/main.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/mac80211/sta_info.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/mac80211/wep.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/mac80211/wpa.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/mac80211/scan.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/mac80211/ht.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/mac80211/agg-tx.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/mac80211/agg-rx.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/mac80211/ibss.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/mac80211/mlme.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/mac80211/iface.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/mac80211/rate.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/mac80211/michael.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/mac80211/tkip.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/mac80211/aes_ccm.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/mac80211/aes_cmac.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/mac80211/cfg.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/mac80211/rx.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/mac80211/spectmgmt.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/mac80211/tx.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/mac80211/key.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/mac80211/util.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/mac80211/wme.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/mac80211/event.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/mac80211/led.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/mac80211/mesh.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/mac80211/mesh_pathtbl.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/mac80211/mesh_plink.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/mac80211/mesh_hwmp.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/mac80211/pm.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/mac80211/rc80211_pid_algo.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/mac80211/rc80211_minstrel.o
LD [M] /usr/src/compat-wireless-2.6.32.2/net/mac80211/mac80211.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/rfkill/core.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/rfkill/input.o
LD [M] /usr/src/compat-wireless-2.6.32.2/net/rfkill/rfkill_backport.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/wireless/core.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/wireless/sysfs.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/wireless/radiotap.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/wireless/util.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/wireless/reg.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/wireless/scan.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/wireless/nl80211.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/wireless/mlme.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/wireless/ibss.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/wireless/sme.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/wireless/chan.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/wireless/wext-compat.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/wireless/wext-sme.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/wireless/compat-2.6.28.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/wireless/compat-2.6.29.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/wireless/compat-2.6.30.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/wireless/compat-2.6.31.o
CC [M] /usr/src/compat-wireless-2.6.32.2/net/wireless/compat-2.6.32.o
LD [M] /usr/src/compat-wireless-2.6.32.2/net/wireless/cfg80211.o
Building modules, stage 2.
MODPOST 5 modules
CC /usr/src/compat-wireless-2.6.32.2/drivers/net/wireless/ath/ath.mod.o
LD [M] /usr/src/compat-wireless-2.6.32.2/drivers/net/wireless/ath/ath.ko
CC /usr/src/compat-wireless-2.6.32.2/drivers/net/wireless/ath/ath9k/ath9k.mod.o
LD [M] /usr/src/compat-wireless-2.6.32.2/drivers/net/wireless/ath/ath9k/ath9k.ko
CC /usr/src/compat-wireless-2.6.32.2/net/mac80211/mac80211.mod.o
LD [M] /usr/src/compat-wireless-2.6.32.2/net/mac80211/mac80211.ko
CC /usr/src/compat-wireless-2.6.32.2/net/rfkill/rfkill_backport.mod.o
LD [M] /usr/src/compat-wireless-2.6.32.2/net/rfkill/rfkill_backport.ko
CC /usr/src/compat-wireless-2.6.32.2/net/wireless/cfg80211.mod.o
LD [M] /usr/src/compat-wireless-2.6.32.2/net/wireless/cfg80211.ko
make[1]: Leaving directory `/usr/src/linux-2.6.27.31.jf5′
[root@localhost compat-wireless-2.6.32.2]# make installYour old wireless subsystem modules were left intact:
kernel/net/mac80211/mac80211.ko.gz
kernel/net/wireless/cfg80211.ko.gz
kernel/drivers/net/wireless/adm8211.ko.gz
kernel/drivers/net/wireless/ath9k/ath9k.ko.gz
kernel/drivers/net/wireless/b43/b43.ko.gz
kernel/drivers/net/wireless/b43legacy/b43legacy.ko.gz
kernel/drivers/net/b44.ko.gz
kernel/drivers/net/usb/cdc_ether.ko.gz
kernel/drivers/misc/eeprom_93cx6.ko.gz
kernel/drivers/net/wireless/ipw2100.ko.gz
kernel/drivers/net/wireless/ipw2200.ko.gz
kernel/drivers/net/wireless/iwlwifi/iwl3945.ko.gz
kernel/drivers/net/wireless/iwlwifi/iwlagn.ko.gz
kernel/drivers/net/wireless/iwlwifi/iwlcore.ko.gz
kernel/drivers/net/wireless/libertas/libertas.ko.gz
kernel/drivers/net/wireless/libertas/libertas_cs.ko.gz
kernel/drivers/net/wireless/libertas/libertas_sdio.ko.gz
kernel/drivers/net/wireless/mac80211_hwsim.ko.gz
kernel/drivers/net/wireless/p54/p54common.ko.gz
kernel/drivers/net/wireless/p54/p54pci.ko.gz
kernel/drivers/net/wireless/p54/p54usb.ko.gz
kernel/drivers/net/usb/rndis_host.ko.gz
kernel/drivers/net/wireless/rndis_wlan.ko.gz
kernel/drivers/net/wireless/rt2x00/rt2400pci.ko.gz
kernel/drivers/net/wireless/rt2x00/rt2500pci.ko.gz
kernel/drivers/net/wireless/rt2x00/rt2500usb.ko.gz
kernel/drivers/net/wireless/rt2x00/rt2x00lib.ko.gz
kernel/drivers/net/wireless/rt2x00/rt2x00pci.ko.gz
kernel/drivers/net/wireless/rt2x00/rt2x00usb.ko.gz
kernel/drivers/net/wireless/rt2x00/rt61pci.ko.gz
kernel/drivers/net/wireless/rt2x00/rt73usb.ko.gz
kernel/drivers/net/wireless/rtl8180.ko.gz
kernel/drivers/net/wireless/rtl8187.ko.gz
kernel/drivers/ssb/ssb.ko.gz
kernel/drivers/net/wireless/libertas/usb8xxx.ko.gz
kernel/drivers/net/usb/usbnet.ko.gz
kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko.gzmake -C /lib/modules/2.6.27.31.jf5/build M=/usr/src/compat-wireless-2.6.32.2 “INSTALL_MOD_DIR=updates”
modules_install
make[1]: Entering directory `/usr/src/linux-2.6.27.31.jf5′
INSTALL /usr/src/compat-wireless-2.6.32.2/drivers/net/wireless/ath/ath.ko
INSTALL /usr/src/compat-wireless-2.6.32.2/drivers/net/wireless/ath/ath9k/ath9k.ko
INSTALL /usr/src/compat-wireless-2.6.32.2/net/mac80211/mac80211.ko
INSTALL /usr/src/compat-wireless-2.6.32.2/net/rfkill/rfkill_backport.ko
INSTALL /usr/src/compat-wireless-2.6.32.2/net/wireless/cfg80211.ko
DEPMOD 2.6.27.31.jf5
make[1]: Leaving directory `/usr/src/linux-2.6.27.31.jf5′
./scripts/update-initramfs: line 11: /usr/bin/lsb_release: No such file or directory
Warning:
You may or may not need to update your initframfs, you should if
any of the modules installed are part of your initramfs. To add
support for your distribution to do this automatically send a
patch against ./scripts/update-initramfs. If your distribution does not require this
send a patch against the ‘/usr/bin/lsb_release -i -s’:
tag for your distribution to avoid this warning.Note: madwifi detected, we’re going to disable it. If you would like to enable it later you can run:
sudo athenable madwifiRunning athenable ath5k…
depmod will prefer updates/ over kernel/ — OK!Currently detected wireless subsystem modules:
updates/net/mac80211/mac80211.ko.gz
updates/net/wireless/cfg80211.ko.gz
kernel/drivers/net/wireless/adm8211.ko.gz
updates/drivers/net/wireless/ath/ath.ko.gz
updates/drivers/net/wireless/ath/ath9k/ath9k.ko.gz
kernel/drivers/net/wireless/b43/b43.ko.gz
kernel/drivers/net/wireless/b43legacy/b43legacy.ko.gz
kernel/drivers/net/b44.ko.gz
kernel/drivers/net/usb/cdc_ether.ko.gz
kernel/drivers/misc/eeprom_93cx6.ko.gz
kernel/drivers/net/wireless/ipw2100.ko.gz
kernel/drivers/net/wireless/ipw2200.ko.gz
kernel/drivers/net/wireless/iwlwifi/iwl3945.ko.gz
kernel/drivers/net/wireless/iwlwifi/iwlagn.ko.gz
kernel/drivers/net/wireless/iwlwifi/iwlcore.ko.gz
kernel/drivers/net/wireless/libertas/libertas.ko.gz
kernel/drivers/net/wireless/libertas/libertas_cs.ko.gz
kernel/drivers/net/wireless/libertas/libertas_sdio.ko.gz
kernel/drivers/net/wireless/mac80211_hwsim.ko.gz
kernel/drivers/net/wireless/p54/p54common.ko.gz
kernel/drivers/net/wireless/p54/p54pci.ko.gz
kernel/drivers/net/wireless/p54/p54usb.ko.gz
kernel/drivers/net/usb/rndis_host.ko.gz
kernel/drivers/net/wireless/rndis_wlan.ko.gz
kernel/drivers/net/wireless/rt2x00/rt2400pci.ko.gz
kernel/drivers/net/wireless/rt2x00/rt2500pci.ko.gz
kernel/drivers/net/wireless/rt2x00/rt2500usb.ko.gz
kernel/drivers/net/wireless/rt2x00/rt2x00lib.ko.gz
kernel/drivers/net/wireless/rt2x00/rt2x00pci.ko.gz
kernel/drivers/net/wireless/rt2x00/rt2x00usb.ko.gz
kernel/drivers/net/wireless/rt2x00/rt61pci.ko.gz
kernel/drivers/net/wireless/rt2x00/rt73usb.ko.gz
kernel/drivers/net/wireless/rtl8180.ko.gz
kernel/drivers/net/wireless/rtl8187.ko.gz
kernel/drivers/ssb/ssb.ko.gz
kernel/drivers/net/wireless/libertas/usb8xxx.ko.gz
kernel/drivers/net/usb/usbnet.ko.gz
kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko.gzNow run:
make unload
And then load the wireless module you need. If unsure reboot.
[root@localhost compat-wireless-2.6.32.2]# make unload
[root@localhost compat-wireless-2.6.32.2]# modprobe ath9k
[root@localhost compat-wireless-2.6.32.2]#
Done! Now the AR9285 can detect my home wireless and connected without hassles. Do a remaster within next hour and I can watch my favourite Top Gear TV shows on BBC knowledge …. yeeehaaa !