Skip to content

makesens86/BeaconRider

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 

Repository files navigation

Table of Contents

Introduction

BeaconRider is an opportunistic air-time sharing scheme that enables simultaneous data and beacon transmissions aimed at improving spectrum efficiency in dense network environments. If you reference our work, please refer to the following paper information.

Hyunjoong Lee, Jungjun Kim, Changhee Joo, and Saewoong Bahk, "BeaconRider: Opportunistic Sharing of Beacon Air-Time in Densely Deployed WLANs," in Proc. in IEEE ICNP 2019, Chicago, USA, Oct. 7-10, 2019.

We provide the source codes (device driver and firmware codes) of BeaconRider. It has been tested under following environments.

If you have any questions, feel free to contact us.

Source code description

  • drivers: Linux kernel driver

We modified few parts in linux kernel for debugfs operations (i.e., htc_drv_debug.c, hw.h, and hw.c) and counting the number of received beacons (i.e., recv.c). Most of BeaconRider operations are implemented in ath9k-htc firmware.

  • target_firmware: ath9k-htc firmware

BeaconRider operations are implemented in target_firmware/wlan (This is where you want to modify firmware for your own research!). Please refer to beaconRider.c and beaconRider.h for detailed operations.

How to build linux kernel backports

  1. Download backports source code from here.

Go to the root directory of the source code.

  1. Set compile options.
sudo make mrproper
sudo make defconfig-ath9k
sudo make defconfig-ath9k-debug
  1. Initiate compilation.
sudo make && make install
  1. Replace the new modules with the old ones.
modprobe -r ath9k
modprobe -r ath9k_htc
modprobe ath9k
modprobe ath9k_htc

If you have an issue reinstalling new modules, reboot your system.

How to build ath9k-htc firmware

  1. Download firmware source code from here.
git clone https://github.com/qca/open-ath9k-htc-firmware
  1. Download and install toolchain using make command. (It will take about half an hour to be completed.)
cd ./open-ath9k-htc-firmware
make toolchain
  1. Initiate building firmware.

To enable BeaconRider on your devices, replace target_firmware directory with our firmware source codes. Then, you are good to go to initiate building firmware!

sudo apt-get install cmake
make -C target_firmware

If you can find htc_9271.fw in target_firmware directory, the building is successful.

  1. Replace the new firmware with the old one. Remove old kernel module (ath9k-htc) and reinstall new one.
sudo cp target_firmware/htc_9271.fw /lib/firmware/ath9k_htc/htc_9271-1.4.0.fw
sudo rmmod ath9k_htc
sudo modprobe ath9k_htc

If you have an issue reinstalling new kernel module, reboot your system.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published