aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/bwi
Commit message (Collapse)AuthorAgeFilesLines
...
* The r48589 promised to remove implicit inclusion of if_var.h soon. PrepareGleb Smirnoff2013-10-265-0/+6
| | | | | | | | | | | to this event, adding if_var.h to files that do need it. Also, include all includes that now are included due to implicit pollution via if_var.h Sponsored by: Netflix Sponsored by: Nginx, Inc. Notes: svn path=/head/; revision=257176
* ieee80211_rate2plcp() and ieee80211_rate2phytype() are both pre-11nAdrian Chadd2013-08-131-2/+5
| | | | | | | | | | | | | | | | | | | | | routines and thus assert if one passes in a rate code with the high bit set. Since the high bit can indicate either IEEE80211_RATE_BASIC or IEEE80211_RATE_MCS, it's up to the caller to determine whether the rate is 11n or not, and either mask out the BASIC bit, or call a different function. (Yes, this does mean that net80211 should grow 11n-aware rate2phytype() and rate2plcp() functions..) This may need to happen for the other drivers - it's currently only done (now) for iwn(4) and bwi(4). PR: kern/181100 Notes: svn path=/head/; revision=254279
* Mechanically substitute flags from historic mbuf allocator withGleb Smirnoff2012-12-041-5/+5
| | | | | | | malloc(9) flags in sys/dev. Notes: svn path=/head/; revision=243857
* Add opt_wlan.h includes, so IEEE80211_* configuration changes areAdrian Chadd2012-05-125-0/+6
| | | | | | | | | correctly picked up. Noticed by: Justin Hibbits, whilst debugging @ BSDCan Notes: svn path=/head/; revision=235338
* Fix some net80211 enum nits:Bernhard Schmidt2011-12-171-13/+13
| | | | | | | | | | | | | - 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@ Notes: svn path=/head/; revision=228621
* Fix an incorrect use of sizeof().Adrian Chadd2011-10-101-1/+1
| | | | | | | Obtained from: OpenBSD sys/dev/ic/bwi.c r1.87 Notes: svn path=/head/; revision=226182
* Update from OpenBSD: Include 0x4402 in the bbp id mapping table used on ↵Adrian Chadd2011-10-101-1/+1
| | | | | | | | | | | older devices. http://bcm-specs.sipsolutions.net/BackPlane agrees. Obtained from: OpenBSD, sys/dev/ic/bwi.c r1.88 Notes: svn path=/head/; revision=226181
* Fix an unaligned access issue; tidy up OFDM/DS rate decoding from the PLCP.Adrian Chadd2011-10-031-20/+9
| | | | | | | | | | This fixes a panic on PPC. Submitted by: novel Obtained from: OpenBSD, sys/dev/ic/bwi.c r1.89 Notes: svn path=/head/; revision=225941
* Pull ieee80211_ratectl_node_init() calls from drivers into net80211.Bernhard Schmidt2011-01-171-6/+0
| | | | | | | | | | | This fixes hostap mode for at least ral(4) and run(4), because there is no sufficient call into drivers which could be used initialize the node related ratectl variables. MFC after: 3 days Notes: svn path=/head/; revision=217511
* sysctl(9) cleanup checkpoint: amd64 GENERIC builds cleanly.Matthew D Fleming2011-01-121-2/+2
| | | | | | | Commit the rest of the devices. Notes: svn path=/head/; revision=217323
* Instead of using the AMRR ratectl algo as default for drivers which haveBernhard Schmidt2010-11-061-2/+1
| | | | | | | | | | | | | | | | | | the IEEE80211_C_RATECTL flag set, default to NONE for all drivers. Only if a driver calls ieee80211_ratectl_init() check if the NONE algo is still selected and try to use AMRR in that case. Drivers are still free to use any other algo by calling ieee80211_ratectl_set() prior to the ieee80211_ratectl_init() call. After this change it is now safe to assume that a ratectl algo is always available and selected, which renders the IEEE80211_C_RATECTL flag pretty much useless. Therefore revert r211314 and 211546. Reviewed by: rpaulo MFC after: 2 weeks Notes: svn path=/head/; revision=214894
* Introduce IEEE80211_C_RATECTL, drivers which use the ratectl frameworkBernhard Schmidt2010-08-141-1/+2
| | | | | | | | | should set this capability. MFC after: 2 weeks Notes: svn path=/head/; revision=211314
* Fixes a page fault in bwi_pci_probe() because the array isn't terminatedWeongyo Jeong2010-07-101-1/+2
| | | | | | | | | | | with NULL. PR: kern/148473 Submitted by: Grzegorz Dabrowski <grzegorz.dabrowski at gmail dot com> MFC after: 1 week Notes: svn path=/head/; revision=209892
* Initializes the ratectl for a node when the state is changed to RUN.Weongyo Jeong2010-06-291-0/+6
| | | | | | | | | | | This prevents a kernel fault by dividing with zero because the initial rate was 0 and didn't be initialized. Tested by: Warren Block <wblock at wonkity.com> MFC after: 3 days Notes: svn path=/head/; revision=209598
* Fixes NULL pointer reference that it's occurred when the state isWeongyo Jeong2010-06-291-5/+0
| | | | | | | | | | | changed to RUN because ic->ic_newassoc isn't set anywhere now. In the previous bwi_newassoc() is used to initialize AMRR rate routines. Tested by: Warren Block <wblock at wonkity.com> MFC after: 3 days Notes: svn path=/head/; revision=209597
* Add new tunable 'net.link.ifqmaxlen' to set default send interfaceMaxim Sobolev2010-05-031-2/+2
| | | | | | | | | | | | | queue length. The default value for this parameter is 50, which is quite low for many of today's uses and the only way to modify this parameter right now is to edit if_var.h file. Also add read-only sysctl with the same name, so that it's possible to retrieve the current value. MFC after: 1 month Notes: svn path=/head/; revision=207554
* Avoid NULL deref.Rui Paulo2010-04-071-1/+1
| | | | | | | | Submitted by: gavin MFC after: 1 month Notes: svn path=/head/; revision=206370
* net80211 rate control framework (net80211 ratectl).Rui Paulo2010-04-072-41/+10
| | | | | | | | | | | | | | | | | | | | This framework allows drivers to abstract the rate control algorithm and just feed the framework with the usable parameters. The rate control framework will now deal with passing the parameters to the selected algorithm. Right now we have AMRR (the default) and RSSADAPT but there's no way to select one with ifconfig, yet. The objective is to have more rate control algorithms in the net80211 stack so all drivers[0] can use it. Ideally, we'll have the well-known sample rate control algorithm in the net80211 at some point so all drivers can use it (not just ath). [0] all drivers that do rate control in software, that is. Reviewed by: bschmidt, thompsa, weyongo MFC after: 1 months Notes: svn path=/head/; revision=206358
* More consistent whitespace.John Baldwin2009-11-111-1/+1
| | | | Notes: svn path=/head/; revision=199198
* Use a dedicated callout to drive the transmit watchdog timer instead ofJohn Baldwin2009-11-112-12/+18
| | | | | | | | | using if_watchdog and if_timer. Tested by: gavin Notes: svn path=/head/; revision=199197
* In bwi_newstate, only zero the bssid when we stop a STA. And onlyWarner Losh2009-06-021-6/+20
| | | | | | | | | | when we've not stopped the card. It hangs the system when we touch the CSR after bwistop. This fixes the hanging on kldunload. Notes: svn path=/head/; revision=193310
* Move the unlock to after the ifdef (maybe the right fix is to removeWarner Losh2009-06-011-1/+1
| | | | | | | | the ifdef) since it calls bwi_start_locked, which expects to the lock to be held... Notes: svn path=/head/; revision=193238
* Make sure that we drain the LED blinking callout on detach.Warner Losh2009-06-011-0/+1
| | | | | | | Submitted by: Paul B. Mahol Notes: svn path=/head/; revision=193237
* Add a comment about what may be happening when we get certainWarner Losh2009-06-011-0/+17
| | | | | | | messages. No change to actual code. Notes: svn path=/head/; revision=193236
* fix typoSam Leffler2009-05-301-2/+2
| | | | Notes: svn path=/head/; revision=193079
* validate tx rate(s) in the raw xmit pathSam Leffler2009-05-291-2/+15
| | | | | | | Tested by: "Paul B. Mahol" <onemda@gmail.com> (rum, bwi) Notes: svn path=/head/; revision=193073
* Overhaul monitor mode handling:Sam Leffler2009-05-202-29/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=192468
* Remove unnecessary comments. 11A read/write is the same: its just theWarner Losh2009-05-181-2/+0
| | | | | | | | | classic indirect register dance. Submitted by: ddkprog at yahoo not com Notes: svn path=/head/; revision=192307
* Fix a typo from the original driver. We need to write ctrl2 into RFWarner Losh2009-05-181-1/+1
| | | | | | | | | | | | | | register 0x52, not ctrl1. This appears to be a mistake in the bcm reverse engineering page, and has been corrected there. Tracing through the code, this is more in keeping with the "documented" register. Sephe thinks it looks interesting and may be worth fixing. :) Submitted by: ddkprog at yahoo com Reviewed by: Sepherosa Ziehau Notes: svn path=/head/; revision=192306
* Correct types of PHY, per http://bcm-specs.sipsolutions.net/PHYVersioningWarner Losh2009-05-181-1/+2
| | | | | | | | | | | # Note: The driver doesn't support either these PHY types, so this is # effectively a nop. Submitted by: "ddk" Obtained from: http://paradox.lissyara.su/bwi.diff Notes: svn path=/head/; revision=192279
* Turns out that my BCM4318 has a PCI ID of 0x4319, which lead me toWarner Losh2009-05-181-10/+12
| | | | | | | | | | | | | | | | | believe it was a BCM4319. However, it is the a/b/g variation of the BCM4318. The chip itself is labelled BCM4318EKFBG, and the board is BCM94318MKABG. Paradox's patch includes the type of 802.11 wireless for each card, but changes all the names (I don't think the latter is quite right). Import that part of the patch, but keep the current set of BCM names (with a minor tweak for the 4306 ones). I'll need to verify them via some other means. Obtained from: http://paradox.lissyara.su/bwi.diff (partially) Notes: svn path=/head/; revision=192277
* Cleanup module declarations:Warner Losh2009-05-151-6/+4
| | | | | | | | | Use "bwi" consistently No need to have separate cardbus attachment No need to declare a module version Notes: svn path=/head/; revision=192146
* Add a comment to motivate my last change.Nathan Whitehorn2009-05-131-0/+2
| | | | | | | Suggested by: sam, imp Notes: svn path=/head/; revision=192046
* Add a short delay after programming PHY registers to give some time forNathan Whitehorn2009-05-131-0/+1
| | | | | | | | the engine to catch up. This prevents a machine check exception from illegal memory requests with a BCM4318. Notes: svn path=/head/; revision=192042
* Update a few XXX commentsWarner Losh2009-05-111-4/+4
| | | | | | | Submitted by: ddk ddk ddkprog at yahoo dot com Notes: svn path=/head/; revision=191995
* Bring in Andrew Thompson's port of Sepherosa Ziehau's bwi driver forWarner Losh2009-05-0311-0/+11773
Broadcom BCM43xx chipsets. This driver uses the v3 firmware that needs to be fetched separately. A port will be committed to create the bwi firmware module. The driver matches the following chips: Broadcom BCM4301, BCM4307, BCM4306, BCM4309, BCM4311, BCM4312, BCM4318, BCM4319 The driver works for 802.11b and 802.11g. Limitations: This doesn't support the 802.11a or 802.11n portion of radios. Some BCM4306 and BCM4309 cards don't work with Channel 1, 2 or 3. Documenation for this firmware is reverse engineered from http://bcm.sipsolutions.net/ V4 of the firmware is needed for 11a or 11n support http://bcm-v4.sipsolutions.net/ Firmware needs to be fetched from a third party, port to be committed # I've tested this with a BCM4319 mini-pci and a BCM4318 CardBus card, and # not connected it to the build until the firmware port is committed. Obtained from: DragonFlyBSD, //depot/projects/vap Reviewed by: sam@, thompsa@ Notes: svn path=/head/; revision=191762