#
267654 |
|
19-Jun-2014 |
gjb |
Copy stable/9 to releng/9.3 as part of the 9.3-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
234753 |
|
28-Apr-2012 |
dim |
MFC r225941: Fix an unaligned access issue; tidy up OFDM/DS rate decoding from the PLCP.
This fixes a panic on PPC.
Submitted by: novel Obtained from: OpenBSD, sys/dev/ic/bwi.c r1.89
MFC r226181: Update from OpenBSD: Include 0x4402 in the bbp id mapping table used on older devices.
http://bcm-specs.sipsolutions.net/BackPlane agrees.
Obtained from: OpenBSD, sys/dev/ic/bwi.c r1.88
MFC r226182: Fix an incorrect use of sizeof().
Obtained from: OpenBSD sys/dev/ic/bwi.c r1.87
MFC r228621: Fix some net80211 enum nits: - ic_vap_create() uses an ieee80211_opmode argument - ieee80211_rate2media() takes an ieee80211_phymode argument - ieee80211_plcp2rate() takes an ieee80211_phytype argument - cast to enum ieee80211_protmode and ieee80211_roamingmode to silence compiler warnings
Submitted by: arundel@
|
#
230619 |
|
27-Jan-2012 |
bschmidt |
MFC r229284: MCS32 equals 32, not 8*ic_txstream.
|
#
225736 |
|
22-Sep-2011 |
kensmith |
Copy head to stable/9 as part of 9.0-RELEASE release cycle.
Approved by: re (implicit)
|
#
225013 |
|
19-Aug-2011 |
adrian |
Correctly handle BAR TX failures.
On a TX failure, ic_raw_xmit will still call ieee80211_node_free(). There's no need to call it here.
Submitted by: moonlightakkiy@yahoo.ca Approved by: re (kib)
|
#
224907 |
|
16-Aug-2011 |
adrian |
Fix BAR frame TX completion - successful transmission is indicated by a status of 0.
Approved by: re (kib)
|
#
223331 |
|
20-Jun-2011 |
adrian |
Add a callback for ADDBA response timeouts.
TX for the given TID needs to be paused during ADDBA requests (and unpaused once the session is established.) Since net80211 currently doesn't implement software aggregation, if this pause/unpause is done in the driver (as it is in my development branch) then it will need to be unpaused both on ADDBA response and on ADDBA timeout.
This callback allows the driver to unpause TX for the relevant TID.
Reviewed by: bschmidt
|
#
222683 |
|
04-Jun-2011 |
bschmidt |
Certain adapters have HT40 support on some but not all channels. The Intel 4965 devices for example have HT40 on 2GHz completely disabled but it is still supported for 5GHz. To handle that in sta mode we need to check if we can "upgrade" to a HT40 channel after the association, if that is not possible but we are still announcing support to the remote side we are left with a very flabby connection.
Reviewed by: adrian
|
#
219606 |
|
13-Mar-2011 |
bschmidt |
Constantly use MHz instead of Mhz.
Pointed out by: N.J. Mann <njm at njm.me.uk>
|
#
219602 |
|
13-Mar-2011 |
bschmidt |
Honor device capabilities while initializing ni_htrates.
Instead of hardcoding MCS0-15 generate the table dynamically, also restrict the MCS rates to our own capabilities while parsing a htcap element.
|
#
219600 |
|
13-Mar-2011 |
bschmidt |
Fill hc_mcsset completely.
Contrary to the rateset information in legacy frames the MCS Set field also contains TX capability information in cases where the number of available TX and RX spartial streams differ. Because a rateset doesn't contain that information we have to pull the those directly from the hardware capabilities.
|
#
219598 |
|
13-Mar-2011 |
bschmidt |
Change the way HT capatibilities are announced.
Get rid of the assumption that every device is capable of 40MHz, SGI and 2 spartial streams. Instead of printing, in the worst case, 8 times 76 MCS rates, print logically connect ranges and the support RX/TX streams.
A device without 40MHz and SGI support looks like: ath0: 2T2R ath0: 11na MCS 20Mhz ath0: MCS 0-7: 6.5Mbps - 65Mbps ath0: MCS 8-15: 13Mbps - 130Mbps ath0: 11ng MCS 20Mhz ath0: MCS 0-7: 6.5Mbps - 65Mbps ath0: MCS 8-15: 13Mbps - 130Mbps
|
#
219456 |
|
10-Mar-2011 |
bschmidt |
Complete the MCS rate table based on the final 802.11n std. While here adjust the IEEE80211_HTRATE_MAXSIZE constant, only MCS0 - 76 are valid the other bits in the mcsset IE (77 - 127) are either reserved or used for TX parameters.
|
#
205513 |
|
23-Mar-2010 |
rpaulo |
Add a new field for extended HT capabilities.
Submitted by: Alexander Egorenkov <egorenar at gmail.com> MFC after: 2 weeks Sponsored by: iXsystems, inc.
|
#
205281 |
|
18-Mar-2010 |
rpaulo |
Unbreak build by removing a code bit that is only related to other code in my branch.
|
#
205277 |
|
18-Mar-2010 |
rpaulo |
Fix a couple of bugs with 802.11n: o Process the BAR frame on the adhoc, mesh and sta modes o Fix the format of the ADDBA reply frame o Fix references to the spec section numbers
Also, print the all the MCS rates in bootverbose.
Sponsored by: iXsystems, Inc. Obtained from: //depot/user/rpaulo/80211n/...
|
#
195377 |
|
05-Jul-2009 |
sam |
Revamp 802.11 action frame handling: o add a new facility for components to register send+recv handlers o ieee80211_send_action and ieee80211_recv_action now use the registered handlers to dispatch operations o rev ieee80211_send_action api to enable passing arbitrary data o rev ieee80211_recv_action api to pass the 802.11 frame header as it may be difficult to locate o update existing IEEE80211_ACTION_CAT_BA and IEEE80211_ACTION_CAT_HT handling o update mwl for api rev
Reviewed by: rpaulo Approved by: re (kensmith)
|
#
193840 |
|
09-Jun-2009 |
sam |
Correct ieee80211_gettid: o don't increment extracted tid, this was a vestige of IEEE80211_NONQOS_TID being defined as 0 (w/ real tid's +1) o handle 4-address frames (add IEEE80211_IS_DSTODS to check if an 802.11 header is DSTODS)
Submitted by: cbzimmer Reviewed by: avatar
|
#
193655 |
|
07-Jun-2009 |
sam |
iv_flags_ext is full, make room by moving HT-related flags to a new iv_flags_ht word
|
#
193115 |
|
30-May-2009 |
sam |
distribute sysctl decls so global variables can be made static
|
#
192468 |
|
20-May-2009 |
sam |
Overhaul monitor mode handling: 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
|
#
191552 |
|
26-Apr-2009 |
sam |
allow drivers to hook ampdu rx start/stop
|
#
184282 |
|
25-Oct-2008 |
sam |
o change ieee80211_mgmt_output to take a raw xmit parameters block so the net80211 layer has complete control over the handling of mgt frames (in particular, the ac, tx rate, and retry count); this also allows us to purge the M_LINK0 flag that was attached to mbufs to mark them as needing encryption for shared key auth o change ieee80211_send_setup to take a tid parameter so it can be used to setup QoS frames
|
#
184280 |
|
25-Oct-2008 |
sam |
Sync BAR frame handling with out of tree work: o correct BAR frame construction for AMPDU o retransmit BAR frames until ACK'd or timeout (use tunables to control behaviour, default is very aggressive) o defer seq# update until BAR frame is ACK'd o add BAR response handling callback for driver to interpose and push new state to device or push pending aggregates
While here also: o add backpointer to node in the per-tid tx aggregation data structure o move ampdu tx state setup/teardown work to separate functions
|
#
183258 |
|
21-Sep-2008 |
sam |
cleanup after merge
|
#
183257 |
|
21-Sep-2008 |
sam |
Fix handling of shortgi: use the local configuration (and implicitly device capabilities) to decide whether to use short gi. Drivers inspect ni_flags to decide whether to send a frame w/ short sgi.
|
#
183256 |
|
21-Sep-2008 |
sam |
RIFS support; needs driver callback for dynamic state change
|
#
183255 |
|
21-Sep-2008 |
sam |
MIMO power save support; still needs callbacks for notifying drivers of dynamic state change in station mode.
|
#
183254 |
|
21-Sep-2008 |
sam |
Revamp ht ie handling: o change ieee80211_parse_htcap and ieee80211_parse_htinfo to save only internal state obtained from the ie's; no dynamic state such as ni_chw is altered o add ieee80211_ht_updateparams to parse ht cap+info ie's and update dynamic node state o change ieee80211_ht_node_init to not take an htcap ie that is parsed; instead have the caller make a separate call as one caller wants to parse the ie while another wants to parse both cap+info ie's and update state so can better do this with ieee80211_ht_updateparams
These changes fix sta mode state handling where the node's channel width was shifted to ht20/ht40 prematurely.
|
#
183253 |
|
21-Sep-2008 |
sam |
don't propagate ht bss occupancy changes to legacy vaps; they won't have an htinfo ie to update
|
#
183250 |
|
21-Sep-2008 |
sam |
change ieee80211_ampdu_stop to take an explicit reason code
|
#
183249 |
|
21-Sep-2008 |
sam |
simplify debug msg
|
#
183247 |
|
21-Sep-2008 |
sam |
Cleanup AMPDU handling:
For receive: o explicitly tag rx frames w/ M_AMPDU instead of passing frames through the reorder processing according to the node having HT and the frame being QoS data o relax ieee80211_ampdu_reorder asserts to allow any frame to be passed in, unsuitable frames are returned to the caller for normal processing; this permits drivers that cannot inspect the PLCP to mark all data frames as potential ampdu candidates with only a small penalty o add M_AMPDU_MPDU to identify frames resubmitted from the reorder q
For transmit: o tag aggregation candidates with M_AMPDU_MPDU o fix the QoS ack policy set in ampdu subframes; we only support immediate BA streams which should be marked for "normal ack" to get implicit block ack behaviour; interestingly certain vendor parts BA'd frames with the 11e BA ack policy set o do not assign a sequence # to aggregation candidates; this must be done when frames are submitted for transmit (NB: this can/will be handled better when aggregation is pulled up to net80211)
|
#
183246 |
|
21-Sep-2008 |
sam |
Always update ic_lastnonht so we track overlapping legacy bss properly; was doing this only on a change in the protection mode so the advertised protection mode in the beacon would oscillate.
Submitted by: Chris Zimmermann
|
#
183245 |
|
21-Sep-2008 |
sam |
Cleanup starting seq# for tx ampdu: o use txa_start to form the addba request and purge txa_seqstart o fill txa_start before calling ic_addba_request to permit drivers to override when they handle seq# generation (e.g. mwl)
|
#
182831 |
|
06-Sep-2008 |
sam |
o kill IEEE80211_NODE_PSUPDATE; it was never used o kill IEEE80211_NODE_CHWUPDATE; it's use was pointless and it was defined wrong (overlap w/ existing flags)
|
#
182830 |
|
06-Sep-2008 |
sam |
put back placeholder comment
|
#
182829 |
|
06-Sep-2008 |
sam |
o validate the ba policy in addba response o leave a check for the max ba window disabled; we accept out of range values and just truncate them but may want to act differently in the future
|
#
182828 |
|
06-Sep-2008 |
sam |
add IEEE80211_NODE_HT_ALL to collect up all the HT-related node flags
|
#
182827 |
|
06-Sep-2008 |
sam |
don't do ampdu reordering of fragments; they should never happen
|
#
182826 |
|
06-Sep-2008 |
sam |
moreve the aggregation q; it's not being used and there's a better way to do this
|
#
181197 |
|
02-Aug-2008 |
sam |
add missing lock for htinfo update
Submitted by: Chris Zimmermann
|
#
180309 |
|
05-Jul-2008 |
sam |
correct construction of delba action frame; don't shift+mask the initiator argument
Submitted by: Marvell
|
#
178953 |
|
11-May-2008 |
sam |
use the current left edge of the BA window when forming ADDBA request so an existing session is re-established with the correct seq#
|
#
178354 |
|
20-Apr-2008 |
sam |
Multi-bss (aka vap) support for 802.11 devices.
Note this includes changes to all drivers and moves some device firmware loading to use firmware(9) and a separate module (e.g. ral). Also there no longer are separate wlan_scan* modules; this functionality is now bundled into the wlan module.
Supported by: Hobnob and Marvell Reviewed by: many Obtained from: Atheros (some bits)
|
#
175877 |
|
01-Feb-2008 |
sam |
o correct typo that broke check when handling addba response o add a comment about the ht rates being for 20MHz channels w/ long GI; needs a separate fix after more thought
MFC after: 3 days
|
#
173865 |
|
23-Nov-2007 |
sam |
correct sta mode setup: adopt ap's ampdu density and max ampdu size instead of using local settings
MFC after: 3 days
|
#
173462 |
|
08-Nov-2007 |
sam |
correct termination check doing amsdu de-aggregation
MFC after: 3 days
|
#
173273 |
|
02-Nov-2007 |
sam |
sync 11n support with vap code base; many changes based on interop testing with all major vendors
MFC after: 1 week
|
#
172226 |
|
18-Sep-2007 |
sam |
o add IEEE80211_RATE_MCS to use instead of naked constant (for marking MCS) o correct ieee80211_rate2media handling of MCS o correct rate HT announcements for 11n devices
Approved by: re (blanket wireless)
|
#
172211 |
|
17-Sep-2007 |
sam |
Update beacon handling to sync w/ vap code base: o add driver callback to handle notification of beacon changes; this is required for devices that manage beacon frames themselves (devices must override the default handler which does nothing) o move beacon update-related flags from ieee80211com to the beacon offsets storage (or handle however a driver wants) o expand beacon offsets structure with members needed for 11h/dfs and appie's o change calling convention for ieee80211_beacon_alloc and ieee80211_beacon_update o add overlapping bss support for 11g; requires driver to pass beacon frames from overlapping bss up to net80211 which is not presently done by any driver o move HT beacon contents update to a routine in the HT code area
Reviewed by: avatar, thompsa, sephe Approved by: re (blanket wireless)
|
#
172055 |
|
05-Sep-2007 |
sam |
Miscellaneous fixups to 802.11 defs: o update 11n definitions to D2.0 spec o add IEEE80211_CAPINFO_SPECTRUM_MGMT for DFS support o add CSA ie definition for DFS support o purge some unused definitions o correct 802.11 reason and status codes o correct reason code returned when a sta tries to associate to an ap operating with WPA/RSN but without a WPA/RSN ie
Reviewed by: thompsa, avatar Approved by: re (blanket wireless)
|
#
170530 |
|
11-Jun-2007 |
sam |
Update 802.11 wireless support: o major overhaul of the way channels are handled: channels are now fully enumerated and uniquely identify the operating characteristics; these changes are visible to user applications which require changes o make scanning support independent of the state machine to enable background scanning and roaming o move scanning support into loadable modules based on the operating mode to enable different policies and reduce the memory footprint on systems w/ constrained resources o add background scanning in station mode (no support for adhoc/ibss mode yet) o significantly speedup sta mode scanning with a variety of techniques o add roaming support when background scanning is supported; for now we use a simple algorithm to trigger a roam: we threshold the rssi and tx rate, if either drops too low we try to roam to a new ap o add tx fragmentation support o add first cut at 802.11n support: this code works with forthcoming drivers but is incomplete; it's included now to establish a baseline for other drivers to be developed and for user applications o adjust max_linkhdr et. al. to reflect 802.11 requirements; this eliminates prepending mbufs for traffic generated locally o add support for Atheros protocol extensions; mainly the fast frames encapsulation (note this can be used with any card that can tx+rx large frames correctly) o add sta support for ap's that beacon both WPA1+2 support o change all data types from bsd-style to posix-style o propagate noise floor data from drivers to net80211 and on to user apps o correct various issues in the sta mode state machine related to handling authentication and association failures o enable the addition of sta mode power save support for drivers that need net80211 support (not in this commit) o remove old WI compatibility ioctls (wicontrol is officially dead) o change the data structures returned for get sta info and get scan results so future additions will not break user apps o fixed tx rate is now maintained internally as an ieee rate and not an index into the rate set; this needs to be extended to deal with multi-mode operation o add extended channel specifications to radiotap to enable 11n sniffing
Drivers: o ath: add support for bg scanning, tx fragmentation, fast frames, dynamic turbo (lightly tested), 11n (sniffing only and needs new hal) o awi: compile tested only o ndis: lightly tested o ipw: lightly tested o iwi: add support for bg scanning (well tested but may have some rough edges) o ral, ural, rum: add suppoort for bg scanning, calibrate rssi data o wi: lightly tested
This work is based on contributions by Atheros, kmacy, sephe, thompsa, mlaier, kevlo, and others. Much of the scanning work was supported by Atheros. The 11n work was supported by Marvell.
|