2014-08-04 19:11:29

by Andrey Yurovsky

[permalink] [raw]
Subject: scanning only returns results on specified channels (Marvell mwifiex driver)

I am not seeing scan results on my test setup with a Marvell 88W8787
(mwifiex driver) connected over SDIO to an ARM926. I traced and found
that the card and driver do receive results, they do report them via
cfg80211, and those results are stored as expected (for instance, I
see every BSSID I expected to find in tmp->pub.bssid
cfg80211_bss_update()). iw never gets them, it just acts like there
were no results. However specifying a frequency does return results,
so this doesn't work:

iw dev mlan0 scan

but this does:

iw dev mlan0 scan 2412

I'm wondering if there's something marked incorrectly in the BSS
structure from the driver or if there is some other reason that
results aren't reported unless the frequency is specified. When doing
the latter, I do see reasonable results when compared to another
system scanning in the same room.

Can someone else reproduce this? Is there anything specific that I
could look at that would help resolve the problem?

Thanks,

-Andrey


2014-08-05 17:13:16

by Avinash Patil

[permalink] [raw]
Subject: RE: scanning only returns results on specified channels (Marvell mwifiex driver)

Hi Andrey,

What is your kernel version? Also do you have extended scan enabled? You may check init.c for adapter->ext_scan.

Thanks,
Avinash.

________________________________________
From: [email protected] [[email protected]] On Behalf Of Andrey Yurovsky [[email protected]]
Sent: Tuesday, August 05, 2014 12:41 AM
To: [email protected]
Subject: scanning only returns results on specified channels (Marvell mwifiex driver)

I am not seeing scan results on my test setup with a Marvell 88W8787
(mwifiex driver) connected over SDIO to an ARM926. I traced and found
that the card and driver do receive results, they do report them via
cfg80211, and those results are stored as expected (for instance, I
see every BSSID I expected to find in tmp->pub.bssid
cfg80211_bss_update()). iw never gets them, it just acts like there
were no results. However specifying a frequency does return results,
so this doesn't work:

iw dev mlan0 scan

but this does:

iw dev mlan0 scan 2412

I'm wondering if there's something marked incorrectly in the BSS
structure from the driver or if there is some other reason that
results aren't reported unless the frequency is specified. When doing
the latter, I do see reasonable results when compared to another
system scanning in the same room.

Can someone else reproduce this? Is there anything specific that I
could look at that would help resolve the problem?

Thanks,

-Andrey

2014-08-05 17:26:49

by Andrey Yurovsky

[permalink] [raw]
Subject: Re: scanning only returns results on specified channels (Marvell mwifiex driver)

On Tue, Aug 5, 2014 at 10:11 AM, Avinash Patil <[email protected]> wrote:
> What is your kernel version? Also do you have extended scan enabled? You may check init.c for adapter->ext_scan.

It's 3.15, specifically the Linaro release (linux-linaro-3.15-2014.06)
however I can build any mainline kernel or backport if needed. The
driver reports version 1.0 (14.66.9.p96).

I believe that adapter->ext_scan is always enabled with the way the
code is written, however I've confirmed it just in case. Also I
meant:

iw dev mlan0 scan freq 2412

...in my previous message.

> ________________________________________
> From: [email protected] [[email protected]] On Behalf Of Andrey Yurovsky [[email protected]]
> Sent: Tuesday, August 05, 2014 12:41 AM
> To: [email protected]
> Subject: scanning only returns results on specified channels (Marvell mwifiex driver)
>
> I am not seeing scan results on my test setup with a Marvell 88W8787
> (mwifiex driver) connected over SDIO to an ARM926. I traced and found
> that the card and driver do receive results, they do report them via
> cfg80211, and those results are stored as expected (for instance, I
> see every BSSID I expected to find in tmp->pub.bssid
> cfg80211_bss_update()). iw never gets them, it just acts like there
> were no results. However specifying a frequency does return results,
> so this doesn't work:
>
> iw dev mlan0 scan
>
> but this does:
>
> iw dev mlan0 scan 2412
>
> I'm wondering if there's something marked incorrectly in the BSS
> structure from the driver or if there is some other reason that
> results aren't reported unless the frequency is specified. When doing
> the latter, I do see reasonable results when compared to another
> system scanning in the same room.
>
> Can someone else reproduce this? Is there anything specific that I
> could look at that would help resolve the problem?
>
> Thanks,
>
> -Andrey
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html

2014-08-05 20:51:17

by Andrey Yurovsky

[permalink] [raw]
Subject: Re: scanning only returns results on specified channels (Marvell mwifiex driver)

On Tue, Aug 5, 2014 at 10:11 AM, Avinash Patil <[email protected]> wrote:
> What is your kernel version? Also do you have extended scan enabled? You may check init.c for adapter->ext_scan.

I built 3.16 from Linus' tree and scanning is working properly, so
this appears to only be an issue with the version shipped in 3.15 (and
possibly some other earlier ones). Thanks and sorry for the noise.

-Andrey

> ________________________________________
> From: [email protected] [[email protected]] On Behalf Of Andrey Yurovsky [[email protected]]
> Sent: Tuesday, August 05, 2014 12:41 AM
> To: [email protected]
> Subject: scanning only returns results on specified channels (Marvell mwifiex driver)
>
> I am not seeing scan results on my test setup with a Marvell 88W8787
> (mwifiex driver) connected over SDIO to an ARM926. I traced and found
> that the card and driver do receive results, they do report them via
> cfg80211, and those results are stored as expected (for instance, I
> see every BSSID I expected to find in tmp->pub.bssid
> cfg80211_bss_update()). iw never gets them, it just acts like there
> were no results. However specifying a frequency does return results,
> so this doesn't work:
>
> iw dev mlan0 scan
>
> but this does:
>
> iw dev mlan0 scan 2412
>
> I'm wondering if there's something marked incorrectly in the BSS
> structure from the driver or if there is some other reason that
> results aren't reported unless the frequency is specified. When doing
> the latter, I do see reasonable results when compared to another
> system scanning in the same room.
>
> Can someone else reproduce this? Is there anything specific that I
> could look at that would help resolve the problem?
>
> Thanks,
>
> -Andrey
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html