====== Atheros HAL: Long Distance Links Notes ====== %%|%% [[dev/ath(4)|Driver]] | [[dev/ath_hal(4)|HAL]] | [[dev/ath_hal(4)/HardwareSupport|Supported Hardware]] | This is just a placeholder page for now, documenting what's required to support long distance links (and half/quarter rates) using net80211/ath/ath_hal. * Madwifi timing patch: https://dev.openwrt.org/browser/trunk/package/madwifi/patches/424-timing.patch?rev=15713 * ar5212SetCoverageClass() What needs to be figured out: * The slot, IFS timings and RTS/CTS timeout values * .. as a function of distance * .. as a function of regulatory domain * .. as a function of channel operation and mode Then where that calculation should live * .. in net80211? * in if_ath ? * in the HAL? * Is it per-radio? For HT40/HT20/half/quarter modes * .. making sure the mac clock calculation is correct * .. what about supporting half/quarter rates in 5ghz fast clock modes? (the PLL values are hard-coded, rather than allowing for half/quarter clk) * .. AR9130/Howl and half/quarter rates? Same deal, hard-coded PLL values * .. what about supporting long distance links in 5ghz fast clock modes? * .. the Kiwi code (upcoming) has hard-coded override values for the slot/timing/timeout registers since the MAC clock isn't 44MHz (11g); figure out how to make them adjustable What else? * .. need to craft PHY tx rate arrays for 11na/11ng half/quarter modes * .. does net80211 need to be taught about 11na/11ng half/quarter modes? (what channel set does IEEE80211_MODE_HALF / IEEE80211_MODE_QUARTER assume? It only supports OFDM rates at least, even in 11g mode.) * .. ath_rate_sample needs to be taught about 11na/11ng half/quarter modes?