This commit is contained in:
Sven Zehl 2016-09-26 18:12:23 +02:00
commit bff7454e07

View File

@ -65,6 +65,17 @@ If the output is something like:
``` ```
Everything went well. Everything went well.
## HOW TO USE ATH9k HMAC
First you have to compile the hmac_userspace_daemon.
If you installed the ATH9k HMAC driver with the 3 step manual, you can simply use:
```
cd ~/hmac/ath9k-hmac/hmac_userspace_daemon; make;
```
Otherwise make sure that the file hmac_userspace_daemon/hybrid_tdma_csma_mac.c includes the correct nl80211.h you used during building the ATH9k HTDMA driver.
#ATH9k Advanced Configuration
## How to install HMAC on other Linux distributions and Kernels: ## How to install HMAC on other Linux distributions and Kernels:
Go to https://www.kernel.org/pub/linux/kernel/projects/backports/stable Go to https://www.kernel.org/pub/linux/kernel/projects/backports/stable
@ -101,5 +112,23 @@ If the output is something like:
``` ```
Everything went well. Everything went well.
## HOW TO USE ATH9k HMAC
## Steer ATH9K HMAC driver directly (without Python Wrapper)
This can also be used as a first functional test without the Python wrapper. Just execute the following line in the hmac_userspace_daemon folder (replace wlan0 with your ATH9k WiFi interface, take sure it is up and rfkill is disabled (e.g. sudo rfkill unblock all)):
```
sudo ./hmac_userspace_daemon -i wlan0 -f 20000 -n 10 -c 1,b8:a3:86:96:96:8a,1#2,b8:a3:86:96:96:8a,1#3,b8:a3:86:96:96:8a,1#4,b8:a3:86:96:96:8a,1#6,ec:1f:72:82:09:56,1#7,ec:1f:72:82:09:56,1#8,ec:1f:72:82:09:56,1#9,ec:1f:72:82:09:56,1
```
If no error is shown and the daemon just prints out the current slot size, we are fine, the HMAC is working.
The HMAC user-space deaemon is using the following configuration parameters:
```
sudo ./hmac_userspace_daemon
-i wlan0 # ATH9k WiFi Interface on which HMAC schedule should be applied
-f 20000 # Size of each slot in micro seconds
-n 10 # Number of Slots
-c # Schedule, format: "Slotnumber","MAC Address of Destination","TID Bitmap"#
#e.g.:
1,b8:a3:86:96:96:8a,1#2,ec:1f:72:82:09:56,1#3,b8:a3:86:96:96:8a,1#4,b8:a3:86:96:96:8a,1#6,ec:1f:72:82:09:56,1#7,ec:1f:72:82:09:56,1#8,ec:1f:72:82:09:56,1#9,ec:1f:72:82:09:56,1
```
The example uses the following configuration: Interface: wlan0, Size of each Slot: 20ms, Number of Slots: 10 (SuperSlot = 200ms), Scheduler Konfiguration: first slot, Link with STA b8:a3:86:96:96:8a, TID MAP: 0b0000001 means TID 1 (Best Effort), '#' is used as seperator, second slot: Link with STA ec:1f:72:82:09:56, TID TID MAP: 0b0000001 means TID 1 (Best Effort), ... etc.