Table of Contents
The D-link DWA-547 wlan-card with linux as of December 2008
requirement -> solution
If you need the D-link DWA-547 working under linux in
- station-mode (so connected to an access point): the ath9k-driver is good for that
- hostap-mode (so card can be used as an AccessPoint itself): the madwifi-driver is good for that
- monitor-mode (so you can see other networks): the ath9k-driver does thid
- adhoc-mode: the ath9k-driver is good for that
data
- D-link DWA-547
# lspci -vv
...
00:0b.0 Network controller: Atheros Communications Inc. AR5416 802.11abgn Wireless PCI Adapter (rev 01)
Subsystem: D-Link System Inc Device 3a6b
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 168, Cache Line Size: 32 bytes
Interrupt: pin A routed to IRQ 19
Region 0: Memory at bd800000 (32-bit, non-prefetchable) [size=64K]
Capabilities: [40] #80 [0000]
Kernel driver in use: ath9k
Kernel modules: ath9k
- debian unstable/udev with kernel 2.6.29-2 loads ath9k module
- debian unstables old linux-image-2.6.26 doesnt contain the ath9k driver
madwifi driver
- madwifi is the older, unfree driver, but usually provides all modes one could want (all 4)
- problems to compile madwifi on kernels >2.6.28, you should use oder kernels or just use AdHoc mode
- http://madwifi-project.org/wiki/Compatibility/D-Link - lists DWA-547 as supported
- madwifi 0.9.4 cannot be compiled with this:
CC [M] /home/chris/madwifi-0.9.4/net80211/ieee80211_power.o /home/chris/madwifi-0.9.4/net80211/ieee80211_power.c: In function 'ieee80211_pwrsave': /home/chris/madwifi-0.9.4/net80211/ieee80211_power.c:240: error: implicit declaration of function '__skb_append' make[3]: *** [/home/chris/madwifi-0.9.4/net80211/ieee80211_power.o] Error 1 make[2]: *** [/home/chris/madwifi-0.9.4/net80211] Error 2 make[1]: *** [_module_/home/chris/madwifi-0.9.4] Error 2 make[1]: Leaving directory `/usr/src/linux-headers-2.6.26-1-686' make: *** [modules] Error 2
- checking out current madwifi with svn co http://svn.madwifi-project.org/madwifi/trunk madwifi and compiling this works
usage for hostap mode
# compile, modprobe ath_pci wlanconfig ath0 destroy wlanconfig ath0 create wlandev wifi0 wlanmode ap ifconfig ath0 10.0.7.5 netmask 0xffffff00 broadcase 10.0.7.255 ip r d default ip r a default via 10.0.7.1 hostapd -B /etc/hostapd/hostapd.conf.works4 /etc/init.d/dhcpd start
ath9k driver
- ath9k is the open driver, the way to go - but as of today the host-ap mode is not yet usable
- http://wireless.kernel.org/en/users/Drivers/ath5k has some usage-instructions that also apply to ath9k drivers
- http://wireless.kernel.org/en/users/Drivers/ath9k - lists supported wlan-hardware
- http://wireless.kernel.org/en/users/Download - instructions on getting and installing ath9k, but as of 2.6.29 its in the vanilla kernel
usage for station/managed mode
modprobe ath9k iwconfig wlan0 essid fluxcoil mode managed wpa_supplicant .. dhclient wlan0
usage for AdHoc mode
- could only b/g mode to work (so 3mbyte/sec throughput), wasnt able to use n mode
# be aware, just using WEP in this example, you know this is almost no encryption at all! modprobe ath9k iwconfig wlan0 mode ad-hoc iwconfig wlan0 key 1234567890 # the wep-key iwconfig wlan0 channel auto ifconfig wlan0 up iwconfig wlan0 essid testernet ifconfig wlan0 192.168.0.1 netmask 0xffffff00 iwconfig wlan0
ath5k driver
Not usable for the AR5416 chip used in the DWA-547 card. Earlier somethimes ath5k was loaded automatically, its useless for the d-link dwa-547.
ndiswrapper
ndiswrapper makes the windows-driver usable, havent tried it. Should make station-mode usable but since this is provided by the ath9k-driver that one should be used.