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. Here's one example where it was deployed - http://hpwren.ucsd.edu/news/20090516/

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.

Until A-MSDU is implemented, aggregation will not work and the maximum throughput under 11n operation is approximately 50 megabits/second in each direction.

The master:

ifconfig wlan0 create wlandev ath0 wlanmode tdma -ampdu
ifconfig wlan0 ssid ADRIAN_TDMA channel 48:ht/40
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 -ampdu
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 - it's just what it has so far been tested on. If you can configure it, it should work.

Known issues

None at this time.

Future work

WiFi/TDMA (last edited 2018-04-05T22:41:05+0000 by MateuszPiotrowski)