Jungseul Ok

Contact me via ockjs1 at gmail

G-ORS

G-ORS is a rate adaptation algorithm for wireless system with MIMO, where it optimally learns and selects the best stream mode and MCS level for transmission and its optimality is proved in [Infocom2014]. Here we provide an implementation of G-ORS in the following system setting:

  • Wireless Device Driver: Ath9k
  • Test Kernel Version: Linux-3.11.6
  • Test Operation System: Ubuntu12.04
  • Supported Standard: IEEE 802.11n
  • Supported Operation Mode: single-stream(SS), double-stream(DS)

Our device driver developed based on backports package release 3.11.6-1. In particular, the main code is ~/net/mac80211/rc80211_ors_ht.c.

1.Download and extract the driver source code.

# tar -xvf ORS_backports-3.11.6-1.tar.bz2 

2. Compile the G-ORS source code. (linux-headers needs to be installed before you compile the code.)

# make defconfig-ath9k 
# make menuconfig 
   |---[ ] PID controller based rate control algorithm 
   |---[*] Optimal Rate Selection (ORS) 
   |---[*] ORS 802.11n support 
   |---[ ] Minstrel 
   |---[*] Wireless LAN 
         |---Atheros Wireless Cards 
               |---[*]Atheros ath9k debugging 
               |---[ ]Atheros ath9k rate control 
# sudo make install 

3. Insert G-ORS module.

# sudo rmmod ath9k ath9k_common ath9k_hw ath mac80211 cfg80211 compat 
# sudo modprobe ath9k 

4. Enjoy G-ORS. You can check the improvement via iperf.