On Fri, Oct 05, 2018 at 12:05:56PM +0200, Felix Fietkau wrote: > On 2018-10-05 09:44, Stanislaw Gruszka wrote: > > My experience is that performance between two rt2800 devices vary with > > no apparent reason. There are two problems I know that maigh affect > > performance at random (and I think there are also some other low level > > problems that I'm not aware of that cause performance fluctuations). > > > > First problem is that HW aggregate RATE_PROBE frames with other frames > > at different rate, so we can not do rate probing properly for rate > > control algorithm. > I believe this is fixable. On MT76x2, I was able to use the QSEL field > in the DMA descriptor to force the hw to send it out as a single frame. > It is normally set to 2, you can set it to 0 for frames with > IEEE80211_TX_CTL_RATE_CTRL_PROBE set. > Theoretically, the same should also work on RT2800 devices. I created a patch that do this https://github.com/sgruszka/wireless-drivers-next/commit/846d205edd8c36d1b7828fee54bf4cf40bf8cb1a but coused problems on some devices and I did not observed correct behaviour - probe frames were still aggregated. Perhaps patch has some bug (i.e. some registers have to be initialized to make QSEL work) or maybe this will only work on some chipsets i.e. MT7620 and QSEL should be used only conditionally on those chips. > > Second problem: we send BAR when we fail to send a frame and this might > > have positive and negative effect, depend what remote hardware do when it > > gets BAR. This seems to be problem when two rt2800 devices are connected > > and not a problem if rt2800 is connected with ath or iwl devices. > On the receiver side, BAR is typically processed in software. mac80211 > handles that, so I don't think there is a lot of room for chipset > specific behavior here. This is not what I observed. For me looks like BA is send by FW/HW for both AMPDU frames and for BAR. And behaviour differs. I have one older device that send completely bogus SSN (seq num) in solicit BA frame not correpond to BAR SSN or frames in AMPDU at all. Some devices send solicit BA SSN and then send BA with older SSNs, for frames which should already be flushed. And some devices send several BA with solicit SSN until catch up to ack frame that has bigger sequence number than solicit SSN. Regards Stanislaw