Commit Graph

75 Commits

Author SHA1 Message Date
Damien Bergamini
38e00d27ea Fix AMRR initialization.
MFC after:	6 days
2005-11-25 19:32:29 +00:00
Damien Bergamini
f850597399 Send the packet to BPF after setting the duration field of the frame.
MFC after:	1 week
2005-11-24 21:40:24 +00:00
Damien Bergamini
08403499e7 o Force the sending of an extra URB if there is less than 2 bytes left
at the end of the last URB (URB = USB Request Block = 64 bytes).
o Free the AMRR reserved xfer in detach.
o Minor tweaks.

MFC after:	1 week
2005-11-24 21:31:39 +00:00
Damien Bergamini
8ea9781eed Optimize PLCP length field computation for 802.11b rates. 2005-11-23 17:32:57 +00:00
Damien Bergamini
72bae85020 Minor tweaks. 2005-11-19 15:08:05 +00:00
Damien Bergamini
8403bb96a2 Second part of the AMRR commit.
Enable automatic rate adaptation in BSS operating mode.
Works great here.  Will need a lot of testing though.
2005-11-18 21:37:02 +00:00
Damien Bergamini
8fe21ac40a Add some initial bits (currently unused) for upcoming AMRR support.
AMRR = Adaptive Multi Rate Retry algorithm
More information: http://www-sop.inria.fr/rapports/sophia/RR-5208.html
2005-11-15 17:48:49 +00:00
Damien Bergamini
43b60fd47d Optimize and clean TX time computation.
Avoid a test and a modulus operation.

MFC after:	2 weeks
2005-11-15 17:17:15 +00:00
Damien Bergamini
ba1362c549 Be more robust when handling Rx interrupts. If we can't allocate a new mbuf,
just discard the received frame and reuse the old mbuf.
This should prevent the connection from stalling after high network traffic.

MFC after:	2 weeks
2005-11-13 17:25:21 +00:00
Damien Bergamini
e26a9b9fff The "SMC EZ Connect SMC2862W-G" product is not based on the Ralink RT2500USB
chipset.

MFC after:	5 days
2005-09-19 18:19:22 +00:00
Damien Bergamini
30feefb1d2 Fix basic rates set for 802.11a/g operating modes. This can significantly
improve transfer rates in 802.11a/g.  Fix IFS settings in ral(4) too.

MFC after:	6 days
2005-08-21 14:16:20 +00:00
Damien Bergamini
e0454c269b Don't automatically start scanning in if_init() if IEEE80211_ROAMING_MANUAL
flag is set.

MFC after:	1 week
2005-08-20 14:28:37 +00:00
Sam Leffler
b5c9941514 Clarify/fix handling of the current channel:
o add ic_curchan and use it uniformly for specifying the current
  channel instead of overloading ic->ic_bss->ni_chan (or in some
  drivers ic_ibss_chan)
o add ieee80211_scanparams structure to encapsulate scanning-related
  state captured for rx frames
o move rx beacon+probe response frame handling into separate routines
o change beacon+probe response handling to treat the scan table
  more like a scan cache--look for an existing entry before adding
  a new one; this combined with ic_curchan use corrects handling of
  stations that were previously found at a different channel
o move adhoc neighbor discovery by beacon+probe response frames to
  a new ieee80211_add_neighbor routine

Reviewed by:	avatar
Tested by:	avatar, Michal Mertl
MFC after:	2 weeks
2005-08-10 16:22:30 +00:00
Robert Watson
13f4c340ae Propagate rename of IFF_OACTIVE and IFF_RUNNING to IFF_DRV_OACTIVE and
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
2005-08-09 10:20:02 +00:00
Sam Leffler
2c39b32c94 diff reduction against p4: define IEEE80211_FIXED_RATE_NONE and use
it instead of -1
2005-07-22 16:50:18 +00:00
Sam Leffler
7c5636947b remove driver-private key allocators; use the default one instead
so wpa keys are handled properly

Reviewed by:	avatar
Approved by:	re (scottl)
2005-07-10 00:17:05 +00:00
Damien Bergamini
df00c70d2e Make sure that all the necessary USB endpoints are found during device
attachment.

Reviewed by:	silby (mentor)
Approved by:	re (scottl)
2005-07-08 19:19:06 +00:00
Damien Bergamini
11c70aecee ral_init() takes a struct ral_softc as parameter not a struct ifnet.
Fixes a panic that occured when setting the interface parameters while
the interface was associated.

Approved by:	re (scottl)
2005-07-08 19:13:49 +00:00
Sam Leffler
0a5ae7ccb8 reclaim node reference when ieee80211_encap fails
Reviewed by:	avatar
Approved by:	re (scottl)
2005-07-08 16:31:19 +00:00
Sam Leffler
025afcf2d5 update ural ids
Reviewed by:	damien
Approved by:	re (scottl)
Obtained from:	openbsd
2005-07-08 16:28:24 +00:00
Sam Leffler
82145663e3 reclaim mbuf when ieee80211_crypto_encap fails
Approved by:	re (scottl)
Obtained from:	netbsd
2005-07-07 02:55:04 +00:00
Damien Bergamini
7f5ea03de8 o Add new ids for the Belkin F5D7050
o Indent usb ids properly
o Check the return value of if_alloc()
o Call if_free() in ural_detach()

Reviewed by:	silby (mentor)
Approved by:	re (scottl)
2005-07-03 15:38:41 +00:00
Brooks Davis
fc74a9f93a Stop embedding struct ifnet at the top of driver softcs. Instead the
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
2005-06-10 16:49:24 +00:00
Damien Bergamini
150bb7c348 Fix WPA (802.11i) support.
Approved by:	silby (mentor)
2005-05-22 18:34:20 +00:00
Damien Bergamini
ceaec73d40 Initial import of ipw, iwi, ral and ural drivers:
ipw  - Intel PRO/Wireless 2100
iwi  - Intel PRO/Wireless 2200BG/2225BG/2915ABG
ral  - Ralink Technology RT2500
ural - Ralink Technology RT2500USB

Approved by:	silby (mentor)
2005-04-18 18:47:38 +00:00