On 19 January 2014 19:20, Gabor Juhos <juhosg@xxxxxxxxxxx> wrote: > Hi Sergei, > > <...> > >>>>>> It worked well with older kernels and does not with newer kernels. >>>>>> Specifically it fails to find any AP when scanning. >>>>>> The first bad commit is: >>>>>> >>>>>> commit 76773f301f2210dcc20c466aebda7118062673eb >>>>>> Author: Gabor Juhos <juhosg@xxxxxxxxxxx> >>>>>> Date: Sat Aug 17 14:09:30 2013 +0200 >>>>>> >>>>>> rt2x00: rt2800lib: use a MCU command for frequency adjustment on USB devices >>>>>> >>>>>> According to the Ralink driver, there is an MCU >>>>>> command which can be used to send the frequency >>>>>> offset value directly to the USB device without >>>>>> going through the RFCSR writing sequence. >>>>>> >>>>>> Based on the DPO_RT5572_LinuxSTA_2.6.0.1_20120629 >>>>>> driver. >>>>>> >>>>>> Reference: >>>>>> RTMPAdjustFrequencyOffset function in common/rt_rf.c >>>>>> >>>>>> Signed-off-by: Gabor Juhos <juhosg@xxxxxxxxxxx> >>>>>> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> >>>>>> >>>>>> After I removed this special USB handling (see the patch) the adapter >>>>>> works again. >>>>> >>>>> Thanks for bisecting! Could you check if following patch fixes the >>>>> issue? >>>> >>>> It does not fix the issue. The same broken behavior remains. >>> I couldn't understand one string in original RTMPAdjustFrequencyOffset. Could you try follow patch ? >> Tried your patch with and without Stanislaw's patch. No success. > > I guess that this is a timing issue. Maybe the RT5390 device does not finish the > MCU command before the scan runs. > > The Ralink reference driver calls the frequency adjustment code from the > NICInitRT5390RFRegisters function but the equivalent call is missing from the > rt2x00 driver. Additionaly, the Ralink driver uses 1 ms delay after calling the > frequency adjustment code which is also missing from rt2x00. > > The attached patch set adds the missing code to rt2x00. Please test whether it > fixes the problem or not. It does not work. The minimal change that fixes the problem is removing 'return;' after rt2800_mcu_request() allowing the standard freq. adjustment code to execute. -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html