Hi Caesar,
The original log in google issue tracker show there exist AP in channel 13
after periodically scan.
Per my understand, if reg domain is set to US, channel 12/13/14 will not get
chance to scan. (test using iw/wpa_supplicant).
I am curious about whether there are any diff from upper layer.
As a test, you can print the scan channel list, as below:
diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c
b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
index a7593aa..a289818 100644
--- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c
+++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
@@ -2572,6 +2572,7 @@ static int mwifiex_set_ibss_params(struct mwifiex_private
*priv,
MWIFIEX_USER_SCAN_CHAN_MAX); i++) {
chan = request->channels[i];
user_scan_cfg->chan_list[i].chan_number = chan->hw_value;
+ pr_err("chan->hw_value = %d", chan->hw_value);
user_scan_cfg->chan_list[i].radio_type = chan->band;
if ((chan->flags & IEEE80211_CHAN_NO_IR) || !request->n_ssids)
Regards,
Simon
> -----Original Message-----
> From: Kalle Valo [mailto:[email protected]]
> Sent: 2017年6月13日 15:53
> To: Caesar Wang
> Cc: [email protected]; Xinming Hu; Nishant Sarmukadam; Ganapathi
> Bhat; [email protected]; [email protected];
> [email protected]; [email protected];
> [email protected]
> Subject: [EXT] Re: [PATCH] mwifiex: fixes the trivial print
>
> External Email
>
> ----------------------------------------------------------------------
> Caesar Wang <[email protected]> writes:
>
> > 在 2017年06月13日 15:04, Kalle Valo 写道:
> >> Caesar Wang <[email protected]> writes:
> >>
> >>> Kalle,
> >>>
> >>> 在 2017年06月13日 14:28, Kalle Valo 写道:
> >>>> Caesar Wang <[email protected]> writes:
> >>>>
> >>>>> We have always met the unused log be printed as following.
> >>>>>
> >>>>> ...
> >>>>> [23193.523182] mwifiex_pcie 0000:01:00.0: mwifiex_get_cfp:
> >>>>> cannot find cfp by band 2 & channel=13 freq=0
> >>>>> [23378.633684] mwifiex_pcie 0000:01:00.0: mwifiex_get_cfp:
> >>>>> cannot find cfp by band 2 & channel=13 freq=0
> >>>>>
> >>>>> Maybe that's related to wifi regdom, since wifi default area was
> >>>>> US and didn't support 12~14 channels.
> >>>>>
> >>>>> As Frequencies:
> >>>>> * 2412 MHz [1] (30.0 dBm)
> >>>>> * 2417 MHz [2] (30.0 dBm)
> >>>>> * 2422 MHz [3] (30.0 dBm)
> >>>>> * 2427 MHz [4] (30.0 dBm)
> >>>>> * 2432 MHz [5] (30.0 dBm)
> >>>>> * 2437 MHz [6] (30.0 dBm)
> >>>>> * 2442 MHz [7] (30.0 dBm)
> >>>>> * 2447 MHz [8] (30.0 dBm)
> >>>>> * 2452 MHz [9] (30.0 dBm)
> >>>>> * 2457 MHz [10] (30.0 dBm)
> >>>>> * 2462 MHz [11] (30.0 dBm)
> >>>>> * 2467 MHz [12] (disabled)
> >>>>> * 2472 MHz [13] (disabled)
> >>>>> * 2484 MHz [14] (disabled)
> >>>>>
> >>>>> Signed-off-by: Caesar Wang <[email protected]>
> >>>>> ---
> >>>>>
> >>>>> drivers/net/wireless/marvell/mwifiex/cfp.c | 2 +-
> >>>>> 1 file changed, 1 insertion(+), 1 deletion(-)
> >>>>>
> >>>>> diff --git a/drivers/net/wireless/marvell/mwifiex/cfp.c
> >>>>> b/drivers/net/wireless/marvell/mwifiex/cfp.c
> >>>>> index 1ff2205..6e29943 100644
> >>>>> --- a/drivers/net/wireless/marvell/mwifiex/cfp.c
> >>>>> +++ b/drivers/net/wireless/marvell/mwifiex/cfp.c
> >>>>> @@ -350,7 +350,7 @@ mwifiex_get_cfp(struct mwifiex_private *priv, u8
> band, u16 channel, u32 freq)
> >>>>> }
> >>>>> }
> >>>>> if (i == sband->n_channels) {
> >>>>> - mwifiex_dbg(priv->adapter, ERROR,
> >>>>> + mwifiex_dbg(priv->adapter, WARN,
> >>>>> "%s: cannot find cfp by band %d\t"
> >>>>> "& channel=%d freq=%d\n",
> >>>>> __func__, band, channel, freq);
> >>>> I don't see how this fixes anything, care to explain? And the title
> >>>> is quite vague.
> >>> Sorry for the description maybe unclear.
> >>> I'm assuming the print log is expected for marvel wifi driver. Do we
> >>> should use 'WARN' to instead of the 'ERROR' here.
> >> But does that make any functional difference, isn't the warning still
> >> printed?
> >>
> >
> > At least, that shouldn't be printed log by default. :)
> >
> > if I read the code is correct. That only the MSG/FATAL/ERROR will
> > output by default.
> >
> > /**
> > *enum mwifiex_debug_level - marvell wifi debug level */ enum
> > MWIFIEX_DEBUG_LEVEL {
> > MWIFIEX_DBG_MSG = 0x00000001,
> > MWIFIEX_DBG_FATAL = 0x00000002,
> > MWIFIEX_DBG_ERROR = 0x00000004,
> > MWIFIEX_DBG_DATA = 0x00000008,
> > MWIFIEX_DBG_CMD = 0x00000010,
> > MWIFIEX_DBG_EVENT = 0x00000020,
> > MWIFIEX_DBG_INTR = 0x00000040,
> > MWIFIEX_DBG_IOCTL = 0x00000080,
> >
> > MWIFIEX_DBG_MPA_D = 0x00008000,
> > MWIFIEX_DBG_DAT_D = 0x00010000,
> > MWIFIEX_DBG_CMD_D = 0x00020000,
> > MWIFIEX_DBG_EVT_D = 0x00040000,
> > MWIFIEX_DBG_FW_D = 0x00080000,
> > MWIFIEX_DBG_IF_D = 0x00100000,
> >
> > MWIFIEX_DBG_ENTRY = 0x10000000,
> > MWIFIEX_DBG_WARN = 0x20000000,
> > MWIFIEX_DBG_INFO = 0x40000000,
> > MWIFIEX_DBG_DUMP = 0x80000000,
> >
> > MWIFIEX_DBG_ANY = 0xffffffff
> > };
> >
> > #define MWIFIEX_DEFAULT_DEBUG_MASK (MWIFIEX_DBG_MSG | \
> > MWIFIEX_DBG_FATAL | \
> > MWIFIEX_DBG_ERROR)
>
> Heh, makes more sense now :) But you still should improve the title and
> explain in the commit log that WARN level is not printed by default.
>
> But before you submit v2 let's wait what Marvell says about this.
>
> --
> Kalle Valo