aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/iwn
Commit message (Collapse)AuthorAgeFilesLines
* The DC calibration result obtained during initialization can't beBernhard Schmidt2011-11-212-1/+29
| | | | | | | | | | | | | passed over to the runtime firmware on 6050 devices. Instead let the runtime firmware do the calibration itself. This fixes support for the 6050 series devices. Obtained from: OpenBSD Submitted by: kevlo Tested by: lx, Tz-Huan Huang(earlier version) Notes: svn path=/head/; revision=227805
* Let net80211 also know about stopped BA sessions. This fixes some issuesBernhard Schmidt2011-10-241-0/+1
| | | | | | | | | | | | where the driver assumed that BA resources are still available due to net80211 saying so. PR: 161407, 159768 Tested by: cperciva, rene MFC after: 3 days Notes: svn path=/head/; revision=226679
* Fix bmiss notifications, events should be sent when NOT scanning.Bernhard Schmidt2011-10-131-1/+1
| | | | | | | MFC after: 3 days Notes: svn path=/head/; revision=226346
* Recognize the Intel(R) Centrino(R) Wireless-N 130.Marius Strobl2011-10-091-0/+1
| | | | | | | PR: 161162 Notes: svn path=/head/; revision=226176
* Manually set the channel when using monitor mode - the firmwareAdrian Chadd2011-09-201-0/+12
| | | | | | | | | | | | doesn't select it automatically. Submitted by: nox Reviewed by: bschmidt Approved by: re PR: kern/160815 Notes: svn path=/head/; revision=225686
* Make sure to drop the IEEE80211_RATE_BASIC flag even for MCS rates.Bernhard Schmidt2011-06-101-7/+9
| | | | | | | | Reported by: Maciej Milewski <milu at dat dot pl> Tested by: Maciej Milewski <milu at dat dot pl> Notes: svn path=/head/; revision=222933
* Enable HT40 (40MHz channel width) support.Bernhard Schmidt2011-06-041-1/+1
| | | | Notes: svn path=/head/; revision=222687
* Only consider QoS frames for TX packet aggregation.Bernhard Schmidt2011-06-041-1/+2
| | | | Notes: svn path=/head/; revision=222680
* The firmware of 4965 series adapters seems to die while trying to sendBernhard Schmidt2011-06-041-6/+10
| | | | | | | | | | | | | | | | | | | probe requests at 1Mbps while being associated on a 5GHz channel. Sending those at 6Mbps does work, so use that instead during a background scan. This workaround allows us to re-enable background scan support for the 4965 adapters. Also, just enabling one antenna on 5GHz results in better reception of beacons: test 00:26:5a:c6:14:1a 40 54M -71:-95 200 E WME HTCAP ATH vs test 00:26:5a:c6:14:1a 40 54M -92:-95 200 E WME HTCAP ATH Due to roam:rssi thresholds set to 7 by default it might have been impossible to associate to that network. While here use IEEE80211_IS_CHAN_5GHZ() to determine the band. Notes: svn path=/head/; revision=222679
* Add module version to iwi/ipw/wpi and iwn.Bernhard Schmidt2011-05-311-0/+2
| | | | | | | | | | | | | | | | | | | | | The version is used to check if a module is already preset, not setting it results in: can't re-use a leaf (ipw)! module_register: module pci/ipw already exists! Module pci/ipw failed to register: 17 while trying to load the module due to an entry in loader.conf. With this commit we get the expected: module ipw already present! Reported by: Dru Lavigne, bz Tested by: bz MFC after: 1 week Notes: svn path=/head/; revision=222543
* Only update the scheduler's byte count table for aggregation queues.Bernhard Schmidt2011-05-151-6/+4
| | | | | | | | | | | The other queues, especially the command queue, uses the FIFO mode which doesn't require the byte count table because queued entries are processed in order. Pointed out by: Lucius Windschuh <lwindschuh at googlemail dot com> Notes: svn path=/head/; revision=221945
* Enable 11n (sans HT40) support.Bernhard Schmidt2011-05-081-35/+20
| | | | Notes: svn path=/head/; revision=221657
* Notify firmware about various HT parameters once associated.Bernhard Schmidt2011-05-082-25/+37
| | | | Notes: svn path=/head/; revision=221653
* Add support for TX packet aggregation.Bernhard Schmidt2011-05-083-64/+282
| | | | Notes: svn path=/head/; revision=221651
* Add support for RX packet aggregation.Bernhard Schmidt2011-05-082-17/+45
| | | | Notes: svn path=/head/; revision=221650
* Add support for transmitting frames at MCS rates.Bernhard Schmidt2011-05-082-14/+54
| | | | Notes: svn path=/head/; revision=221649
* Prepare for transmitting frames at MCS rates:Bernhard Schmidt2011-05-083-88/+66
| | | | | | | | | | | | - instead of calling iwn_plcp_signal() for every frame, map the expected value directly within wn->ridx - concat plcp, rflags and xrflags, there is no clean byte boundary within the flags, for example the antenna setting uses bit 6, 7 and 8 - there is still need for a custom rate to plcp mapping, as those expected by the hardware are not conform to the std Notes: svn path=/head/; revision=221648
* Read chainmask information before announcing it.Bernhard Schmidt2011-05-081-22/+22
| | | | Notes: svn path=/head/; revision=221642
* Add HT capabilities to probe requests.Bernhard Schmidt2011-05-081-4/+3
| | | | Notes: svn path=/head/; revision=221641
* Disable background scan support for 4965 adapters.Bernhard Schmidt2011-05-081-1/+3
| | | | | | | | | On legacy channels every once in a while the firmware throws a SYSASSERT on line 208. On HT channels though this does always happen and I'm not aware of any workaround currently. Notes: svn path=/head/; revision=221640
* RX aggregation is slightly different then the legacy path, we will onlyBernhard Schmidt2011-05-081-1/+0
| | | | | | | receive one RX_PHY for each aggregate and not one RX_PHY per frame. Notes: svn path=/head/; revision=221639
* Allocate all TX rings, those will be use for TX packet aggregation.Bernhard Schmidt2011-05-081-7/+0
| | | | Notes: svn path=/head/; revision=221638
* Use the enhanced TX power information availabe on newer EEPROMs.Bernhard Schmidt2011-05-083-9/+45
| | | | Notes: svn path=/head/; revision=221637
* Hook HT channel setup.Bernhard Schmidt2011-05-081-35/+43
| | | | Notes: svn path=/head/; revision=221636
* The 6000 series adapters have a slightly different offset for band 6,Bernhard Schmidt2011-05-082-1/+15
| | | | | | | 2GHz HT40 channels. Notes: svn path=/head/; revision=221635
* Re-add 2 device IDs which got lost.Bernhard Schmidt2011-05-081-0/+2
| | | | | | | Pointed out by: benjsc Notes: svn path=/head/; revision=221634
* Now that all bits are in for 1030/6230 adapters enable those.Bernhard Schmidt2011-04-201-32/+25
| | | | | | | | While here pull the adapter names from the Linux driver and sort the list by ID. Notes: svn path=/head/; revision=220895
* The 6000 series gen2 adapters have 2 firmware images, one withBernhard Schmidt2011-04-201-2/+4
| | | | | | | advanced btcoex support and one without. Notes: svn path=/head/; revision=220894
* Add basic support for advanced bluetooth coexistence requiredBernhard Schmidt2011-04-203-2/+105
| | | | | | | for 6005 gen2b (1030/6030) adapters. Notes: svn path=/head/; revision=220891
* Enable DC calibration for all 6000 series devices, except thoseBernhard Schmidt2011-04-191-1/+6
| | | | | | | | with an internal PA. Override the chainmask also for the 6050. Notes: svn path=/head/; revision=220867
* Pull some features out of the firmware:Bernhard Schmidt2011-04-193-3/+20
| | | | | | | | | | | | - If a ENH_SENS TLV section exit the firmware is capable of doing enhanced sensitivity calibration. - Newer devices/firmwares have more calibration commands therefore hardcoding the noise gain/reset commands no longer works. It is supposed to use the next index after the newest calibration type support. Read the command index of the TLV section if available. Notes: svn path=/head/; revision=220866
* Add some new features:Bernhard Schmidt2011-04-163-3/+69
| | | | | | | | | | | | - 6000 series devices need enhanced sensitivity calibration. - 6000 series devices need a different setting for the shadow reg. - set the IWN_FLAG_HAS_11N bit if the EEPROM says the device has 11n support. Obtained from: OpenBSD Notes: svn path=/head/; revision=220729
* Bring over the HAL/OPS changes, instead of two const structs it is nowBernhard Schmidt2011-04-162-166/+160
| | | | | | | | | slightly more dynamic. Obtained from: OpenBSD Notes: svn path=/head/; revision=220728
* Read RX/TX chainmasks directly of the EEPROM. Some chips are known toBernhard Schmidt2011-04-161-14/+8
| | | | | | | | | | have the wrong/broken information stored, keep the hardcoded values for those. Obtained from: OpenBSD Notes: svn path=/head/; revision=220727
* Just a whitespace sync, some more style(9) conform then others.Bernhard Schmidt2011-04-163-225/+158
| | | | Notes: svn path=/head/; revision=220726
* Sync comments with OpenBSD.Bernhard Schmidt2011-04-162-37/+38
| | | | Notes: svn path=/head/; revision=220725
* Sync debug and error messages with OpenBSD.Bernhard Schmidt2011-04-161-84/+65
| | | | Notes: svn path=/head/; revision=220724
* Shuffle code around a bit. Mostly to group functional connected things,Bernhard Schmidt2011-04-162-306/+301
| | | | | | | others to get the same order as the OpenBSD code. Notes: svn path=/head/; revision=220723
* Rename some stuff in favour of the OpenBSD names:Bernhard Schmidt2011-04-161-26/+26
| | | | | | | | | - prefer EDCA over WME - qid for a TXQ ID - reg for register values Notes: svn path=/head/; revision=220721
* Fix WME/QoS handling:Bernhard Schmidt2011-04-161-27/+43
| | | | | | | | | - move the TX queue selection into iwn_tx_data/iwn_tx_data_raw - extract traffic identifier and use it - do not expect ACKs for frames marked as such Notes: svn path=/head/; revision=220720
* Remove if_ierrors which do not necessarily indicate a RX error, alsoBernhard Schmidt2011-04-161-3/+2
| | | | | | | do account send packets. While here use the IWN_TX_FAIL constant. Notes: svn path=/head/; revision=220719
* Instead of hardcoding TX rates and using that to fill the retry tableBernhard Schmidt2011-04-162-85/+70
| | | | | | | use the neogotiated ni_rates instead. Notes: svn path=/head/; revision=220715
* Replace RX/TX ring allocation error messages with something more saneBernhard Schmidt2011-04-161-22/+14
| | | | | | | and remove those where the caller already prints one. Notes: svn path=/head/; revision=220711
* Prevent double-free, also use the same error codes as OpenBSD.Bernhard Schmidt2011-04-161-3/+2
| | | | Notes: svn path=/head/; revision=220710
* Add missing bus_dmamap_sync calls as well as remove two duplicate ones.Bernhard Schmidt2011-04-161-4/+8
| | | | | | | Obtained from: OpenBSD Notes: svn path=/head/; revision=220704
* Unify TX/RX ring allocation, finish the descriptior DMA stuff beforeBernhard Schmidt2011-04-161-9/+10
| | | | | | | starting with data. Notes: svn path=/head/; revision=220702
* Make sure to destroy all DMA tags and maps.Bernhard Schmidt2011-04-161-7/+19
| | | | Notes: svn path=/head/; revision=220701
* Rewrite DMA segment handling to be more inline with the OpenBSD code.Bernhard Schmidt2011-04-161-46/+62
| | | | | | | Also change the m_len == 0 hack to have less code churn. Notes: svn path=/head/; revision=220700
* scratch_paddr has the same address pre-assigned, use that instead.Bernhard Schmidt2011-04-161-4/+2
| | | | Notes: svn path=/head/; revision=220694
* In case a new mbuf can't be loaded, reuse the old one.Bernhard Schmidt2011-04-161-0/+12
| | | | Notes: svn path=/head/; revision=220693