summaryrefslogtreecommitdiffstats
path: root/sys/dev/wi
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Add Linksys WCF12: from Scott Lambertimp2003-07-191-0/+1
|
* OpenBSD calls this AIRVAST, so use that insteadimp2003-07-151-1/+2
|
* Add Siemens SpeedStream 1021imp2003-07-151-0/+1
| | | | Obainted from: openbsd (in spirit); millert
* Add support for asus wl100imp2003-07-111-0/+1
| | | | PR: 49033/53249
* Add corega PCCL-11 to match entry added to pccarddevs a while ago.imp2003-07-071-0/+1
| | | | Noticed going into openbsd...
* Revert the previous commit, it snuck in by accident.scottl2003-07-031-10/+0
| | | | Submitted by: ru
* Mega busdma API commit.scottl2003-07-011-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | Add two new arguments to bus_dma_tag_create(): lockfunc and lockfuncarg. Lockfunc allows a driver to provide a function for managing its locking semantics while using busdma. At the moment, this is used for the asynchronous busdma_swi and callback mechanism. Two lockfunc implementations are provided: busdma_lock_mutex() performs standard mutex operations on the mutex that is specified from lockfuncarg. dftl_lock() is a panic implementation and is defaulted to when NULL, NULL are passed to bus_dma_tag_create(). The only time that NULL, NULL should ever be used is when the driver ensures that bus_dmamap_load() will not be deferred. Drivers that do not provide their own locking can pass busdma_lock_mutex,&Giant args in order to preserve the former behaviour. sparc64 and powerpc do not provide real busdma_swi functions, so this is largely a noop on those platforms. The busdma_swi on is64 is not properly locked yet, so warnings will be emitted on this platform when busdma callback deferrals happen. If anyone gets panics or warnings from dflt_lock() being called, please let me know right away. Reviewed by: tmm, gibbs
* catch failure to fetch the card's "own channel"; this should not happensam2003-06-291-0/+4
|
* update for new 802.11 supportsam2003-06-284-148/+92
|
* Return support needed by dstumbler:sam2003-06-272-12/+174
| | | | | | | | | | | | | | | | | o add back rx monitor support o make WI_RID_SCAN_RES DTRT o fix a bug handling zero-length RID requests (used by dstumbler to set a zero-length SSID) o make RID_SCAN_REQ DTRT o add back WI_RID_OWN_SSID o fix wi_scan_ap to take a channel mask and txrate (for prism cards) These changes fix dstumbler -o (monitor mode). A minor change to dstumbler is needed to get normal AP scanning mode to work right; this is preferred to modifying the driver. PR: kern/53187 Reviewed by: Bruce M Simpson <bms@spc.org>
* As a workaround for the latest problems, don't init hermes cards moreimp2003-06-131-1/+1
| | | | | | | than once. This appears to work around the hanging issues, at the expense of warnings about bad RID allocations. I'm not sure this is a permanant workaround, but does appear to help in the tests that I've done here.
* ARtem ONAIR cardimp2003-06-111-0/+1
| | | | Submitted by: Ben Gras
* Minor tweaks that are effectively all style tweaks.imp2003-06-111-7/+2
|
OpenPOWER on IntegriCloud