diff --git a/README.md b/README.md index 2bbd462..58d7e79 100644 --- a/README.md +++ b/README.md @@ -65,6 +65,17 @@ If the output is something like: ``` 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: 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. -## 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.