Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
dev:ath_4 [2012/09/10 19:12] – AdrianChadddev:ath_4 [2020/11/14 23:04] (current) – Fix 1 broken link | archive.org SashaVigole
Line 3: Line 3:
 %%|%% [[dev/ath(4)|Driver]] | [[dev/ath_hal(4)|HAL]] | [[dev/ath_hal(4)/HardwareSupport|Supported Hardware]] | [[dev/ath(4)/80211n|802.11n support]] | [[dev/ath(4)/Debugging|Debugging]] | %%|%% [[dev/ath(4)|Driver]] | [[dev/ath_hal(4)|HAL]] | [[dev/ath_hal(4)/HardwareSupport|Supported Hardware]] | [[dev/ath(4)/80211n|802.11n support]] | [[dev/ath(4)/Debugging|Debugging]] |
  
-===== 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/AR9287 (using sys/dev/ath/ath_hal/) and AR9380 and later (using sys/contrib/dev/ath/ath_hal/).
  
-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't yet support the AR5513 MIMO 802.11abg NIC, the AR5523 NICs (AR5212 + USB), the AR7010 series USB NICs, or the AR9271 series USB NICs.
- +
-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/ath_hal(4)|HAL device page]] for more information. +
- +
-===== Supported Hardware =====+
  
-Please see the [[dev/ath_hal(4)/HardwareSupport|Hal Hardware Support Page]] for more information.+Please see the [[dev/ath_hal(4)/HardwareSupport|Hal Hardware Support Page]] for further more information.
  
 ===== 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
  
-===== Sub-sections =====+===== Driver Components =====
  
   * Rate control: Please see the [[dev/ath_rate(4)|rate control page]] for more information.   * Rate control: Please see the [[dev/ath_rate(4)|rate control page]] for more information.
Line 36: Line 31:
   * Radar pulse detection: Please see the [[dev/ath_hal(4)/RadarDetection|HAL Radar Detection]] page. This includes links to some relevant Atheros Patents. There's also some initial software support for extracting the information out via userland at [[dev/ath(4)/RadarFFT]].   * Radar pulse detection: Please see the [[dev/ath_hal(4)/RadarDetection|HAL Radar Detection]] page. This includes links to some relevant Atheros Patents. There's also some initial software support for extracting the information out via userland at [[dev/ath(4)/RadarFFT]].
   * 802.11n support: Please see the [[dev/ath(4)/80211n]] page for further information.   * 802.11n support: Please see the [[dev/ath(4)/80211n]] page for further information.
 +  * HAL: Please see the [[dev/ath_hal(4)|HAL device page]] for more information.
  
 ===== Bug List ===== ===== Bug List =====
Line 45: Line 41:
 | RIFS | Unimplemented | Unimplemented | | RIFS | Unimplemented | Unimplemented |
 | Radar Detection | In progress | Unimplemented | | Radar Detection | In progress | Unimplemented |
-| AR9285 PCIe LOCAL_TIMEOUT | Investigation | Some people w/ AR9285's are seeing LOCAL_TIMEOUT errors (which are currently not fatal); add some debugging code to see what kinds of circumstances trigger these and try to repair it | +| Non-aggregate software retry support | Planned | This requires some very strict retransmission behaviour in order to ensure frames aren't transmitted out of order | 
-| AR9300/AR94xx/AR95xx support | In progress | In progress | +| AP PS-POLL and uAPSD support | In progress | PS-POLL done; uAPSD will follow | 
-| Filtered frames support | In progress | In progress | +| 802.11n TDMA support | In progress | 802.11n rates work, A-MSDU support is needed to reach full 802.11n throughput | 
-| Non-aggregate software retry support | Planned | In progress | +| 802.11n mesh support | Planned | Planned | 
-| AP PS-POLL and uAPSD support | Planned | Requires correct filtered frames and software retry support before this is feasible |+| Add/document MCI bluetooth coex support | Planned | Planned | 
 +| PAPRD for AR9380 and later | Planned | Planned |
  
 ===== Small Project Wish List ===== ===== Small Project Wish List =====
Line 58: Line 55:
   * 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.
   * 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/extension noise floor and RSSI - net80211 has already been taught about it, ath_hal has been taught about how to export the statistics; all that's needed is the glue in if_ath.c. 
  
 ===== Larger Project Wish List ===== ===== Larger Project Wish List =====
  
   * Support channel busy surveys (a la mac80211.)   * Support channel busy surveys (a la mac80211.)
-  * (Re) Test Quarter/Half rate support for the AR5212/AR5213 and derivatives. 
   * (Re) Test long link support for AR5212/AR5213 and derivatives - this essentially tweaks the ACK, RTS, CTS and various IFS timings to support long distance links.   * (Re) Test long link support for AR5212/AR5213 and derivatives - this essentially tweaks the ACK, RTS, CTS and various IFS timings to support long distance links.
-  * Implement Quarter/Half rate support for AR5416 and later chipsets - non-11n and 11n modes. 
   * Implement long link support for AR5416 and later chipsets   * Implement long link support for AR5416 and later chipsets
-  * (Re) Test TDMA support for AR5212/AR5213 and derivatives. 
-  * 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.
-  * Implement per-packet TPC (Transmission Power Control) for chipsets which support it - required for full DFS support. 
  
-= Completed Wish List ==+===== Completed Wish List =====
  
 +  * (Re) Test Quarter/Half rate support for the AR5212/AR5213 and derivatives.
 +  * Implement Quarter/Half rate support for AR5416 and later chipsets - non-11n and 11n modes.
   * Implement software TX aggregation and retransmit for AR5416 and later chipsets in 11n mode.   * 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, ALQ logging.) It would be nice to have these per-HAL instance - so move them to the public part of the ath_hal struct and initialise them on device attach. They're not per-vif; they're per-device.   * The HAL configuration variables are global (eg debug, beacon timer adjustments, ALQ logging.) It would be nice to have these per-HAL instance - so move them to the public part of the ath_hal struct and initialise them on device attach. They're not per-vif; they're per-device.
   * I've added quite a few more statistics to the per-device ioctl statistics (sys/dev/ath/if_athioctl.h); athstats needs to be taught about these new statistics so they can be reported.   * I've added quite a few more statistics to the per-device ioctl statistics (sys/dev/ath/if_athioctl.h); athstats needs to be taught about these new statistics so they can be reported.
 +  * (Re) Test TDMA support for AR5212/AR5213 and derivatives.
 +  * 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.
 +  * Modify if_ath.c to report the per-radio control/extension noise floor and RSSI - net80211 has already been taught about it, ath_hal has been taught about how to export the statistics; all that's needed is the glue in if_ath.c.
  
 ===== Fixed Issues ===== ===== Fixed Issues =====
Line 101: Line 98:
   * Atheros Patent: Offset/Gain calibration for ADCs: [[http://www.freepatentsonline.com/7541952.html]]   * Atheros Patent: Offset/Gain calibration for ADCs: [[http://www.freepatentsonline.com/7541952.html]]
   * Atheros Patent: Radar Pulse Detection/Estimation: [[http://ip.com/patent/US6891496]]   * Atheros Patent: Radar Pulse Detection/Estimation: [[http://ip.com/patent/US6891496]]
-  * May 2008 IEEE: Atheros 2.4/5 Ghz 2x2 MIMO %%SoC%% (talk slides?): [[http://www.ewh.ieee.org/r6/scv/ssc/May2008_WLAN.pdf]]+  * May 2008 IEEE: Atheros 2.4/5 Ghz 2x2 MIMO %%SoC%% (talk slides?): [[https://web.archive.org/web/20080830021352/http://www.ewh.ieee.org/r6/scv/ssc/May2008_WLAN.pdf]]
  
  • dev/ath_4.1347304352.txt.gz
  • Last modified: 2012/09/10 19:12
  • by AdrianChadd