aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/ath
Commit message (Collapse)AuthorAgeFilesLines
* include the DS element in beaconsSam Leffler2003-10-061-1/+4
| | | | Notes: svn path=/head/; revision=120826
* Maintain a history of data associated with received frames and use this toSam Leffler2003-09-152-5/+77
| | | | | | | | | | | | | | | | | calculate smoothed signal quality data for each node. o add a 16-deep history buffer to each driver-private node storage that holds rssi and antenna info for received frames o override the default per-node "get rssi" method to return an average rssi value based on samples collected over the last second o enable beacon reception so even idle systems maintain a running history of signal quality This data may also be useful for improving the rate control algorithm. Based on work by Tom Marshall <tommy@home.tig-grr.com> for MADWIFI. Notes: svn path=/head/; revision=120105
* o do not filter received frames based on type or length; pass 'em all upSam Leffler2003-09-151-13/+3
| | | | | | | | | | | to the 802.11 layer if they are at least IEEE80211_MIN_LEN o mask off interrupt status bits that we don't care about so we don't do the wrong thing; this fixes a problem where the beacon miss interrupt status bit is delivered together with other status bits when operating in monitor mode (we would post a beacon miss swi and then do the wrong thing) Notes: svn path=/head/; revision=120100
* must also check for 5Ghz channels when marking short preamble capability inSam Leffler2003-09-141-1/+2
| | | | | | | | | the beacon frames Reminded by: Stephane Laroche <stephane.laroche@colubris.com> Notes: svn path=/head/; revision=120075
* o mark the device capable of short preamble (meaningless for the 5210 butSam Leffler2003-09-142-16/+18
| | | | | | | | | | | | | safe since the 802.11 layer does the right thing for 11a operation) o select short preamble operation based on the negotiated capabilities; not just the local state/capability o fillin the duration field in the 802.11 header as appropriate o remove detection of 11g support; no longer needed Obtained from: MADWIFI (with modifications) Notes: svn path=/head/; revision=120071
* Add support for the experimental radiotap capture format. With thisSam Leffler2003-09-053-11/+112
| | | | | | | we no longer need the debugging code to dump packets. Notes: svn path=/head/; revision=119783
* Explicitly enable probe request frame reception when not in station mode;Sam Leffler2003-09-011-0/+4
| | | | | | | | | this is needed for the 5212 which a separate filter bit for these frames. Submitted by: Stephane Laroche <stephane.laroche@colubris.com> Notes: svn path=/head/; revision=119629
* MFp4 changes to fix locking issues and correct referenceSam Leffler2003-08-192-38/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | count handling of station entries in hostap mode: Input path: o driver is now expected to find the node associated with the sender of a received frame; use ic_bss if none is located o driver passes the (referenced) node into ieee80211_input for use within the wlan module and is responsible for cleaning up on return o the antenna state is no longer passed up with each frame; this is now considered driver-private state and drivers are responsible for keeping it in the driver-private part of a node Output path: Revamp output path for management frames to eliminate redundant locking that causes problems and to correct reference counting bogosity that occurs when stations are timed out due to inactivity (in AP mode). On output the refcnt'd node is stashed in the pkthdr's recvif field (yech) and retrieved by the driver. This eliminates an unref/ref scenario and related node table unlock/lock due to the driver looking up the node. This is particularly important when stations are timed out as this causes a lock order reversal that can result in a deadlock. As a byproduct we also reduce the overhead for sending management frames (minimal). Additional fallout from this is a change to ieee80211_encap to return a refcn't node for tieing to the outbound frame. Node refcnts are not reclaimed until after a frame is completely processed (e.g. in the tx interrupt handler). This is especially important for timed out stations as this deref will be the final one causing the node entry to be reclaimed. Additional semi-related changes: o replace m_copym use with m_copypacket (optimization) o add assert to verify ic_bss is never free'd during normal operation o add comments explaining calling conventions by drivers for frames going in each direction o remove extraneous code that "cannot be executed" (e.g. because pointers may never be null) Notes: svn path=/head/; revision=119150
* o pass control frames up the stack when in monitor mode (the 802.11 layer willSam Leffler2003-08-192-3/+7
| | | | | | | | | | | quietly discard them; this just permits them to be collected with bpf) o add a counter for the number of rate control frames discarded when not in monitor mode o move the rx "too short" statistic in the stat structure so non-error rx stats are together (NB: ABI change to apps that collect stats via driver ioctl) Notes: svn path=/head/; revision=119147
* o correct beacon frame length calculation and add an assert to catch any futureSam Leffler2003-08-191-2/+6
| | | | | | | | | mistakes (this mistake was not an issue because the length is only used to decide whether or not to allocate a cluster) o while here, move a beacon length comment to the "right place" Notes: svn path=/head/; revision=119145
* maintain a table for mapping hardware rate codes to 802.11 rates forSam Leffler2003-08-192-3/+6
| | | | | | | calculating the rate for each rx'd frame Notes: svn path=/head/; revision=119144
* mark the scan and calibrate callouts MPSAFESam Leffler2003-08-191-2/+2
| | | | Notes: svn path=/head/; revision=119143
* remove unneeded include filesSam Leffler2003-08-191-4/+0
| | | | Notes: svn path=/head/; revision=119142
* Close a race where ath_intr is installed and may be called beforeSam Leffler2003-08-132-2/+8
| | | | | | | | the HAL is setup: use sc_invalid to discard such entries into ath_intr. This can easily happen if the device is assigned a shared IRQ. Notes: svn path=/head/; revision=118884
* o remove bmisshack no longer needed with the BSSID fix in v0.9.5.2 of the halSam Leffler2003-08-021-14/+17
| | | | | | | | | o add monitor mode support o fix short preamble handling in beacon setup (noop) o correct resume handling Notes: svn path=/head/; revision=118342
* track changes to 802.11 code:Sam Leffler2003-07-202-22/+24
| | | | | | | | o override new_state method per new model o use ieee80211_state_name instead of private copy Notes: svn path=/head/; revision=117812
* o add read-only sysctls to view regulatory domain, country code, andSam Leffler2003-07-132-5/+22
| | | | | | | | outdoor use controls o use sysctl-visible values in setting up channel list Notes: svn path=/head/; revision=117516
* Mega busdma API commit.Scott Long2003-07-011-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add two new arguments to bus_dma_tag_create(): lockfunc and lockfuncarg. Lockfunc allows a driver to provide a function for managing its locking semantics while using busdma. At the moment, this is used for the asynchronous busdma_swi and callback mechanism. Two lockfunc implementations are provided: busdma_lock_mutex() performs standard mutex operations on the mutex that is specified from lockfuncarg. dftl_lock() is a panic implementation and is defaulted to when NULL, NULL are passed to bus_dma_tag_create(). The only time that NULL, NULL should ever be used is when the driver ensures that bus_dmamap_load() will not be deferred. Drivers that do not provide their own locking can pass busdma_lock_mutex,&Giant args in order to preserve the former behaviour. sparc64 and powerpc do not provide real busdma_swi functions, so this is largely a noop on those platforms. The busdma_swi on is64 is not properly locked yet, so warnings will be emitted on this platform when busdma callback deferrals happen. If anyone gets panics or warnings from dflt_lock() being called, please let me know right away. Reviewed by: tmm, gibbs Notes: svn path=/head/; revision=117126
* acknowledge the contribution of Atsushi OnoeSam Leffler2003-06-301-0/+3
| | | | Notes: svn path=/head/; revision=117055
* Atheros 802.11 driver. Requires Atheros Hardware Access Lay (HAL).Sam Leffler2003-06-234-0/+3201
Supported by: Atheros Comunications Notes: svn path=/head/; revision=116743