#
345636 |
|
28-Mar-2019 |
avos |
MFC r344990: Fix ieee80211_radiotap(9) usage in wireless drivers:
- Alignment issues: * Add missing __packed attributes + padding across all drivers; in most places there was an assumption that padding will be always minimally suitable; in few places - e.g., in urtw(4) / rtwn(4) - padding was just missing. * Add __aligned(8) attribute for all Rx radiotap headers since they can contain 64-bit TSF timestamp; it cannot appear in Tx radiotap headers, so just drop the attribute here. Refresh ieee80211_radiotap(9) man page accordingly.
- Since net80211 automatically updates channel frequency / flags in ieee80211_radiotap_chan_change() drop duplicate setup for these fields in drivers.
|
#
331722 |
|
29-Mar-2018 |
eadler |
Revert r330897:
This was intended to be a non-functional change. It wasn't. The commit message was thus wrong. In addition it broke arm, and merged crypto related code.
Revert with prejudice.
This revert skips files touched in r316370 since that commit was since MFCed. This revert also skips files that require $FreeBSD$ property changes.
Thank you to those who helped me get out of this mess including but not limited to gonzo, kevans, rgrimes.
Requested by: gjb (re)
|
#
330897 |
|
14-Mar-2018 |
eadler |
Partial merge of the SPDX changes
These changes are incomplete but are making it difficult to determine what other changes can/should be merged.
No objections from: pfg
|
#
302408 |
|
07-Jul-2016 |
gjb |
Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle. Prune svn:mergeinfo from the new branch, as nothing has been merged here.
Additional commits post-branch will follow.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
298955 |
|
03-May-2016 |
pfg |
sys/dev: minor spelling fixes.
Most affect comments, very few have user-visible effects.
|
#
192468 |
|
20-May-2009 |
sam |
Overhaul monitor mode handling: o replace DLT_IEEE802_11 support in net80211 with DLT_IEEE802_11_RADIO and remove explicit bpf support from wireless drivers; drivers now use ieee80211_radiotap_attach to setup shared data structures that hold the radiotap header for each packet tx/rx o remove rx timestamp from the rx path; it was used only by the tdma support for debugging and was mostly useless due to it being 32-bits and mostly unavailable o track DLT_IEEE80211_RADIO bpf attachments and maintain per-vap and per-com state when there are active taps o track the number of monitor mode vaps o use bpf tap and monitor mode vap state to decide when to collect radiotap state and dispatch frames; drivers no longer explicitly directly check bpf state or use bpf calls to tap frames o handle radiotap state updates on channel change in net80211; drivers should not do this (unless they bypass net80211 which is almost always a mistake) o update various drivers to be more consistent/correct in handling radiotap o update ral to include TSF in radiotap'd frames o add promisc mode callback to wi
Reviewed by: cbzimmer, rpaulo, thompsa
|
#
181209 |
|
02-Aug-2008 |
imp |
Minor tweaks to names and comments now that I understand what's going on better.
|
#
160991 |
|
05-Aug-2006 |
sam |
raw 802.11 packet transmit support
Submitted by: Andrea Bittau <a.bittau@cs.ucl.ac.uk>
|
#
139749 |
|
05-Jan-2005 |
imp |
Start each of the license/copyright comments with /*-, minor shuffle of lines
|
#
123927 |
|
28-Dec-2003 |
sam |
update radiotap support to reflect recent changes:
o add xmit rate o drop rx time o add rx flags
|
#
119784 |
|
05-Sep-2003 |
sam |
o add experimental radiotap capture format o add netbsd logic to convert rssi to device-independent values
Obtained from: NetBSD (rssi conversion code)
|
#
109323 |
|
15-Jan-2003 |
sam |
new wi driver that uses the 802.11 link layer code
Reviewed by: imp Obtained from: NetBSD (originally)
|
#
105076 |
|
13-Oct-2002 |
imp |
o Comment out the symbol download code for 4.x. o Add hooks for doing power management of the output signal. o Minor hacks to make flexlint happy wrt staticness of functions.
|
#
104148 |
|
29-Sep-2002 |
imp |
Fix comment
|
#
101665 |
|
11-Aug-2002 |
imp |
Follow NetBSD's lead and use WI_PORTTYPE_HOSTAP instead of _AP, since _AP might be used in the future for cards with firmware that does AP in firmware.
|
#
101360 |
|
05-Aug-2002 |
imp |
Fix minor typo in ID number in last commit
|
#
101357 |
|
05-Aug-2002 |
imp |
A definition of regulatory domains that matches the docs.
|
#
101355 |
|
05-Aug-2002 |
imp |
Differentiate between AT45DB011 compatible large serial flash parts and the AT24C08 small serial flash parts. We still report these as the same part (since we group things already), but now we recognize the small serial versions as well.
|
#
101245 |
|
02-Aug-2002 |
imp |
Add code that will download firmware to a Symbol LA4100-series of CF cards. Since the firmware is hard coded into the kernel, I've made it a kernel option (WI_SYMBOL_FIRMWARE).
Note: This only downloads into the RAM of these cards. It doesn't download into FLASH, and is somewhat limited. There needs to be a better way to deal, but this works for now. My Symbol LA4132 CF card works now.
Obtained from: NetBSD
|
#
98720 |
|
24-Jun-2002 |
imp |
Add kernel printf bits for WI_SUPPRATES and HOSTAP_FLAGS
|
#
98440 |
|
19-Jun-2002 |
imp |
Add better mediaopt support for ibss and friends.
Now the driver is closer to matching the wi man page.
Submitted by: jhay (who obtained it from OpenBSD).
|
#
94405 |
|
11-Apr-2002 |
imp |
Integrate the hostap stuff that Thomas Skibo <skibo@packbell.net> wrote. This code was for 4.5-release, so I've ported it to -current and made a few minor tweaks. The biggest non-style tweak was to not make access point the default.
More changes will be needed to get this actually working, but I wanted to get a relatively pure baseline. This doesn't seem to break what works now.
|
#
94158 |
|
07-Apr-2002 |
imp |
Sony ID is 0x0002, not 0x0001. Noticed by Ichiro Fukuhara-san when I submitted patches to him for NetBSD integration.
|
#
93825 |
|
04-Apr-2002 |
imp |
MFNetBSD: wi.c 1.64: Table driven IDs (ichiro) 1.59: Don't use magic numbers (ichiro) Also, added Sony, Lucent Embedded Ids and fix minor bugs for lucent cards (and submit those changes back to ichiro-san)
Obtained from: NetBSD
|
#
93756 |
|
04-Apr-2002 |
imp |
o Reduce the gratuitous differences with NetBSD. o OpenBSD's wiconfig tells me that a value of '2' is for sony wireless cards, 1 is for lucent (which we already knew) and '5' is for embedded lucent cards. o Move some RID definitions to if_wavelan_ieee.h and use NetBSD names more often.
# more work is still needed in this area.
|
#
93733 |
|
03-Apr-2002 |
imp |
Four fixes from NetBSD: 1) Properly detect the Symbol based cards (The 3Com Airconnect and their ilk) and only reset them *ONCE* ever. This appears to make them work, but more testing is needed. The tests that would wedge up my machine completely now appear to work, but I have not real access points handy. 2) Report both the Station firmware and the Primary firmware on Prism based cards. On Lucent based cards, only report the station firmware since that's all it supports. On symbol cards, report the symbol specific firmware name as its station firmware. 3) Better Prism 2.5 and 3 family names. We really need to go table driven for this. 4) Workaround for bugs in Intersil's firmware is only needed for at most 0.8.2 and earlier, since 0.8.3 and later appear to work.
Obtained from: NetBSD
|
#
93611 |
|
02-Apr-2002 |
imp |
First cut at breaking out the bus attachment from the bus independent part of the driver. Also, move the softc and some other stuff to if_wivar.h from if_wireg.h to make future merging activities easier.
|
#
93567 |
|
01-Apr-2002 |
imp |
More diff reduction patches
|
#
93564 |
|
01-Apr-2002 |
imp |
Merge a little from NetBSD. This changes reduces the diffs between the two a little, but more commits like this will follow.
|
#
93560 |
|
01-Apr-2002 |
imp |
Add more ID's from the PRISM family. from wi.c 1.61 and wireg.h 1.26 by ichiro@netbsd.org
Obtained from: NetBSD
|
#
93360 |
|
28-Mar-2002 |
imp |
Identify PRISM 2.5 with ISL37300P
Obtained from: OpenBSD
|
#
93359 |
|
28-Mar-2002 |
imp |
Integrate the air-tools 0.2 from dachb0den labs. o This moves the common.h file into if_wavelan_ieee.h
Submitted by: h1kari@dachb0den.com
|
#
92457 |
|
16-Mar-2002 |
imp |
o Rework the identify routine a little, merging it with NetBSD's wi. o Add exerpimental support for identifying lucent cards. All of mine come back with ID of 1, but NetBSD committed code for 5. So accept both. o rename wi_prism2_ver to wi_firmware_ver so that we could, if necessary, do special things for lucent cards too. o Bring in a small part of the changes from airtools: The wi_cmd function now takes two additional arguments. I didn't bring in their ioctls yet. o eliminate the use of LE16TOH, and remove its define. o Print the firmware as if there were 100 versions instead of 10. This means that 6.1 and 6.10 aren't confusing to people. We now print 6.01 in the former case.
# A good junior hacker project would be to merge the NetBSD, FreeBSD, and # OpenBSD drivers into one source base.
|
#
91691 |
|
05-Mar-2002 |
imp |
Merge a little from NetBSD.
|
#
90580 |
|
12-Feb-2002 |
brooks |
Add support for the Linksys WMP-11, Prism 2.5, PCI adaptor.
Submitted by: Thomas Skibo <skibo@pacbell.net> MFC after: 2 weeks
|
#
87383 |
|
05-Dec-2001 |
imp |
Implement prism2 detection from NetBSD. This mostly obsoletes the prism2 flag in pccard.conf, but I'm leaving it place for the moment in case the small sample of PrismII cards that I've tried is not representative.
MFC After: 30 days Obtained from: NetBSD
|
#
82256 |
|
24-Aug-2001 |
nsayer |
In order for the MA301 to pass interrupts from the PCCard, you must go into the PLX 9052's interrupt control register and turn on the magic interrupt enable bit.
Partial thanks are due to OpenBSD for pointing out that the chip is a PLX 9052 and pointing me to the datasheet PDF.
|
#
82153 |
|
22-Aug-2001 |
nsayer |
Add support for the Netgear MA301 PCI adapter for the MA401.
It appears that a number of PrismII card vendors seem to be doing the same thing (that is, using the same PCI bridge chip) to support PCI, but each with their own vendor/product ID. So rather than cut-n-paste another if statement into the probe routine, it's probably better to provide support for a table. Adding new devices will be a lot easier that way.
|
#
76766 |
|
17-May-2001 |
jhb |
Disable the wi driver locking for now. The driver tries to tsleep with the driver lock held on detach which can lead to annoying and useless panics.
|
#
74998 |
|
29-Mar-2001 |
wpaul |
Fix a couple style nits, no code changes. Turn one magic number into a #defined constant, wrap a few long lines, etc... Also remove stupid 'all your base are belong to us' joke from comment that I don't really care to see immortalized in the source tree.
|
#
74906 |
|
28-Mar-2001 |
alfred |
Add support for the Addtron AWA100 PCI wireless card.
The AWA100 is a PCI board with a PLX 9052 chip that's used to talk to the pccard inserted into the board.
Remove a redundant $FreeBSD while I'm here.
|
#
72200 |
|
09-Feb-2001 |
bmilekic |
Change and clean the mutex lock interface.
mtx_enter(lock, type) becomes:
mtx_lock(lock) for sleep locks (MTX_DEF-initialized locks) mtx_lock_spin(lock) for spin locks (MTX_SPIN-initialized)
similarily, for releasing a lock, we now have:
mtx_unlock(lock) for MTX_DEF and mtx_unlock_spin(lock) for MTX_SPIN. We change the caller interface for the two different types of locks because the semantics are entirely different for each case, and this makes it explicitly clear and, at the same time, it rids us of the extra `type' argument.
The enter->lock and exit->unlock change has been made with the idea that we're "locking data" and not "entering locked code" in mind.
Further, remove all additional "flags" previously passed to the lock acquire/release routines with the exception of two:
MTX_QUIET and MTX_NOSWITCH
The functionality of these flags is preserved and they can be passed to the lock/unlock routines by calling the corresponding wrappers:
mtx_{lock, unlock}_flags(lock, flag(s)) and mtx_{lock, unlock}_spin_flags(lock, flag(s)) for MTX_DEF and MTX_SPIN locks, respectively.
Re-inline some lock acq/rel code; in the sleep lock case, we only inline the _obtain_lock()s in order to ensure that the inlined code fits into a cache line. In the spin lock case, we inline recursion and actually only perform a function call if we need to spin. This change has been made with the idea that we generally tend to avoid spin locks and that also the spin locks that we do have and are heavily used (i.e. sched_lock) do recurse, and therefore in an effort to reduce function call overhead for some architectures (such as alpha), we inline recursion for this case.
Create a new malloc type for the witness code and retire from using the M_DEV type. The new type is called M_WITNESS and is only declared if WITNESS is enabled.
Begin cleaning up some machdep/mutex.h code - specifically updated the "optimized" inlined code in alpha/mutex.h and wrote MTX_LOCK_SPIN and MTX_UNLOCK_SPIN asm macros for the i386/mutex.h as we presently need those.
Finally, caught up to the interface changes in all sys code.
Contributors: jake, jhb, jasone (in no particular order)
|
#
70073 |
|
15-Dec-2000 |
wpaul |
Apply some contributed patches to reduce number of tx buffer allocation failures and add some support for WEP on Prism II chip.
Submitted by: YAMAMOTO Shigeru <shigeru@iij.ad.jp>
|
#
67092 |
|
13-Oct-2000 |
wpaul |
Update the wi driver to use mutexes instead of spls.
|
#
56965 |
|
02-Feb-2000 |
wpaul |
Add support for WEP (encryption) for silver and gold WaveLAN/IEEE turbo cards. Also update wicontrol to enable/disable encryption, set WEP keys and set the TX key index. Silver cards only have 40-bit keys. This is something of a quick hack, but it works well enough for me to commit this from the LinuxWorld exhibit floor.
The WEP support only shows up if you have a card that supports it.
Would have been approved by: jkh, if he hadn't wandered off somewhere Approved in his place by: msmith, who's standing right here
|
#
53702 |
|
25-Nov-1999 |
wpaul |
Update the WaveLAN/IEEE driver:
- Convert to new bus attachment scheme. Thanks to Blaz Zupan for doing the initial work here. One thing I changed was to have the attach and detach routines work like the PCI drivers, which means that in theory you should be able to load and unload the driver like the PCI NIC drivers, however the pccard support for this hasn't settled down yet so it doesn't quite work. Once the pccard work is done, I'll have to revisit this.
- Add device wi0 to PCCARD. If we're lucky, people should be able to install via their WaveLAN cards now.
- Add support for signal strength caching. The wicontrol utility has also been updated to allow zeroing and displaying the signal strength cache.
- Add a /sys/modules/wi directory and fix a Makefile to builf if_wi.ko. Currently this module is only built for the i386 platform, though once the pccard stuff is done it should be able to work on the alpha too. (Theoretically you should be able to plug one of the WaveLAN/IEEE ISA cards into an alpha with an ISA slot, but we'll see how that turns out.
- Update LINT to use only device wi0. There is no true ISA version of the WaveLAN/IEEE so we'll never use an ISA attachment.
- Update files.i386 so that if_wi is dependent on card.
|
#
50477 |
|
27-Aug-1999 |
peter |
$Id$ -> $FreeBSD$
|
#
48940 |
|
20-Jul-1999 |
wpaul |
Correct the alignment of some of the members in the wi_frame structure. The structure is the right length, but some of the members (notably wi_q_info) were off a bit. This causes the received signal strength values to appear bogus.
|
#
46611 |
|
07-May-1999 |
wpaul |
Add support to wicontrol(8) and wi(4) for enabling and configuring power management. This will only work on newer firmware revisions; older firmware will silently ignore the attempts to turn power management on.
Patches supplied by: Brad Karp <karp@eecs.harvard.edu>
|
#
46563 |
|
06-May-1999 |
wpaul |
Modify wicontrol(8) and wi(4) to allow setting the frequency of the WaveLAN's radio modem. The default is whatever the NIC uses since NICs sold in different countries may default to different frequencies. (The Lose95/LoseNT software doesn't let you select the channel so it's probably not really meant to be changed.)
|
#
46543 |
|
06-May-1999 |
wpaul |
Fix some byte ordering problems; I was storing string lengths wrong, which was causing wicontrol to crash when reading string parameters from the WaveLAN.
Patches submitted by: Brad Karp <karp@eecs.harvard.edu>
|
#
46495 |
|
05-May-1999 |
wpaul |
Add device driver support for the Lucent WaveLAN/IEEE 802.11 PCMCIA adapter (and some workalikes). Also add man pages and a wicontrol utility to manipulate some of the card parameters.
This driver was written using information gleaned from the Lucent HCF Light library, though it does not use any of the HCF Light code itself, mainly because it's contaminated by the GPL (but also because it's pretty gross). The HCF Light lacks certain featurs from the full (but proprietary) HCF library, including 802.11 frame encapsulation support, however it has just enough register information about the Hermes chip to allow someone with enough spare time and energy to implement a proper driver. (I would have prefered getting my hands on the Hermes manual, but that's proprietary too. For those who are wondering, the Linux driver uses the proprietary HCF library, but it's provided in object code form only.)
Note that I do not have access to a WavePOINT access point, so I have only been able to test ad-hoc mode. The wicontrol utility can turn on BSS mode, but I don't know for certain that the NIC will associate with an access point correctly. Testers are encouraged to send their results to me so that I can find out if I screwed up or not.
|