This is an old revision of the document!
TDMA support in FreeBSD
Overview
Sam Leffler leveraged the Atheros chipset capabilities to implement a TDMA scheme.
More information is available - http://people.freebsd.org/~sam/FreeBSD_TDMA-20090921.pdf.
Example
Configure a TDMA master. Note that Sam observed some stability issues in 2GHz 20MHz operation on the legacy NICs. The clock rate is different (44MHz for 2GHz operation; 40MHz for 5GHz operation) which may have had something to do with it. It's also possible that some of the different MAC values programmed in based on the clock rate have an effect. In any case, please note that you may see strange issues in 2GHz operation that don't show up in 5GHz operation.
The master:
ifconfig wlan0 create wlandev ath0 wlanmode tdma ifconfig wlan0 ssid ADRIAN_TDMA channel 48:a ifconfig wlan0 tdmaslotcnt 2 tdmaslot 0 tdmaslotlen 2500 ifconfig wlan0 192.168.4.1/24 up
The slave:
ifconfig wlan0 create wlandev ath0 wlanmode tdma ifconfig wlan0 ssid ADRIAN_TDMA ifconfig wlan0 inet 192.168.4.2/24 up
You can use 'athdebug -i athX -o tdma 1' to monitor TDMA specific parameters, including the slot timing offset/drift and some debugging information (such as “transmit override receive” statistics.)
Known good chipsets
This isn't an exhaustive list. If you can configure it, and it's not an 802.11n chip, it should work.
- AR5413/AR5414
Known issues
- There are some issues with 11n chips - the timing doesn't stay consistent during active traffic. It could be due to all kinds of subtle misconfigurations of things, so more investigation is needed.
Future work
- Once the 11n chips are supported, it would be good to support MCS rates and TX aggregation - to do it cleanly, it may be nice to first get 11n adhoc support as well as delayed-blockack support into net80211.