summaryrefslogtreecommitdiffstats
path: root/sys/dev/ath
Commit message (Collapse)AuthorAgeFilesLines
* Spell "Hz" correctly wherever it is user-visible.gavin2010-01-122-2/+2
| | | | | | | PR: bin/142566 Submitted by: N.J. Mann njm njm.me.uk Approved by: ed (mentor) MFC after: 2 weeks
* Remove extraneous semicolons, no functional changes.mbr2010-01-073-3/+3
| | | | | Submitted by: Marc Balmer <marc@msys.ch> MFC after: 1 week
* cardbus -> CardBusimp2010-01-031-1/+1
|
* Add WorldB SKU.rpaulo2009-11-181-0/+27
| | | | | Reviewed by: sam MFC after: 1 week
* Take a step towards removing if_watchdog/if_timer. Don't explicitly setjhb2009-11-061-1/+0
| | | | | if_watchdog/if_timer to NULL/0 when initializing an ifnet. if_alloc() sets those members to NULL/0 already.
* Atheros EEPROM version 4K. This version is mostly based on version 1.4.rpaulo2009-10-102-0/+561
| | | | | | | | | This is needed by the upcoming AR9285 support. Information on the layout gathered from Linux ath9k. Not yet connected to the build. Tested by: Eugeny Dzhurinsky
* Revert previous commit and add myself to the list of people who shouldphk2009-09-083-4/+0
| | | | know better than to commit with a cat in the area.
* Add necessary include.phk2009-09-083-0/+4
|
* remove extranous returnsam2009-09-071-1/+1
| | | | | Submitted by: phk MFC after: 1 week
* fix extraneous return that can cause a memory leaksam2009-09-071-1/+1
| | | | | Submitted by: phk MFC after: 1 week
* correct typo that was a noop on 32-bit machines but a bug on 64-bit machinessam2009-09-071-1/+1
| | | | Submitted by: phk
* On resume in sta mode program the beacon timers so when roaming (andsam2009-08-311-1/+10
| | | | | | | | | | the previous ap is no longer in range) the device will deliver bmiss interrupts and trigger the state machine. Also arrange to sync the beacon timers on the next received beacon frame so that when we don't roam we re-synchronize with the ap. Tested by: trasz MFC after: 1 week
* change default regdomain for thailandsam2009-08-271-1/+1
| | | | Obtained from: linux-wireless@kernel.org
* Fix handling of AR_RX_FILTER_BSSID: write the shadow value for AR_MISC_MODEsam2009-07-211-5/+5
| | | | | | | so other register writes preserve the setting of AR_MISC_MODE_BSSID_MATCH_FORCE. Reviewed by: rpaulo Approved by: re (kib)
* track whether any mesh vaps are present to correctly setup the rx filtersam2009-07-212-1/+6
| | | | | | | when, for example, an ap vap is created first Reviewed by: rpaulo Approved by: re (kib)
* Fix something bogus deletion that got it during mesh commit.rpaulo2009-07-111-0/+1
| | | | Approved by: re (implicit)
* Implementation of the upcoming Wireless Mesh standard, 802.11s, on therpaulo2009-07-112-11/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | net80211 wireless stack. This work is based on the March 2009 D3.0 draft standard. This standard is expected to become final next year. This includes two main net80211 modules, ieee80211_mesh.c which deals with peer link management, link metric calculation, routing table control and mesh configuration and ieee80211_hwmp.c which deals with the actually routing process on the mesh network. HWMP is the mandatory routing protocol on by the mesh standard, but others, such as RA-OLSR, can be implemented. Authentication and encryption are not implemented. There are several scripts under tools/tools/net80211/scripts that can be used to test different mesh network topologies and they also teach you how to setup a mesh vap (for the impatient: ifconfig wlan0 create wlandev ... wlanmode mesh). A new build option is available: IEEE80211_SUPPORT_MESH and it's enabled by default on GENERIC kernels for i386, amd64, sparc64 and pc98. Drivers that support mesh networks right now are: ath, ral and mwl. More information at: http://wiki.freebsd.org/WifiMesh Please note that this work is experimental. Also, please note that bridging a mesh vap with another network interface is not yet supported. Many thanks to the FreeBSD Foundation for sponsoring this project and to Sam Leffler for his support. Also, I would like to thank Gateworks Corporation for sending me a Cambria board which was used during the development of this project. Reviewed by: sam Approved by: re (kensmith) Obtained from: projects/mesh11s
* Fix ar5416 and later parts on big-endian platforms: setup the h/w bytesam2009-07-071-15/+14
| | | | | | swizzler using the same technique used everywhere else. Approved by: re (kib)
* Fix AR5416 and later parts when building with AH_DEBUG or similar defined:sam2009-07-062-16/+21
| | | | | | always define OS_REG_UNSWAPPED and use it in ath_hal_reg_{read,write}. Approved by: re (kib)
* Revert a local change that should not have been in the last commit.phk2009-06-281-1/+1
| | | | Approved by: re (kib)
* There are a number of ways an application can check if there arephk2009-06-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | inbound data waiting on a filedescriptor, such as a pipe or a socket, for instance by using select(2), poll(2), kqueue(2), ioctl(FIONREAD) etc. But we have no way of finding out if written data have yet to be disposed of, for instance, transmitted (and ack'ed!) to some remote host, or read by the applicantion at the far end of the pipe. The closest we get, is calling shutdown(2) on a TCP socket in non-blocking mode, but this has the undesirable sideeffect of preventing future communication. Add a complement to FIONREAD, called FIONWRITE, which returns the number of bytes not yet properly disposed of. Implement it for all sockets. Background: A HTTP server will want to time out connections, if no new request arrives within a certain period after the last transmitted response has actually been sent (and ack'ed). For a busy HTTP server, this timeout can be subsecond duration. In order to signal to a load-balancer that the connection is truly dead, TCP_RST will be the preferred method, as this avoids the need for a RTT delay for FIN handshaking, with a client which, surprisingly often, no longer at the remote IP number. If a slow, distant client is being served a response which is big enough to fill the window, but small enough to fit in the socket buffer, the write(2) call will return immediately. If the session timeout is armed at that time, all bytes in the response may not have been transmitted by the time it fires. FIONWRITE allows the timeout to check that no data is outstanding on the connection, before it TCP_RST's it. Input & Idea from: rwatson Approved by: re (kib)
* Add HAL_RX_FILTER_BSSID support (to disable bssid match):sam2009-06-277-7/+31
| | | | | | | | | | | o add HAL_CAP_BSSIDMATCH to identify parts that have the support for disabling bssid match o honor capability for set/get rx filter o use HAL_CAP_BSSIDMATCH in driver to decide whether to use the bssid match disable or fall back to promisc mode Reviewed by: rpaulo Approved by: re (rwatson)
* Use if_maddr_rlock()/if_maddr_runlock() rather than IF_ADDR_LOCK()/rwatson2009-06-261-2/+2
| | | | | | | | | | | | | IF_ADDR_UNLOCK() across network device drivers when accessing the per-interface multicast address list, if_multiaddrs. This will allow us to change the locking strategy without affecting our driver programming interface or binary interface. For two wireless drivers, remove unnecessary locking, since they don't actually access the multicast address list. Approved by: re (kib) MFC after: 6 weeks
* purge HAL_TXSTAT_ALTRATE; you can figure this out by checking ts_finaltsisam2009-06-135-17/+10
| | | | and it cannot be used with MCS rate codes
* treat IEEE80211_S_CSA as a "running state"; this fixessam2009-06-031-4/+4
| | | | ap mode 11h channel switch announcements
* improve raw xmit failure handlingsam2009-06-021-17/+21
|
* count frag tx failures as an ifnet errorsam2009-06-021-0/+1
|
* fix commentsam2009-06-021-1/+1
|
* restart tdma beacons after vap destroysam2009-06-021-4/+10
|
* Overhaul monitor mode handling:sam2009-05-202-93/+54
| | | | | | | | | | | | | | | | | | | | | | | | o replace DLT_IEEE802_11 support in net80211 with DLT_IEEE802_11_RADIO and remove explicit bpf support from wireless drivers; drivers now use ieee80211_radiotap_attach to setup shared data structures that hold the radiotap header for each packet tx/rx o remove rx timestamp from the rx path; it was used only by the tdma support for debugging and was mostly useless due to it being 32-bits and mostly unavailable o track DLT_IEEE80211_RADIO bpf attachments and maintain per-vap and per-com state when there are active taps o track the number of monitor mode vaps o use bpf tap and monitor mode vap state to decide when to collect radiotap state and dispatch frames; drivers no longer explicitly directly check bpf state or use bpf calls to tap frames o handle radiotap state updates on channel change in net80211; drivers should not do this (unless they bypass net80211 which is almost always a mistake) o update various drivers to be more consistent/correct in handling radiotap o update ral to include TSF in radiotap'd frames o add promisc mode callback to wi Reviewed by: cbzimmer, rpaulo, thompsa
* correct HAL_INT_BNR comment, this bit is mapped directly the h/w nowsam2009-05-191-1/+1
|
* add TBTT interrupt support; this was added in Griffin so consumers shouldsam2009-05-194-5/+15
| | | | | | check HAL_CAP_INTRMASK before using it NB: didn't test 11n parts yet so supported only for 5212-class parts
* minor cleanupsam2009-05-192-18/+14
|
* remove special handling for BNR; it is direct mapped to the harwdare sosam2009-05-196-16/+5
| | | | can be added to HAL_INT_COMMON except on the 5210 where it doesn't exist
* add HAL_CAP_INTRMASK to return the set of interrupts supported by the devicesam2009-05-197-1/+36
|
* The module name convention is foo, not if_foo.imp2009-05-151-3/+3
|
* kill more portability functions that are no longer usefulsam2009-05-083-29/+5
|
* kill unused OS_GETUPTIMEsam2009-05-082-11/+0
|
* optimize ath_tx_findrix: there's no need to walk the rates table assam2009-05-071-20/+18
| | | | | | | | sc_rixmap is an inverse map NB: could eliminate the check for an invalid rate by filling in 0 for invalid entries but the rate control modules use it to identify bogus rates so leave it for now
* o cleanup checks for which vap combinations are permitted and what tosam2009-05-061-20/+32
| | | | | | use for ic_opmode o fixes the case where creating ahdemo+wds vaps caused ic_opmode to be set to hostap
* add support for the Beacon Not Ready (BNR) interruptsam2009-05-063-2/+14
| | | | (available on 5211 and later)
* make superg/fast-frames state dynamically-allocated (and indirect offsam2009-05-021-7/+2
| | | | | the com structure instead of embedded); this reduces the overhead when not configured and reduces visibility of the contents
* o eliminate a << in calculating the tx time for turbo mode by pre-multiplyingsam2009-04-134-35/+34
| | | | | data in the phy tables o correct the ctrl rate indices in the 5212 turbog phy table
* don't use caddr_t to match ieee80211_dump_pkt type; supplying the correctsam2009-04-131-7/+8
| | | | one costs nothing
* o fix dynamic slave-side tdma slot length updating: we need to re-setup thesam2009-04-131-1/+2
| | | | | burst length in the tx q's o remove re-config of the beaconq on update; it's not needed
* add a debug msg for when a fixed transmit rate is not applied becausesam2009-04-131-0/+9
| | | | it's not found in the sta's negotiated rate set
* remove reference to sc_tdmabintcnt; it was removed in r190848sam2009-04-131-1/+0
|
* check the method pointer before invoking ah_eepromDetach as it cansam2009-04-091-2/+4
| | | | | | be null if attach work fails before hooking up the eeprom support Obtained from: madwifi
* remove unused struct membersam2009-04-081-1/+0
|
* Hoist 802.11 encapsulation up into net80211:sam2009-03-302-395/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | o call ieee80211_encap in ieee80211_start so frames passed down to drivers are already encapsulated o remove ieee80211_encap calls in drivers o fixup wi so it recreates the 802.3 head it requires from the 802.11 header contents o move fast-frame aggregation from ath to net80211 (conditional on IEEE80211_SUPPORT_SUPERG): - aggregation is now done in ieee80211_start; it is enabled when the packets/sec exceeds ieee80211_ffppsmin (net.wlan.ffppsmin) and frames are held on a staging queue according to ieee80211_ffagemax (net.wlan.ffagemax) to wait for a frame to combine with - drivers must call back to age/flush the staging queue (ath does this on tx done, at swba, and on rx according to the state of the tx queues and/or the contents of the staging queue) - remove fast-frame-related data structures from ath - add ieee80211_ff_node_init and ieee80211_ff_node_cleanup to handle per-node fast-frames state (we reuse 11n tx ampdu state) o change ieee80211_encap calling convention to include an explicit vap so frames coming through a WDS vap are recognized w/o setting M_WDS With these changes any device able to tx/rx 3Kbyte+ frames can use fast-frames. Reviewed by: thompsa, rpaulo, avatar, imp, sephe
OpenPOWER on IntegriCloud