Age | Commit message (Collapse) | Author |
|
kernel resumes normal (non-cold, able to run processes, etc) operation.
Previously we were relying on specific DVACT_RESUME op's in drivers
creating callback/threads themselves, but that has become too common,
indicating the need for a built-in mechanism.
ok dlg kettenis, tested by a sufficient amount of people
|
|
to get stuck with OACTIVE set, requiring 'ifconfig ral0 down up' to unwedge.
Make space in the Tx queue from the rt2661_tx_dma_intr() handler,
rather than waiting until rt2661_tx_intr() is run. The latter function
now collects AMRR statistics only. AMRR node allocation is now separated
from ieee80211_node allocation to make this possible.
This commit also brings back the separation of OACTIVE flags for management
and data Tx queues which I reverted in the previous commit.
Inspired by ral commits by sephe@dragonflybsd and patch submission to
misc@ by Roland Dreier http://marc.info/?l=openbsd-misc&m=125895269930106&w=2
Tested by myself, edd, jsg, Tobias Ulmer, Pieter Verberne, Tim van der Molen.
|
|
timeout" messages on my soekris and doesn't fix the real problem.
|
|
and set the interface's IFF_OACTIVE flag if either queue is full and
clear it only if both queues have free slots. Before this change both
queues were setting/clearing the same flag with no regard for the
other queue's state.
Also, don't reset the tx watchdog counter if either queue still has frames
queued when we exit the frame-processing loop in the per-queue interrupt
handlers.
Both changes originally from sephe@dragonfly.
Tested by myself and edd on a slow busy soekris which before this
change required occasional 'ifconfig ral0 down up' to recover.
|
|
based on discussion with damien; tested by others on the lists
|
|
traversal code to suspend/resume
ok oga kettenis blambert
|
|
Get rid of the sc_power() callback, which isn't used anymore.
ok deraadt@
|
|
ok deraadt@, sthen@
tested by matthew@ (RT2560), dcoppa@ (RT2790), okan@ (RT2860), todd@ (RT2560)
|
|
|
|
as a side-effect, this should fix all the "bogus xmit rate" panics
users have been complaining about for some time when operating in
HostAP mode.
|
|
With this change, I now have a working 802.11a ral-based AP.
Fix rt2661_set_macaddr() so that we don't override the "unicast to me"
flag in RT2661_MAC_CSR3 when setting the MAC address.
Thanks to wim@ for donating a RT2561 a/b/g adapter.
|
|
- in hostap mode, we defer update of the slot time until all associated
STAs are notified with updated beacons.
|
|
Use it to dynamically tune radio receive sensitivity.
The idea is simple:
- increase sensitivity when the RSSI is bad to optimize throughput on
long distance to the AP, and
- decrease sensitivity when the RSSI is good to reduce noise level and
optimize throughput on short distance to the AP
The EMA allows to smooth RSSI variations so we don't end up changing the
sensitivity too frequently. We check if it would be worth updating the
sensitivity every one second.
RSSI thresholds were taken from the Ralink Tech. Linux driver.
Also, clean a few things while I'm here:
- account for FCS when determining if RTS protection must be used
- fix check for whether WEP encryption is needed or not
- encrypt mgmt frames if we need to (shared authmode)
- cosmetic tweaks
|
|
builds with RAL_DEBUG, so we have debug information now.
ok damien@
|
|
cardbus socket has been powered off). restore the call to rt2661_init() in
the watchdog since the firmware is not reloaded in this case.
fixes "timeout waiting for BBP" errors seen on some PCI adapters.
|
|
- read TSF high 32bit word before low 32bit word to avoid wraparounds
|
|
- add 802.11 radiotap support
- read 802.11a channels tx power from EEPROM
- read vendor-specific BBP settings from EEPROM
- fix setting of beacons (xflags)
- fix DMA sync in rt2661_rx_intr
- indicate whether RF supports MIMO in dmesg
- add short slot time support
- many cleanups while i'm here
|
|
chipsets in ral(4).
- restructure the code a bit; split ic/ral.c into ic/rt2560.c and ic/rt2661.c
- import the 8051 microcode files required by these chipsets.
- more to come; there is currently no automatic rate control and some
features are untested (hostap and ibss modes for instance). most of
the pre-802.11n capabilities of the RT2661 chipset are not supported
(like frame aggregation, piggy-back). MIMO should work though the
performance/range gain has not been measured.
|