summaryrefslogtreecommitdiffstats
path: root/sys/dev/bwi
Commit message (Collapse)AuthorAgeFilesLines
* Fix some net80211 enum nits:bschmidt2011-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@
* Fix an incorrect use of sizeof().adrian2011-10-101-1/+1
| | | | Obtained from: OpenBSD sys/dev/ic/bwi.c r1.87
* Update from OpenBSD: Include 0x4402 in the bbp id mapping table used on ↵adrian2011-10-101-1/+1
| | | | | | | | older devices. http://bcm-specs.sipsolutions.net/BackPlane agrees. Obtained from: OpenBSD, sys/dev/ic/bwi.c r1.88
* Fix an unaligned access issue; tidy up OFDM/DS rate decoding from the PLCP.adrian2011-10-031-20/+9
| | | | | | | This fixes a panic on PPC. Submitted by: novel Obtained from: OpenBSD, sys/dev/ic/bwi.c r1.89
* Pull ieee80211_ratectl_node_init() calls from drivers into net80211.bschmidt2011-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
* sysctl(9) cleanup checkpoint: amd64 GENERIC builds cleanly.mdf2011-01-121-2/+2
| | | | Commit the rest of the devices.
* Instead of using the AMRR ratectl algo as default for drivers which havebschmidt2010-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
* Introduce IEEE80211_C_RATECTL, drivers which use the ratectl frameworkbschmidt2010-08-141-1/+2
| | | | | | should set this capability. MFC after: 2 weeks
* Fixes a page fault in bwi_pci_probe() because the array isn't terminatedweongyo2010-07-101-1/+2
| | | | | | | | with NULL. PR: kern/148473 Submitted by: Grzegorz Dabrowski <grzegorz.dabrowski at gmail dot com> MFC after: 1 week
* Initializes the ratectl for a node when the state is changed to RUN.weongyo2010-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
* Fixes NULL pointer reference that it's occurred when the state isweongyo2010-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
* Add new tunable 'net.link.ifqmaxlen' to set default send interfacesobomax2010-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
* Avoid NULL deref.rpaulo2010-04-071-1/+1
| | | | | Submitted by: gavin MFC after: 1 month
* net80211 rate control framework (net80211 ratectl).rpaulo2010-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
* More consistent whitespace.jhb2009-11-111-1/+1
|
* Use a dedicated callout to drive the transmit watchdog timer instead ofjhb2009-11-112-12/+18
| | | | | | using if_watchdog and if_timer. Tested by: gavin
* In bwi_newstate, only zero the bssid when we stop a STA. And onlyimp2009-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.
* Move the unlock to after the ifdef (maybe the right fix is to removeimp2009-06-011-1/+1
| | | | | the ifdef) since it calls bwi_start_locked, which expects to the lock to be held...
* Make sure that we drain the LED blinking callout on detach.imp2009-06-011-0/+1
| | | | Submitted by: Paul B. Mahol
* Add a comment about what may be happening when we get certainimp2009-06-011-0/+17
| | | | messages. No change to actual code.
* fix typosam2009-05-301-2/+2
|
* validate tx rate(s) in the raw xmit pathsam2009-05-291-2/+15
| | | | Tested by: "Paul B. Mahol" <onemda@gmail.com> (rum, bwi)
* Overhaul monitor mode handling:sam2009-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
* Remove unnecessary comments. 11A read/write is the same: its just theimp2009-05-181-2/+0
| | | | | | classic indirect register dance. Submitted by: ddkprog at yahoo not com
* Fix a typo from the original driver. We need to write ctrl2 into RFimp2009-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
* Correct types of PHY, per http://bcm-specs.sipsolutions.net/PHYVersioningimp2009-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
* Turns out that my BCM4318 has a PCI ID of 0x4319, which lead me toimp2009-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)
* Cleanup module declarations:imp2009-05-151-6/+4
| | | | | | Use "bwi" consistently No need to have separate cardbus attachment No need to declare a module version
* Add a comment to motivate my last change.nwhitehorn2009-05-131-0/+2
| | | | Suggested by: sam, imp
* Add a short delay after programming PHY registers to give some time fornwhitehorn2009-05-131-0/+1
| | | | | the engine to catch up. This prevents a machine check exception from illegal memory requests with a BCM4318.
* Update a few XXX commentsimp2009-05-111-4/+4
| | | | Submitted by: ddk ddk ddkprog at yahoo dot com
* Bring in Andrew Thompson's port of Sepherosa Ziehau's bwi driver forimp2009-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@
OpenPOWER on IntegriCloud