aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/awi
Commit message (Collapse)AuthorAgeFilesLines
* move awi to the Attic; it will not make the jump to the new world orderSam Leffler2008-04-207-3751/+0
| | | | | | | Reviewed by: imp Notes: svn path=/head/; revision=178352
* o add 802.11 state machine states for DFS and client-side power saveSam Leffler2007-09-051-0/+4
| | | | | | | | | | o fixup drivers to ignore new states Reviewed by: avatar (?) Approved by: re (blanket wireless) Notes: svn path=/head/; revision=172058
* Update 802.11 wireless support:Sam Leffler2007-06-112-25/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | o major overhaul of the way channels are handled: channels are now fully enumerated and uniquely identify the operating characteristics; these changes are visible to user applications which require changes o make scanning support independent of the state machine to enable background scanning and roaming o move scanning support into loadable modules based on the operating mode to enable different policies and reduce the memory footprint on systems w/ constrained resources o add background scanning in station mode (no support for adhoc/ibss mode yet) o significantly speedup sta mode scanning with a variety of techniques o add roaming support when background scanning is supported; for now we use a simple algorithm to trigger a roam: we threshold the rssi and tx rate, if either drops too low we try to roam to a new ap o add tx fragmentation support o add first cut at 802.11n support: this code works with forthcoming drivers but is incomplete; it's included now to establish a baseline for other drivers to be developed and for user applications o adjust max_linkhdr et. al. to reflect 802.11 requirements; this eliminates prepending mbufs for traffic generated locally o add support for Atheros protocol extensions; mainly the fast frames encapsulation (note this can be used with any card that can tx+rx large frames correctly) o add sta support for ap's that beacon both WPA1+2 support o change all data types from bsd-style to posix-style o propagate noise floor data from drivers to net80211 and on to user apps o correct various issues in the sta mode state machine related to handling authentication and association failures o enable the addition of sta mode power save support for drivers that need net80211 support (not in this commit) o remove old WI compatibility ioctls (wicontrol is officially dead) o change the data structures returned for get sta info and get scan results so future additions will not break user apps o fixed tx rate is now maintained internally as an ieee rate and not an index into the rate set; this needs to be extended to deal with multi-mode operation o add extended channel specifications to radiotap to enable 11n sniffing Drivers: o ath: add support for bg scanning, tx fragmentation, fast frames, dynamic turbo (lightly tested), 11n (sniffing only and needs new hal) o awi: compile tested only o ndis: lightly tested o ipw: lightly tested o iwi: add support for bg scanning (well tested but may have some rough edges) o ral, ural, rum: add suppoort for bg scanning, calibrate rssi data o wi: lightly tested This work is based on contributions by Atheros, kmacy, sephe, thompsa, mlaier, kevlo, and others. Much of the scanning work was supported by Atheros. The 11n work was supported by Marvell. Notes: svn path=/head/; revision=170530
* o break newbus api: add a new argument of type driver_filter_t toPaolo Pisati2007-02-231-1/+1
| | | | | | | | | | | | | | | | bus_setup_intr() o add an int return code to all fast handlers o retire INTR_FAST/IH_FAST For more info: http://docs.freebsd.org/cgi/getmsg.cgi?fetch=465712+0+current/freebsd-current Reviewed by: many Approved by: re@ Notes: svn path=/head/; revision=166901
* In FreeBSD, we don't need sc_power callbackKevin Lo2006-12-121-1/+1
| | | | | | | Approved by: cognet and imp Notes: svn path=/head/; revision=165109
* tweak commentWarner Losh2006-10-191-1/+2
| | | | Notes: svn path=/head/; revision=163496
* add missed calls to bpf_peers_presentSam Leffler2006-06-021-3/+2
| | | | Notes: svn path=/head/; revision=159183
* Remove support for oldcard by removing compat shims.Warner Losh2005-09-201-24/+4
| | | | Notes: svn path=/head/; revision=150393
* Make sure that we call if_free(ifp) after bus_teardown_intr. Since weWarner Losh2005-09-191-3/+1
| | | | | | | | | | could get an interrupt after we free the ifp, and the interrupt handler depended on the ifp being still alive, this could, in theory, cause a crash. Eliminate this possibility by moving the if_free to after the bus_teardown_intr() call. Notes: svn path=/head/; revision=150306
* fix handling of the current channel (missed in previous commit)Sam Leffler2005-08-131-4/+5
| | | | Notes: svn path=/head/; revision=149008
* Propagate rename of IFF_OACTIVE and IFF_RUNNING to IFF_DRV_OACTIVE andRobert Watson2005-08-091-6/+6
| | | | | | | | | | | | | | | | | IFF_DRV_RUNNING, as well as the move from ifnet.if_flags to ifnet.if_drv_flags. Device drivers are now responsible for synchronizing access to these flags, as they are in if_drv_flags. This helps prevent races between the network stack and device driver in maintaining the interface flags field. Many __FreeBSD__ and __FreeBSD_version checks maintained and continued; some less so. Reviewed by: pjd, bz MFC after: 7 days Notes: svn path=/head/; revision=148887
* Cleanup beacon/listen interval handling:Sam Leffler2005-08-081-1/+1
| | | | | | | | | | | | | | | | | | | | o separate configured beacon interval from listen interval; this avoids potential use of one value for the other (e.g. setting powersavesleep to 0 clobbers the beacon interval used in hostap or ibss mode) o bounds check the beacon interval received in probe response and beacon frames and drop frames with bogus settings; not clear if we should instead clamp the value as any alteration would result in mismatched sta+ap configuration and probably be more confusing (don't want to log to the console but perhaps ok with rate limiting) o while here up max beacon interval to reflect WiFi standard Noticed by: Martin <nakal@nurfuerspam.de> MFC after: 1 week Notes: svn path=/head/; revision=148843
* Modify device drivers supporting multicast addresses to lock if_addr_mtxRobert Watson2005-08-031-1/+5
| | | | | | | | | | | over iteration of their multicast address lists when synchronizing the hardware address filter with the network stack-maintained list. Problem reported by: Ed Maste (emaste at phaedrus dot sandvine dot ca> MFC after: 1 week Notes: svn path=/head/; revision=148654
* diff reduction against p4: define IEEE80211_FIXED_RATE_NONE and useSam Leffler2005-07-221-2/+2
| | | | | | | it instead of -1 Notes: svn path=/head/; revision=148290
* Eliminate unused argument in PCMCIA_CARD macro.Warner Losh2005-06-241-8/+8
| | | | | | | | | | | Provide a backwards compatible way to have the extra macro by defining PCCARD_API_LEVEL 5 before including pccarddevs for driver writers that want/need to have the same driver on 5 and 6 with pccard attachments. Approved by: re (dwhite) Notes: svn path=/head/; revision=147580
* Stop embedding struct ifnet at the top of driver softcs. Instead theBrooks Davis2005-06-102-21/+20
| | | | | | | | | | | | | | | | | | | | | | | struct ifnet or the layer 2 common structure it was embedded in have been replaced with a struct ifnet pointer to be filled by a call to the new function, if_alloc(). The layer 2 common structure is also allocated via if_alloc() based on the interface type. It is hung off the new struct ifnet member, if_l2com. This change removes the size of these structures from the kernel ABI and will allow us to better manage them as interfaces come and go. Other changes of note: - Struct arpcom is no longer referenced in normal interface code. Instead the Ethernet address is accessed via the IFP2ENADDR() macro. To enforce this ac_enaddr has been renamed to _ac_enaddr. - The second argument to ether_ifattach is now always the mac address from driver private storage rather than sometimes being ac_enaddr. Reviewed by: sobomax, sam Notes: svn path=/head/; revision=147256
* Remove bus_{mem,p}io.h and related code for a micro-optimization on i386Yoshihiro Takahashi2005-05-291-4/+0
| | | | | | | | | and amd64. The optimization is a trivial on recent machines. Reviewed by: -arch (imp, marcel, dfr) Notes: svn path=/head/; revision=146734
* reclaim mbuf chain when ieee80211_crypto_encap failsSam Leffler2005-03-081-0/+1
| | | | | | | Noticed by: David Young Notes: svn path=/head/; revision=143299
* Start each of the license/copyright comments with /*-, minor shuffle of linesWarner Losh2005-01-061-1/+1
| | | | Notes: svn path=/head/; revision=139749
* Update for net80211 changes.Sam Leffler2004-12-082-79/+89
| | | | Notes: svn path=/head/; revision=138572
* Since if_awi doesn't contain locking or run with INTR_MPSAFE, markRobert Watson2004-08-131-1/+1
| | | | | | | the interface as IFF_NEEDSGIANT so if_start is run holding Giant. Notes: svn path=/head/; revision=133677
* Link ALTQ to the build and break with ABI for struct ifnet. Please recompileMax Laier2004-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 Notes: svn path=/head/; revision=130416
* Fix disordering of pccarddevs.h noticed by bde. Also remove a fewWarner Losh2004-05-271-1/+2
| | | | | | | | | redundant includes and fix some of the include disordering. Submitted by: bde Notes: svn path=/head/; revision=129764
* Move to generating pccarddevs.h on the fly, both for the kernel andWarner Losh2004-05-261-1/+1
| | | | | | | | | | the modules. Also generate usbdevs.h automatically now, but a non-kernel file is stopping that at the moment. Notes: svn path=/head/; revision=129740
* It turns out that the module dependency on pccard is in error. SinceWarner Losh2004-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. Notes: svn path=/head/; revision=129046
* Use IFF_ALLMULTI instead of if_amcount to decide if all multicast shouldAtsushi Onoe2004-04-181-5/+10
| | | | | | | be received. Pointed out by Luigi Rizzo. Notes: svn path=/head/; revision=128374
* Don't announce MAC addresses twice.Matthew N. Dodd2004-03-201-2/+0
| | | | | | | (ieee80211_ifattach() calls ether_ifattach().) Notes: svn path=/head/; revision=127237
* Convert callers to the new bus_alloc_resource_any(9) API.Nate Lawson2004-03-171-2/+2
| | | | | | | | Submitted by: Mark Santcroos <marks@ripe.net> Reviewed by: imp, dfr, bde Notes: svn path=/head/; revision=127135
* Correct beacon (src/bssid) for hostap and adhoc mode.Atsushi Onoe2004-01-151-7/+30
| | | | Notes: svn path=/head/; revision=124556
* Use generic net80211 framework for awi driver.Atsushi Onoe2004-01-159-3687/+1609
| | | | | | | | | Restore awi to be workable again; it was broken.. XXX: The initialization is still unreliable yet, it sometimes fails on some card. Notes: svn path=/head/; revision=124546
* Replace the if_name and if_unit members of struct ifnet with new membersBrooks Davis2003-10-311-4/+3
| | | | | | | | | | | | | | | | 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) Notes: svn path=/head/; revision=121816
* ifp->if_name can't be null when we just assigned a static string to it.Brooks Davis2003-10-301-5/+0
| | | | Notes: svn path=/head/; revision=121771
* Fix off-by-one error in array bounds check.Poul-Henning Kamp2003-09-051-1/+1
| | | | Notes: svn path=/head/; revision=119764
* Use __FBSDID().David E. O'Brien2003-08-245-23/+22
| | | | | | | Also some minor style cleanups. Notes: svn path=/head/; revision=119418
* update for new 802.11 supportSam Leffler2003-06-285-4/+33
| | | | Notes: svn path=/head/; revision=116951
* Explicitly declare 'int' parameters.David E. O'Brien2003-04-211-0/+1
| | | | Notes: svn path=/head/; revision=113799
* Make sure that pp_name is non-null before setting the deviceWarner Losh2003-04-101-1/+2
| | | | | | | | description. This allows us to rely entirely on the CIS entries if necessary... Notes: svn path=/head/; revision=113315
* Added missing dependency on rc4.Ruslan Ermilov2003-03-211-0/+1
| | | | | | | Reviewed by: imp Notes: svn path=/head/; revision=112475
* Back out M_* changes, per decision of the TRB.Warner Losh2003-02-192-15/+15
| | | | | | | Approved by: trb Notes: svn path=/head/; revision=111119
* Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0.Alfred Perlstein2003-01-212-15/+15
| | | | | | | Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT. Notes: svn path=/head/; revision=109623
* Correct mbuf packet header propagation. Previously, packet headersSam Leffler2002-12-302-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | were sometimes propagated using M_COPY_PKTHDR which actually did something between a "move" and a "copy" operation. This is replaced by M_MOVE_PKTHDR (which copies the pkthdr contents and "removes" it from the source mbuf) and m_dup_pkthdr which copies the packet header contents including any m_tag chain. This corrects numerous problems whereby mbuf tags could be lost during packet manipulations. These changes also introduce arguments to m_tag_copy and m_tag_copy_chain to specify if the tag copy work should potentially block. This introduces an incompatibility with openbsd which we may want to revisit. Note that move/dup of packet headers does not handle target mbufs that have a cluster bound to them. We may want to support this; for now we watch for it with an assert. Finally, M_COPYFLAGS was updated to include M_FIRSTFRAG|M_LASTFRAG. Supported by: Vernier Networks Reviewed by: Robert Watson <rwatson@FreeBSD.org> Notes: svn path=/head/; revision=108466
* network interface driver changes:Sam Leffler2002-11-142-13/+6
| | | | | | | | | | | | | | | | | o don't strip the Ethernet header from inbound packets; pass packets up the stack intact (required significant changes to some drivers) o reference common definitions in net/ethernet.h (e.g. ETHER_ALIGN) o track ether_ifattach/ether_ifdetach API changes o track bpf changes (use BPF_TAP and BPF_MTAP) o track vlan changes (ifnet capabilities, revised processing scheme, etc.) o use if_input to pass packets "up" o call ether_ioctl for default handling of ioctls Reviewed by: many Approved by: re Notes: svn path=/head/; revision=106937
* Repeat after me: sizeof(int) != sizeof(void *).John Baldwin2002-11-061-1/+1
| | | | Notes: svn path=/head/; revision=106517
* Remove empty #if*/#endif clauses.Poul-Henning Kamp2002-09-212-4/+0
| | | | Notes: svn path=/head/; revision=103736
* Use __FreeBSD_version to test what things to useWarner Losh2002-05-312-10/+11
| | | | Notes: svn path=/head/; revision=97647
* Make this build on 4.x machines again (building a -current kernel on aWarner Losh2002-04-193-36/+27
| | | | | | | | | | | | | | | -stable machine via the old-school methods): Use __FreeBSD_version in preference to __FreeBSD__ >= N where possible. Define a single variable mythread which is set to curproc or curthread depending on the OS version (with a comment saying it is a white lie on 4.x since it really is a proc). NB: __FreeBSD__ is the OS level of the host machine, not the target, and should never be used, if possible, as __FreeBSD__ >= N. Notes: svn path=/head/; revision=95074
* Change the suser() API to take advantage of td_ucred as well as do aJohn Baldwin2002-04-013-0/+28
| | | | | | | | | | | | | | | general cleanup of the API. The entire API now consists of two functions similar to the pre-KSE API. The suser() function takes a thread pointer as its only argument. The td_ucred member of this thread must be valid so the only valid thread pointers are curthread and a few kernel threads such as thread0. The suser_cred() function takes a pointer to a struct ucred as its first argument and an integer flag as its second argument. The flag is currently only used for the PRISON_ROOT flag. Discussed on: smp@ Notes: svn path=/head/; revision=93593
* Remove __P.Alfred Perlstein2002-03-206-101/+101
| | | | Notes: svn path=/head/; revision=92739
* Set ifp->if_name to "awi" instead of device_get_name(dev) to avoidBrooks Davis2002-02-261-1/+1
| | | | | | | casting away a const qualifier so the awi driver compiles. Notes: svn path=/head/; revision=91326
* Add NEWCARD support to awi.Warner Losh2001-11-191-3/+36
| | | | | | | Devices obtained from NetBSD (+ zoom air 4000, which I added). Notes: svn path=/head/; revision=86583