Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| dev:ath_4 [2011/11/22 13:58] – AdrianChadd | dev:ath_4 [2020/11/14 23:04] (current) – Fix 1 broken link | archive.org SashaVigole | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Atheros wireless driver support ====== | ====== Atheros wireless driver support ====== | ||
| - | %%|%% [[dev/ | + | %%|%% [[dev/ |
| - | ===== Location ===== | + | This is the driver for the Atheros PCI/PCIe NICs. |
| - | Primary development is now in %%FreeBSD%%-HEAD. | + | ===== Supported Hardware ===== |
| - | ===== Why? ===== | + | The in-tree driver supports all of the Atheros PCI/PCIe NICs. This includes the pre-11n chipsets and all 11n chipsets up to the AR9227/ |
| - | This work attempts to bring in fixes both from Linux ath9k (from the wireless-testing branch), the Atheros HAL code (not currently open source) and from local testing. | + | Notably - this doesn' |
| - | + | ||
| - | The eventual aim is to support all current and past Atheros wireless devices with a clean, portable, documented driver and HAL. | + | |
| - | + | ||
| - | ===== HAL ===== | + | |
| - | + | ||
| - | Please see the [[dev/ | + | |
| - | + | ||
| - | ===== Supported Hardware ===== | + | |
| - | Please see the [[dev/ | + | Please see the [[dev/ |
| ===== Operating Modes ===== | ===== Operating Modes ===== | ||
| Line 25: | Line 17: | ||
| * 802.11a (5GHz) | * 802.11a (5GHz) | ||
| * 802.11bg (2GHz) | * 802.11bg (2GHz) | ||
| - | * Half and Quarter rate modes in 5GHz for AR5212 family NICs | + | * Half and Quarter rate modes in 5GHz for AR5212 family NICs, AR5416, AR9130, AR9160, AR9280, AR9285 (specifically not AR9287 at the moment) |
| * Turbo (static 40mhz mode) for AR5212 family NICs | * Turbo (static 40mhz mode) for AR5212 family NICs | ||
| * 900mhz NIC support (TODO: which NICs) | * 900mhz NIC support (TODO: which NICs) | ||
| - | * 802.11na (5GHz) and 802.11ng (2.4GHz), 1 and 2 stream operation (MCS0-15), HT/20 and HT/40 channel width | + | * 802.11na (5GHz) and 802.11ng (2.4GHz), 1, 2 and 3 stream operation (MCS0-23), HT/20 and HT/40 channel width, short-GI |
| + | * Mesh, 802.11n support, TDMA support | ||
| + | * STA powersave support | ||
| + | * AP powersave support | ||
| - | ===== Rate Control | + | ===== Driver Components |
| - | TODO | + | * Rate control: Please see the [[dev/ |
| - | + | | |
| - | ===== Ambient Noise Immunity (ANI) ===== | + | |
| - | + | | |
| - | Please see the [[dev/ | + | * HAL: Please see the [[dev/ |
| - | + | ||
| - | ===== DFS/Radar Detection ===== | + | |
| - | + | ||
| - | The DFS machinery is driven by code in the net80211 stack. The driver simply reports that a radar event has been detected. | + | |
| - | + | ||
| - | At this stage, ath(4) does not support radar detection. This may change in the future. | + | |
| - | + | ||
| - | For an introduction to the radar detection/ | + | |
| - | + | ||
| - | ===== 802.11n support | + | |
| - | + | ||
| - | Please see the [[dev/ | + | |
| ===== Bug List ===== | ===== Bug List ===== | ||
| Line 56: | Line 39: | ||
| ===== Work in progress ===== | ===== Work in progress ===== | ||
| - | | net80211 A-MPDU/ | ||
| - | | net80211 A-MPDU/ | ||
| - | | ath 11n TX support | In progress | Basic 11n TX seems to work - no A-MPDU/ | ||
| - | | ath 11n protection | Buggy - In Progress | There' | ||
| | RIFS | Unimplemented | Unimplemented | | | RIFS | Unimplemented | Unimplemented | | ||
| | Radar Detection | In progress | Unimplemented | | | Radar Detection | In progress | Unimplemented | | ||
| - | | AR9285 PCIe LOCAL_TIMEOUT | + | | Non-aggregate software retry support |
| - | | AR5416 regression | + | | AP PS-POLL |
| - | | AR9285 regression | + | | 802.11n TDMA support | In progress | 802.11n rates work, A-MSDU support is needed |
| + | | 802.11n mesh support | ||
| + | | Add/ | ||
| + | | PAPRD for AR9380 and later | Planned | ||
| ===== Small Project Wish List ===== | ===== Small Project Wish List ===== | ||
| Line 70: | Line 52: | ||
| The following is a set of simple projects which interested developers can use to get familiar with the ath/hal codebase. | The following is a set of simple projects which interested developers can use to get familiar with the ath/hal codebase. | ||
| - | | + | * Bluetooth Coexistence for AR9280/ |
| - | | + | |
| * RFKill for AR5416 and later (both software and hardware) - investigate how it's done for the previous chipsets (AR5212 in particular) and what ath9k does; then plan out a implementation and testing plan. | * RFKill for AR5416 and later (both software and hardware) - investigate how it's done for the previous chipsets (AR5212 in particular) and what ath9k does; then plan out a implementation and testing plan. | ||
| - | * I've added quite a few more statistics to the per-device ioctl statistics (sys/ | ||
| * Tidy up the build structure for the ath tools so they can be included in the system by default? | * Tidy up the build structure for the ath tools so they can be included in the system by default? | ||
| - | * Modify if_ath.c to report the per-radio control/ | ||
| ===== Larger Project Wish List ===== | ===== Larger Project Wish List ===== | ||
| - | * Implement software TX aggregation and retransmit for AR5416 and later chipsets in 11n mode. | ||
| * Support channel busy surveys (a la mac80211.) | * Support channel busy surveys (a la mac80211.) | ||
| - | * (Re) Test Quarter/ | ||
| * (Re) Test long link support for AR5212/ | * (Re) Test long link support for AR5212/ | ||
| - | * Implement Quarter/ | ||
| * Implement long link support for AR5416 and later chipsets | * Implement long link support for AR5416 and later chipsets | ||
| - | * (Re) Test TDMA support for AR5212/ | ||
| - | * Implement TDMA support for AR5416 and later chipsets - non-11n and 11n modes. | ||
| * Investigate and fix power saving mode(s). | * Investigate and fix power saving mode(s). | ||
| * ATIM? | * ATIM? | ||
| * Auto-sleep support in AR9280 and later? | * Auto-sleep support in AR9280 and later? | ||
| * AR9271 and USB support in the HAL - a pre-requisite for supporting the 11n NICs after the AR9170-based devices. | * AR9271 and USB support in the HAL - a pre-requisite for supporting the 11n NICs after the AR9170-based devices. | ||
| + | |||
| + | ===== Completed Wish List ===== | ||
| + | |||
| + | * (Re) Test Quarter/ | ||
| + | * Implement Quarter/ | ||
| + | * Implement software TX aggregation and retransmit for AR5416 and later chipsets in 11n mode. | ||
| + | * The HAL configuration variables are global (eg debug, beacon timer adjustments, | ||
| + | * I've added quite a few more statistics to the per-device ioctl statistics (sys/ | ||
| + | * (Re) Test TDMA support for AR5212/ | ||
| + | * Implement TDMA support for AR5416 and later chipsets - non-11n and 11n modes. | ||
| * Implement per-packet TPC (Transmission Power Control) for chipsets which support it - required for full DFS support. | * Implement per-packet TPC (Transmission Power Control) for chipsets which support it - required for full DFS support. | ||
| + | * Modify if_ath.c to report the per-radio control/ | ||
| ===== Fixed Issues ===== | ===== Fixed Issues ===== | ||
| | ath multi-SSID support - < AR5416 | Fixed | This needs testing - both open and WEP/WPA | | | ath multi-SSID support - < AR5416 | Fixed | This needs testing - both open and WEP/WPA | | ||
| - | | ath multi-SSID support - >= AR5416 | Fixed | There' | + | | ath multi-SSID support - >= AR5416 | Fixed | Some further testing would be nice! | |
| - | | ath multicast search key support | Fixed | Disabled in this codebase because the current code in -HEAD breaks AES/CCMP encryption, required for 802.11n. Find and repair the damage. | + | | ath multicast search key support | Fixed | Fixed | |
| - | | ath 11n RX support | Fixed | Basic 11n RX seems to work - A-MPDU/ | + | | ath 11n RX support | Fixed | Completed |
| - | | net80211 HT/20 support - 2.4ghz | Fixed | This is the current mode being used to test | | + | | net80211 HT/20 support - 2.4ghz | Fixed | Completed |
| - | | net80211 HT/20 support - 5ghz | Fixed | Needs testing | + | | net80211 HT/20 support - 5ghz | Fixed | Completed |
| - | | net80211 HT/40 support | Fixed | Needs implementing | + | | net80211 HT/40 support | Fixed | Completed |
| - | | net80211 short-GI support | Fixed | Needs testing | + | | net80211 short-GI support | Fixed | Completed |
| - | | net80211 11n STA mode | Fixed | This is being tested at the moment | + | | net80211 11n STA mode | Fixed | Completed |
| - | | net80211 11n AP mode | Fixed | Needs implementing | + | | net80211 11n AP mode | Fixed | Completed |
| | net80211 A-MPDU/ | | net80211 A-MPDU/ | ||
| Line 113: | Line 98: | ||
| * Atheros Patent: Offset/Gain calibration for ADCs: [[http:// | * Atheros Patent: Offset/Gain calibration for ADCs: [[http:// | ||
| * Atheros Patent: Radar Pulse Detection/ | * Atheros Patent: Radar Pulse Detection/ | ||
| - | * May 2008 IEEE: Atheros 2.4/5 Ghz 2x2 MIMO %%SoC%% (talk slides?): [[http:// | + | * May 2008 IEEE: Atheros 2.4/5 Ghz 2x2 MIMO %%SoC%% (talk slides?): [[https:// |