120 likes | 361 Views
MadWifi-ath5k Usage Example. Jongryool Kim 2010.01.05 Networked Media Laboratory School of Information & Mechatronics Gwangju Institute of Science & Technology http://netmedia.gist.ac.kr. Madwifi. Multiband Atheros Driver Wireless Fidelity Net80211 Stack
E N D
MadWifi-ath5k Usage Example Jongryool Kim 2010.01.05 Networked Media Laboratory School of Information & Mechatronics Gwangju Institute of Science & Technology http://netmedia.gist.ac.kr
Madwifi • Multiband Atheros Driver Wireless Fidelity • Net80211 Stack • It is available in source code format • Contains all functionalities of IEEE 802.11 protocol • HAL (hardware abstraction layer) • It is available in binary form only • All the access to the hardware is governed by HAL • Public interfaces hal/ah.h • Ath Layer • Defines Atheros specific callbacks • Call net80211 stack for exploiting 802.11 functionalities • Call HAL to communicate with the hardware
HAL (Hardware abstraction layer) • Closed source module of Mad-Wifi (a complied binary) • Although some understanding can be derived about its functions, no modifications to this module • HAL performs some transmit and receive functions • Setting a maximum limit on the allowable transmit power • Handling some beacon management functions, some interrupt, and cache handling functions • Providing control over selection of modes • Chip reset function • http://madwifi-project.org/wiki/DevDocs/HAL-usage
Madwifi-ath5k • FOSS Linux driver for Atheros wireless card • Call hardware functions directly. • Based on MadWifi and OpenHAL • Supported modes: mesh STA, station mode, Ad Hoc mode, (except Access point mode) • http://madwifi-project.org/wiki/About/ath5k • Functionalities • control retransmission limit counts • change backoff counts to any values • disable backoff (FreeMAC) • access directly hardware register value • Etc.
Madwifi-ath5k structure overview • base.c, base.h, hw.c, hw.h, phy.c: contain functions (responsible for the transmission of packets, reception of packets, driver initialization, and other hardware functionalities.) • ath5k.h: define structure of the HAL & contains setting of driver (transmission rate, reception status, and driver mode) • reg.h: holds the values for the hardware registers of Atheros xxx cards. • initvals.c: fills in the registers in the wireless care with initial values. • debug.c • debug.h
Congestion-Aware Rate Adaptation in Wireless Networks: A Measurement-Driven Approach (P. A. K. Acharya, etc.) @ SECON’ 08 • Measurement-driven rate adaptation scheme for 802.11 devices that uses the congestion measurement to identify congestion related packet losses. • Develop a congestion measurement technique to identify congestion in real-time • Design and implement rate-adaptation scheme by using the congestion measurement (rate decision depends on losses due to poor link quality) • To measure the channel busy time • ath5k of MadWifi driver for Atheros AR5212 chipset. • 32-bit register counter to track “medium busy time” and “cycle time” • “cycle time” counter is incremented at every clock tick • “medium busy time” counter represents the number of clock ticks for which the medium was sensed busy. • The ratio of “medium busy time” and “cycle time” counters gives the fraction of time during which channel is busy. • Medium utilization fraction: during given interval, sum of time to transmit all data, management, control frames and necessary MAC delay for each frame. • 1
Spectrum Agile Radios Project Report (Ji Woong Lee,etc.) [UCB] • Development of channel selection algorithm, selection of platform and prototyping the proof of concept. • Statistics collection • Ath5k driver has direct access to the hardware register value ( func. ath5k_hw_reg_read() ) • AR5k_PROFCNT_RXCLR: amount of time that the communication channel is busy) • AR5K_PROFCNT_CYCLE: total time that elapsed)
Contention in Multi-hop wireless networks: model and fairness analysis (Vinay Kolay ,etc.) @ MSWIM’09 • Mitigate contention unfairness by observing neighborhood contention and adapt CWmin • Choice of contention metric for link X (C(X)): • Recall: Contention unfairness happens when the source node observes long busy periods and channel-gaps. • Starvation indicators: • Average wait time to transmit one packet (Wt ). • Number of channel-gaps observed (Gn). • Observation: While Wt is sucient, Wt :Gn converges faster. • Protocol details • Each node maintains neighborhood contention info (Contention Information Table). < Node ID;CWmin; C(X) > • Node piggybacks CWmin and C(X) periodically. • Node adapts its CWmin: • Increment if the link has the lowest contention information. • Decrement if the link is the most starved member. • Avoid oscillations. • Update using Additive Increase Additive Decrease (AIAD) method • Multiplicative increase/decrease causes excessive short-term • unfairness and longer convergence times. • To allow flexibility in adjusting the low level MAC parameters like CWmin this team will use a MadWifi-ath5k (FreeMAC: Framework for Multi-Channel MAC Development on 802.11 Hardware (Ashish Sharma, etc.) @SIGCOMM PRESTO’08)
WiFIX: A new solution for 802.11-based wireless mesh network (Rui Campos, etc) @ CRC 2009 • WiFIX (Wi-Fi Network Infrastructure eXtension) based on 802.1D bridge and a single message protocol. • Using 802.1D bridge’s simple learning mechanism for frame forwarding • It is based on a single-message protocol that enables the self-organization of the WMN. • To remove 802.11s proactive mechanisms • For using 802.11s -> ath5k (Ubuntu 9.04, wireless card is an atheros WR50G)
Development of a Gateway to control and connect an Itinerant wireless sensor network with a central system via internet (2009) • Implementation of wireless sensor networks on trains to monitoring temperature and vibration measurements in the wheels of trains. • Ath5k : it is the driver needed for wireless mini-PCI adapter. Atheros 5354MP PLUS ARIES2 wireless Mini-PCI adapter (802.11 a/b/g)
Conclusion • Many researcher uses and will use MadWifi-ath5k for research • There are new wireless chipset supported by Madwifi-ath5k (no Madiwifi) • Therefore, we need to use and check the functionality and features of MadWifi-ath5k