summaryrefslogtreecommitdiffstats
path: root/sys/dev/wi
Commit message (Collapse)AuthorAgeFilesLines
* Use BUS_PROBE_DEFAULT in preference to 0. Also for vx, returnimp2005-03-011-1/+1
| | | | | BUS_PROBE_LOW_PRIORITY in stead of ifdef for devices that xl and vx both support so that xl will snarf them on up.
* The two PLANEX cards listed in pccarddevs, identified only by theirimp2005-02-011-1/+1
| | | | | | | | | | | | | | | | | | CIS, weren't actually used anywhere (other than the generic PC Card code when certain variables are defined). They aren't used in NetBSD either. Make things simpler by removing them. Change PLANEX_2 to PLANEX and tweak wi and owi to use that instead. The PLANEX id seems to actually be pci ID assigned to planex, not its pcmcia id. Ooops. I don't know if this is a reporting error from where this entry came from, or if it is a mistake on PLANEX's part. I suspect the latter, as ACTIONTEC and NEWMEDIA made the same mistake (although new media may be because it uses an advansys chip inside). Make a note of this in the file. The 0xc entires may be JEITA assigned, so note that as well. # This leaves just 3 entries that are totally unknown: airvast, archos # and edimax although the arivast number is the same assigned to # avertec in usb...
* Use Intersil chip names for the symbols, since many makers use theimp2005-01-201-3/+3
| | | | intersil IDs but their own name in the CIS.
* Add support for SENAO SL-2511CDimp2005-01-201-1/+2
| | | | Info submitted by: Paulo Fragoso
* Call wi_free after we turn off the interrupts. If we call it before,imp2005-01-191-2/+2
| | | | | | then we reference parts of the softc. # My appologies, but this was sent to me by someone whose name I've lost.
* Start each of the license/copyright comments with /*-, minor shuffle of linesimp2005-01-067-7/+7
|
* Eliminate some of the egregious bypass of the 802.11 statesam2005-01-011-18/+20
| | | | | | machine; instead use the intended entry points. There's still too much incestuous knowledge about the internals of the 802.11 layer but this at least fixes adhoc mode.
* Diff reduce wi_write_wep() relative to revision 1.168mdodd2004-12-171-41/+38
|
* Fix wep operation for station mode:sam2004-12-171-4/+28
| | | | | | | | | | o don't encapsulate on tx; the chip expect a raw frame w/o the crypto header o clear the WEP bit in the 802.11 header on rx so the 802.11 layer doesn't try to strip the crypto header o clobber the "drop unencoded frames" state bit when privacy is enabled so rx'd frames we pass up to the 802.11 layer are not discarded as unencrypted This stuff will need to be redone if anyone decides to add WPA support.
* set ic_ibss_chan when entering RUN state to match ic_bss so the channelsam2004-12-171-0/+1
| | | | reported when associated to an AP is correct
* remove power save logic from the tx path; the driver isn't ready to supportsam2004-12-171-6/+0
| | | | it so don't mislead folks
* o Update for net80211 changessam2004-12-083-205/+238
| | | | o Import some minor fixes from netbsd
* Second part of ALTQ driver modifications, covering:mlaier2004-08-011-10/+6
| | | | | | | | | | an(4), ath(4), hme(4), ndis(4), vr(4) and wi(4) Please help testing: http://people.freebsd.org/~mlaier/ALTQ_driver/ Tested by: Vaidas Damosevicius (an, ath, wi) Roman Divacky (vr) Submitted by: yongari (hme)
* Link ALTQ to the build and break with ABI for struct ifnet. Please recompilemlaier2004-06-131-0/+2
| | | | | | | | | | | | your (network) modules as well as any userland that might make sense of sizeof(struct ifnet). This does not change the queueing yet. These changes will follow in a seperate commit. Same with the driver changes, which need case by case evaluation. __FreeBSD_version bump will follow. Tested-by: (i386)LINT
* Only match cards that claim to be network cards. I've had twoimp2004-06-091-0/+10
| | | | | | | | | different cards that matched vendor/id, but weren't wi cards. This is because the vendor foolishly didn't have unique product ids. Symbol has a serial card that would otherwise match the wi driver, for example... Taken from a patch for xe posted by: Carlos Velasco
* Fix disordering of pccarddevs.h noticed by bde. Also remove a fewimp2004-05-271-21/+1
| | | | | | redundant includes and fix some of the include disordering. Submitted by: bde
* Move to generating pccarddevs.h on the fly, both for the kernel andimp2004-05-261-1/+1
| | | | | | | the modules. Also generate usbdevs.h automatically now, but a non-kernel file is stopping that at the moment.
* It turns out that the module dependency on pccard is in error. Sinceimp2004-05-081-1/+0
| | | | | | | | | | | | there's not dependencies on pccard symboles, such a dependency is not necessary. This means that drivers that have multiple attachments can not drag bogus devices into the kernel at load time. We can't (yet) do this with pci and isa. Drivers written for them actually do seem to have symbols that depend on these busses' implementation code. ndis not touched until other things can be tested.
* radiotap updates:sam2004-04-012-6/+13
| | | | | | o force little-endian byte order for header o pad header to 32-bit boundary to guard against applications that assume packet data alignment
* correct xmit-side radiotap collection by tap'ing the frame beforesam2004-04-011-4/+4
| | | | prepending the h/w header
* Add support for a new variant of the prism3 that has appaered in theimp2004-03-251-0/+1
| | | | | | | wild. This one is marketed by D-Link model DWL-650, but appears to be a ISL3710P-10 under the hood. Reported by: Brian O'Shea
* Don't announce MAC addresses twice.mdodd2004-03-201-1/+0
| | | | (ieee80211_ifattach() calls ether_ifattach().)
* Eliminate bogus usage of WI_RSSI_TO_DBM(). Not only does it boguslygreen2004-03-171-4/+2
| | | | | | clip/destroy the dB value contained in the wi(4)'s receive frames, it doesn't match with the flag set in the radiotap header (unperturbed dB versus dBm).
* Convert callers to the new bus_alloc_resource_any(9) API.njl2004-03-172-8/+8
| | | | | Submitted by: Mark Santcroos <marks@ripe.net> Reviewed by: imp, dfr, bde
* update radiotap support to reflect recent changes:sam2003-12-282-13/+14
| | | | | | o add xmit rate o drop rx time o add rx flags
* o eliminate widespread on-stack mbuf use for bpf by introducingsam2003-12-281-34/+12
| | | | | | | | | | | | | a new bpf_mtap2 routine that does the right thing for an mbuf and a variable-length chunk of data that should be prepended. o while we're sweeping the drivers, use u_int32_t uniformly when when prepending the address family (several places were assuming sizeof(int) was 4) o return M_ASSERTVALID to BPF_MTAP* now that all stack-allocated mbufs have been eliminated; this may better be moved to the bpf routines Reviewed by: arch@ and several others
* Fix slight disordering of supported cards.imp2003-12-271-3/+3
|
* Older versions of the intersil firmware is a lot slower than newerimp2003-12-092-1/+8
| | | | | | | | | versions of the firmware. It responds more slowly to commands, and we bogusly failed them. We assume that all versions of the intersil firmware before 1.0 are 10 times slower and will give it 10x the time to finish. # for 5.2 we should always just assume 5s.
* Fix Lucent cards.imp2003-12-021-10/+25
| | | | | | | | | | | | | | | | | | | | | o Back out workaround for not resetting lucent cards more than once. With these fixes, it appaers they are no longer necessary. o Set wi_gone when the card goes awol: typically when we get 0xffff back from the card. Also, don't interact with a card that's gone, so we fail in seconds rather than minutes. Also reduce amount of time we wait to .5s in wi_cmd. o clear wi_gone on ifconfig down to give some cards a chance after they wedge (this appears to unwedge one of my prism cards with old firmware). ifconfig up will fail quickly enough if the card really is out to lunch. o Add delay in wi_init of 100ms. o wi_stop(ifp, 0->1) changes so that we clear sc_enabled so that we exit out of the interrupt routine by just acking the interrupt Submitted by: iedowse Approved by: re@ (scottl) # after the freeze I'll fix some of the minor style issues that reviewers # of this patch have told me about.
* Truly fix the lockup mentioned in 1.153. The PRISM hardware is notgreen2003-11-041-0/+9
| | | | | capable of functioning in HostAP mode with a zero-length SSID, so use " " if one is not set.
* Despite making the card not lock up, thae workaround from 1.153 didn'tgreen2003-11-041-3/+0
| | | | | actually make hostap mode work again. Back it out while I try to find a solution.
* Fix wi(4)'s WI_RID_SCAN_RES ioctl (wicontrol -L). The wrong lengthgreen2003-11-041-9/+13
| | | | | is computed, so the user thinks that for non-PRISM cards there are more APs represented than exist.
* On my ZoomAir-branded Intersil PRISM2 cards, if you try to set thegreen2003-11-041-0/+3
| | | | | | | | | | | | | | operating mode to HostAP, the card will lock up indefinitely (but the wi(4) driver can recover if you eject the card). The problem is that the card needs to be "reset" in a way before you even change the media to hostap. In practice this isn't as noticeable because you probably do some operation beforehand which prevents the lock-up before you enable hostap mode. e.g.: "ifconfig wi0 up media autoselect mediaopt hostap" will lock up (if you just inserted the card). "ifconfig wi0 up ssid foo media autoselect mediaopt hostap" won't lock up.
* Replace the if_name and if_unit members of struct ifnet with new membersbrooks2003-10-311-2/+1
| | | | | | | | | | | | | if_xname, if_dname, and if_dunit. if_xname is the name of the interface and if_dname/unit are the driver name and instance. This change paves the way for interface renaming and enhanced pseudo device creation and configuration symantics. Approved By: re (in principle) Reviewed By: njl, imp Tested On: i386, amd64, sparc64 Obtained From: NetBSD (if_xname)
* mark interrupt handlers MPSAFEsam2003-10-291-1/+1
|
* Sony PEGA-WL110 Wireless LANimp2003-09-221-0/+1
| | | | Obtained from: NetBSD (onoe-san)
* New Proxim Harmony OEM card.imp2003-09-201-0/+1
| | | | Submitted by: Jeremy Bingham
* o add experimental radiotap capture formatsam2003-09-055-13/+125
| | | | | | o add netbsd logic to convert rssi to device-independent values Obtained from: NetBSD (rssi conversion code)
* This doesn't work, so back them out.imp2003-08-241-2/+2
|
* Return -100 rather than 0 for pccard probe routines. This allowsimp2003-08-241-2/+2
| | | | other drivers to attach to these cards, if so desired.
* Prefer new location of pci include files (which have only been in theimp2003-08-221-2/+2
| | | | | tree for two or more years now), except in a few places where there's code to be compatible with older versions of FreeBSD.
* LINKSYS2 -> BROMAXimp2003-08-211-3/+3
|
* Update to reflect NETGEAR_2 -> INTERSIL and INTERSIL -> INTERSIL2imp2003-08-211-2/+2
| | | | changes to pccarddevs.
* MFp4 changes to fix locking issues and correct referencesam2003-08-191-22/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | count handling of station entries in hostap mode: Input path: o driver is now expected to find the node associated with the sender of a received frame; use ic_bss if none is located o driver passes the (referenced) node into ieee80211_input for use within the wlan module and is responsible for cleaning up on return o the antenna state is no longer passed up with each frame; this is now considered driver-private state and drivers are responsible for keeping it in the driver-private part of a node Output path: Revamp output path for management frames to eliminate redundant locking that causes problems and to correct reference counting bogosity that occurs when stations are timed out due to inactivity (in AP mode). On output the refcnt'd node is stashed in the pkthdr's recvif field (yech) and retrieved by the driver. This eliminates an unref/ref scenario and related node table unlock/lock due to the driver looking up the node. This is particularly important when stations are timed out as this causes a lock order reversal that can result in a deadlock. As a byproduct we also reduce the overhead for sending management frames (minimal). Additional fallout from this is a change to ieee80211_encap to return a refcn't node for tieing to the outbound frame. Node refcnts are not reclaimed until after a frame is completely processed (e.g. in the tx interrupt handler). This is especially important for timed out stations as this deref will be the final one causing the node entry to be reclaimed. Additional semi-related changes: o replace m_copym use with m_copypacket (optimization) o add assert to verify ic_bss is never free'd during normal operation o add comments explaining calling conventions by drivers for frames going in each direction o remove extraneous code that "cannot be executed" (e.g. because pointers may never be null)
* Add microsoft mn-520 wlan card.imp2003-08-141-0/+1
| | | | Submitted by: Kirk Strauser
* Add the PCI Id of the Intersil prism3 (mini-PCI) WLAN chip. The Vaiomarcel2003-08-081-0/+1
| | | | | | | | | | PCG-505BX (for example) has one of those: wi0: <Intersil Prism3> mem 0xf8000000-0xf8000fff at device 2.0 on pci2 wi0: 802.11 address: 00:02:8a:94:d8:73 wi0: using RF:PRISM3(Mini-PCI) wi0: Intersil Firmware: Primary (1.1.1), Station (1.5.6) wi0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
* Fix a couple of bugs in the resume handler. Don't call the if_initjdp2003-07-261-2/+3
| | | | | | | function unless the device is configured up. Without this fix, the device ends up in the RUNNING state even though it is configured down. Also, check the RUNNING flag before calling the if_start function, in case the if_init function failed for one reason or another.
* o Add monitor mode support. This tested fine with prism cards but may requiresam2003-07-211-2/+29
| | | | | | | | newer lucent/hermes firmware than indicated (investigating). I'm committing this now since it shouldn't hurt anything. o Vaguely related, add bogus frame length check from netbsd. Obtained from: netbsd
* track changes to 802.11 code:sam2003-07-202-22/+23
| | | | | o override new_state method per new model o use ieee80211_state_name instead of private copy
* Add Addtron AWA-100 wireless PCI cardimp2003-07-191-0/+1
| | | | | Submitted by: Robin Reagan Pr: 37526
OpenPOWER on IntegriCloud