[rt2x00-users] [RFC/RFT 0/8] rt2x00: Various clean-ups and RT3572 fixes.
Andreas Hartmann
andihartmann at 01019freenet.de
Wed Feb 1 03:08:02 EST 2012
Andreas Hartmann schrieb:
> Hi Gertjan,
>
> Gertjan van Wingerde schrieb:
>> This patch series contains some general clean-ups and a series of fixes
>> to the RT3572 channel switching code inside rt2800pci and rt2800usb.
>> These fixes are based on the v2.5.0.0 version of the RT3572 Ralink driver
>> and bring rt2x00 closer to that driver with respect to channel switching.
>>
>> With these changes the performance seems to be enhanced as I can measure
>> over 100 Mbps as raw network speed. However, there still seem to be some
>> stalls, but AFAICT these resolve automatically.
>>
>> Please review and test.
>> I plan to submit upstream mid to end of this week, so please comment before
>> that time.
>
> I tried to test but I'm confused about all these patches the last few
> days / weeks :-) - unfortunately, they didn't apply altogether.
>
> I tested on the base of compat-wireless 3.2-1 with the following
> additional patches (mainly):
>
> patchset 1
> 1-3 rt2800pci: remove rt2800pci_set_state function
> 2-3 rt2800: Add documentation on MCU requests
> 3-3 rt2800pci: Fix 'Error - MCU request failed' during initialization
> 1-5 rt2800usb: initialize H2M_INT_SRC register.patch
> 2-5 rt2800: reset RF using MCU command after firmware load
> 3-5 rt2800: disable DMA after firmware load
> 4-5 rt2800: zero MAC_SYS_CTRL bits during BBP and MAC reset
> 5-5 rt2800usb: remove PWR_PIN_CFG=0x3 during init
>
>
> patchset 2
> rt2800: radio 3xxx: add channel switch calibration routines
> rt2800: radio 3xxx: program RF_R1 during channel switch
> rt2800: radio 3xxx: reprogram only lower bits of RF_R3
> rt2800: radio 3xxxx: channel switch RX_TX calibration fixes
>
>
> patchset 3
>
> rt2x00: Introduce concept of driver data in struct rt2x00_dev
> rt2x00: Use struct rt2x00_dev driver data in rt2800{pci, usb}
> rt2x00: Update comment on freq_offset field in struct rt2x00_dev
> rt2x00: Use saved BBP 25 and 26 values when configuring channel on RT3572
> rt2x00: Fix RFCSR 12 & 13 programming on RT3572 channel switching
> rt2x00: Align RT3572 channel switch RFCSR 1 programming with Ralink driver
> rt2x00: Fix RT3572 channel switch RFCSR 7 programming
> rt2x00: Correctly set txmixer_gain in RT3572 channel switching
>
>
> mac80211: revert: retry sending failed BAR frames later instead of
> tearing down aggr
>
>
> I wasn't able to apply patchset 2 and 3 at the same time.
>
>
> For testing, I used netperf (TCP_MAERTS, TCP_STREAM, TCP_SENDFILE). The
> wlan had the following parameters:
> WPA2-EAPTLS, CCMP, nl80211.n, 2.4 GHz, 40MHz. I'll try to do some tests
> later on using 5 GHz.
>
>
> AP (rt6860)
> ===========
> mac80211 revert patch
> patchset 1 + 3
>
>
>
> rt3572usb (tested on a 32 bit single core CPU, Linksys WUSB600Nv2)
> =========
> patchset 1 + 3
>
> with kernel 3.1 -> unusable because of phy0-> rt2x00usb_vendor_request:
> Error - Vendor Request 0x101c failed for offset 0x0580 with error -71
I have to refine this.
kernel 3.1 runs on another machine (Intel Core i5 - quadcore, 64bit) -
kernel 2.6.37.6 on an Intel CeleronM (single core, 32bit).
Now, I put kernel 3.0.3 on the CeleronM machine and the Core i5. Source
code (compat-wireless) is the same as mentioned above. On the CeleronM
machine, the test runs as expected. On the Core i5 machine, I'm getting
hard stalls after a few seconds or few minutes (DEBUG is switched off).
But I didn't saw the above usb error.
I think there is an issue with smp or 64bit machines (my guess: usb
handling issues on fast machines :-)).
Kind regards,
Andreas
More information about the users
mailing list