summaryrefslogtreecommitdiff
path: root/sys/dev/pci/if_wpi.c
AgeCommit message (Collapse)Author
2007-11-03fix ENETRESET handling in {wpi,iwn}_ioctl() so that the firmware won'tDamien Bergamini
panic when resetting the device - requested by many fix ifconfig -M (the interface still has to be down though ie it won't work while the interface is up). fix AMPDU window for 4965AGN (has no effect since 802.11n is not supported yet).
2007-09-11- add callbacks for setting EDCA parameters and pairwise crypto keys.Damien Bergamini
- tweaks to make it look more like iwn(4).
2007-09-11fix a bug in the scan command I introduced with my previous commit.Damien Bergamini
2007-09-10- add support for 802.11 headers with various sizes (will be requiredDamien Bergamini
for EDCA support). - remove an unused function. - fix scan command. - detect if the hardware radio switch is on instead of failing in the calibration of the thermal sensor with an obscure message.
2007-09-07use new malloc M_ZERO flag to shrink kernel.Damien Bergamini
remove <malloc.h> from files where malloc is not used.
2007-08-28unify firmware load failure messages; ok mglockerTheo de Raadt
2007-08-22when running out of rx buffers, allocate a new mbuf and copy the rxDamien Bergamini
buffer into it using m_copym2() instead of just dropping the received frame. otherwise, it may happen that all rx buffers are queued by tcp_input() waiting for a frame that will never arrive because we are dropping it. when it happens, rx stop working and it is hard to recover from this. the problem is not visible when using WEP because WEP decryption is currently done by software and that rx buffers are copied into mbufs by the software decryption code. while i'm here, increase the number of rx buffers allocated by wpi(4) from 80 to 96 to limit the number of copies. problem and solution found by bluhm@ - thanks.
2007-08-10make it more clear that the temperature can range between 0 and 285,Jasper Lievisse Adriaanse
by using "0 - 285" instead of "0..285" ok damien@
2007-07-24hardware WEP in the TX path.Damien Bergamini
make sure to clear the SCAN lock in case the scan is interrupted.
2007-07-11endiannessDamien Bergamini
2007-07-10change firmware loading code to adopt the new 2.14.4 firmware layout.Damien Bergamini
while i'm here, fix allocation of the Rx ring descriptors so we don't waste memory. IMPORTANT: you must upgrade your wpi-firmware package to rev. 2.14.4 or the driver will stop working.
2007-07-05move the logic of determining whether an extended supported rates IE isDamien Bergamini
needed or not to the callers (instead of doing nothing in add_xrates).
2007-06-16do not allocate ring descriptors for the service queue.Damien Bergamini
this queue is used to load the firmware and the descriptors are written differently (in wpi_load_segment()). so the DMA descriptors were actually unused. saves 16KB of memory.
2007-06-11Wait for firmware command WPI_CMD_TXPOWER to complete before sendingDamien Bergamini
the WPI_CMD_ADD_NODE command in wpi_config(). Fixes mp kernels. Tested by jasper@, deanna@, fkr@
2007-06-09print regulatory domain in dmesg output.Damien Bergamini
fix typo in a comment.
2007-06-06comment an unused function (wpi_setup_beacon).Damien Bergamini
i do not plan to add support for independant bss or hostap modes.
2007-06-06- #undef the correct macroDamien Bergamini
- improve a comment
2007-06-06make sensors framework usage consistent with other drivers; ok damien@Constantine A. Murenin
2007-06-05Major wpi(4) update:Damien Bergamini
1/ Update the driver to use the new firmware images from Intel (2.14.3.) 2/ Read the list of supported channels from the EEPROM instead of having it hard-coded in the driver. 3/ Limit output power to what is specified in EEPROM. 4/ Decrease output power for highest OFDM rates to reduce distortion. 5/ Automatically adjust output power to temperature changes for increased throughput and range. 6/ Attach the adapter's onboard thermal sensor to the sensor framework. 7/ Replace 'magic' fields in structures with their correct definitions. NOTE1: you must upgrade your wpi-firmware package to rev 2.14.3 or the driver will stop working. NOTE2: if you are using a channel not allowed by the regulatory domain of your adapter, you will no longer be able to associate.
2007-01-03M_DUP_PKTHDR() cleanup. On static mbufs M_DUP_PKTHDR() will leak mbuf tags.Claudio Jeker
See similar commit to dev/usb/if_rum.c for more info. With this commit all drivers have been switched away from the incorrect M_DUP_PKTHDR() usage. OK mglocker@
2006-11-26do not have each net80211 driver define its own rates structures. if they useTheo de Raadt
the standard rates, use some defined by net80211 itself. kernel shrinks a bit ok jsg mglocker
2006-11-13first round of commits for proper 11b/g protection support:Damien Bergamini
- use the newly introduced ieee80211_get_rts() and ieee80211_get_cts_to_self() functions. - use CTS-to-self instead of RTS/CTS to protect OFDM frames in a mixed 11b/g BSS. - make sure multicast frames are sent using CCK modulation. remove support for 5GHz radios in ral(4) RT2560 and ural(4). i'm not aware of any such adapters on the market and 11a code is known to be broken. some cleanup while i'm here.
2006-11-01fix firmware fatal errors on re-associations.Damien Bergamini
reported and tested by Marc Winiger and dhartmei@
2006-10-23remove detach() function. this is not hotplug and this is dead code.Damien Bergamini
2006-10-23make sure wpi_iter_func() is called at splnet.Damien Bergamini
simplify wpi_dma_contig_alloc(). various cosmetic tweaks while i'm here.
2006-09-18don't use IF_PREPEND() on altq's.Damien Bergamini
use IFQ_POLL()/IFQ_DEQUEUE() logic instead as described in altq(4).
2006-08-28Completely rework the allocation/management of Rx buffers.Damien Bergamini
The firmware expects 3KB Rx buffers so we can't just map mbuf clusters which are only 2KB. Also it seems that Rx buffers must be aligned on a 1KB boundary which is not necessary the case with mbuf clusters. We want to make damn sure the firmware will not DMA anything outside the mapped Rx buffers. The size of the Rx buffers is probably configurable but Intel will refuse to answer to any question regarding the programmation of the chipset, and a dump of the device registers led to nowhere.
2006-08-20- turn the interface down if the user press the radio kill button whileDamien Bergamini
the interface is up. - undef WPI_DEBUG.
2006-08-18set of unrelated cosmetic tweaks.Damien Bergamini
2006-08-10fix a use-after-free (read) of a mbuf in wpi_tx_intr().Damien Bergamini
2006-08-06endianness.Damien Bergamini
2006-08-06cosmetic tweaks.Damien Bergamini
2006-08-04extend the set of supported 802.11a channels (100-140).Damien Bergamini
2006-08-03Fix 802.11a. With these changes I can now connect my wpi(4) toDamien Bergamini
a ral(4)-based 802.11a AP.
2006-08-01more 802.11a bitsDamien Bergamini
2006-08-01- improve scan code to support scanning of 802.11a channelsDamien Bergamini
- fix protection mode - fix association to APs hiding their SSID + various cosmetic tweaks while i'm here
2006-06-17Move AMRR rate control algorithm out of wpi(4) and ural(4), into net80211.Damien Bergamini
ok brad@
2006-06-17- re-enable AMRRDamien Bergamini
- unmap the good buffer in wpi_tx_intr
2006-06-16- fix reassociations (the firmware was crashing because the configurationDamien Bergamini
was not properly reset) -- tested by Jean-Baptiste Campesato - load the firmware block by block to avoid allocating a large amount of contiguous memory, which may not be possible at the time the interface is turned up. - rename WPI_CONFIG_ASSOCIATED into WPI_STATE_ASSOCIATED
2006-06-14must use RTS/CTS protection when sending frames at OFDM rates in a BSSDamien Bergamini
with non-ERP STAs. some bits are missing in net80211 though, so this code won't be triggered yet.
2006-06-14clear the IFF_UP interface flag before shutting down the interface.Brad Smith
ok damien@
2006-06-10endiannessDamien Bergamini
2006-06-05- discard Rx frames with a bad CRC earlyDamien Bergamini
- don't start AMRR if we have set a fixed rate - fix TSF synchronization - remove a x2 prototype + ;; (pointed out by Jean-Baptiste Campesato)
2006-05-29Do not cast a bus_addr_t back in to a pointer as these types may not beMiod Vallat
compatible; plus this makes a computation clearer. ok damien@
2006-05-25automatic rate control (AMRR) + cosmetic and small fixesDamien Bergamini
2006-05-20more radiotap.Damien Bergamini
2006-05-20more rx radiotap statsDamien Bergamini
2006-05-20- fix monitor modeDamien Bergamini
- cosmetic in wpi_dma_contig_alloc()
2006-05-20- fix CCK mask for 802.11b/onlyDamien Bergamini
- add beacon command for future IBSS or HostAP mode support
2006-05-20- fix short slot time and short preamble settingsDamien Bergamini
- fix basic rates setting - fix check for WEP encryption (authreq frames might require encryption in shared mode) - cleanup a few things while i'm here