2011-02-10 11:38:45

by Stanislaw Gruszka

[permalink] [raw]
Subject: Re: 答复: 答复: 答复: about Mac80211scan issue

On Thu, Feb 10, 2011 at 06:05:20PM +0800, 李朝明 wrote:
> Sorry, could you tell me address of wireless-testing tree.

http://git.kernel.org/?p=linux/kernel/git/linville/wireless-testing.git;a=summary

Most kernel trees are hosted on git.kernel.org and are availeble using git.

Stanislaw


2011-02-14 10:16:13

by Johannes Berg

[permalink] [raw]
Subject: Re: [RFC] mac80211: mac80211's null packet issue.

This thread has me confused. Powersave issue and HT20 issue at the same
time??

I'm skipping this -- if you want any input from me on either question
please repost them more clearly and try not to intermingle the thread
(changing the subject is *not* enough).

johannes


2011-02-11 02:26:54

by 李朝明

[permalink] [raw]
Subject: [RFC] mac80211: cisco 1252 HT bw20, sta->ht_cap.cap bw is wrong

Dear Stanislaw:

I find for cisco 1252 11N mode bandwith-20,
ieee80211_sta->ht_cap.cap & IEEE80211_HT_CAP_SUP_WIDTH_20_40
was wrong in bss_info_changed, I have to check 20/40 MHZ based on
hw->conf.channel_type.

All other APs will be ok, So may be it's AP IE's issue, But I think
mac80211 should also check hw->conf.channel_type
before set ieee80211_sta->ht_cap.cap &
IEEE80211_HT_CAP_SUP_WIDTH_20_40.

Thank you!

lizhaoming
--


2011-02-11 10:23:44

by Stanislaw Gruszka

[permalink] [raw]
Subject: Re: [RFC] mac80211: cisco 1252 HT bw20, sta->ht_cap.cap bw is wrong

On Fri, Feb 11, 2011 at 10:26:13AM +0800, 李朝明 wrote:
> Dear Stanislaw:
"Hi" would be enough ;-)

> I find for cisco 1252 11N mode bandwith-20,
> ieee80211_sta->ht_cap.cap & IEEE80211_HT_CAP_SUP_WIDTH_20_40
> was wrong in bss_info_changed, I have to check 20/40 MHZ based on
> hw->conf.channel_type.
>
> All other APs will be ok, So may be it's AP IE's issue, But I think
> mac80211 should also check hw->conf.channel_type
> before set ieee80211_sta->ht_cap.cap &
> IEEE80211_HT_CAP_SUP_WIDTH_20_40.
Perhaps you could send patch with fix?

Stanislaw

2011-02-12 03:33:33

by 李朝明

[permalink] [raw]
Subject: [RFC] mac80211: mac80211's null packet issue.

Dear Stanislaw & John:

follwing is the Call Trace issue I found:

====================
Feb 12 10:58:28 lzm-laptop kernel: [243855.472129]
rtl8192de-0:rtl92d_phy_switch_wirelessband():<0-0> ====>2.4G
Feb 12 10:58:28 lzm-laptop kernel: [243855.475867] pm = 0 null have been
send
Feb 12 10:58:29 lzm-laptop kernel: [243855.672881] pm = 1 null have been
send
Feb 12 10:58:29 lzm-laptop kernel: [243855.733668] =========> rtl_op_config
wide_chan:56
Feb 12 10:58:29 lzm-laptop kernel: [243855.733741]
rtl8192de-0:rtl92d_phy_switch_wirelessband():<0-0> ====>5G
Feb 12 10:58:30 lzm-laptop kernel: [243856.621680] =========> rtl_op_config
wide_chan:149
Feb 12 10:58:30 lzm-laptop kernel: [243856.621754]
rtl8192de-0:rtl92d_phy_switch_wirelessband():<0-0> ====>5G
Feb 12 10:58:30 lzm-laptop kernel: [243856.660040] ------------[ cut here
]------------
Feb 12 10:58:30 lzm-laptop kernel: [243856.660067] WARNING: at
/home/mac80211_2.6.37/tx.c:656 invoke_tx_handlers+0xd46/0xf80 [mac80211]()
Feb 12 10:58:30 lzm-laptop kernel: [243856.660072] Hardware name: A8Sc

Feb 12 10:58:30 lzm-laptop kernel: [243856.660077] wlan0: Dropped data frame
as no usable bitrate found while scanning and associated. Target station:
00:1c:f0:c0:ab:bd on 5 GHz band
Feb 12 10:58:30 lzm-laptop kernel: [243856.660081] Modules linked in:
rtl8192de rtl8192se rtl8192ce rtlwifi mac80211 cfg80211 nls_iso8859_1
nls_cp437 vfat fat usb_storage aes_i586 aes_generic arc4 binfmt_misc rfcomm
ppdev sco bridge stp bnep l2cap snd_hda_codec_si3054 snd_hda_codec_realtek
snd_hda_intel snd_hda_codec snd_hwdep joydev snd_pcm snd_seq_midi
snd_rawmidi snd_seq_midi_event snd_seq snd_timer snd_seq_device nouveau ttm
drm_kms_helper drm snd intel_agp i2c_algo_bit asus_laptop sparse_keymap
intel_gtt agpgart uvcvideo psmouse videodev r852 serio_raw video btusb
soundcore snd_page_alloc output v4l1_compat irda crc_ccitt sm_common nand
nand_ids nand_ecc sdhci_pci sdhci mtd led_class bluetooth lp parport ahci
r8169 libahci mii [last unloaded: mac80211]
Feb 12 10:58:30 lzm-laptop kernel: [243856.660195] Pid: 5873, comm:
kworker/u:2 Tainted: G W 2.6.37-020637rc1-generic #201011020905
Feb 12 10:58:30 lzm-laptop kernel: [243856.660199] Call Trace:
Feb 12 10:58:30 lzm-laptop kernel: [243856.660220] [<fbff21a6>] ?
invoke_tx_handlers+0xd46/0xf80 [mac80211]
Feb 12 10:58:30 lzm-laptop kernel: [243856.660241] [<fbff21a6>] ?
invoke_tx_handlers+0xd46/0xf80 [mac80211]
Feb 12 10:58:30 lzm-laptop kernel: [243856.660252] [<c014f7c1>]
warn_slowpath_common+0x81/0xa0
Feb 12 10:58:30 lzm-laptop kernel: [243856.660272] [<fbff21a6>] ?
invoke_tx_handlers+0xd46/0xf80 [mac80211]
Feb 12 10:58:30 lzm-laptop kernel: [243856.660282] [<c014f883>]
warn_slowpath_fmt+0x33/0x40
Feb 12 10:58:30 lzm-laptop kernel: [243856.660294] [<fbff21a6>]
invoke_tx_handlers+0xd46/0xf80 [mac80211]
Feb 12 10:58:30 lzm-laptop kernel: [243856.660307] [<fbff2440>]
ieee80211_tx+0x60/0x1b0 [mac80211]
Feb 12 10:58:30 lzm-laptop kernel: [243856.660312] [<c0505766>] ?
pskb_expand_head+0x56/0x1b0
Feb 12 10:58:30 lzm-laptop kernel: [243856.660315] [<c05058ac>] ?
pskb_expand_head+0x19c/0x1b0
Feb 12 10:58:30 lzm-laptop kernel: [243856.660328] [<fbff2638>]
ieee80211_xmit+0xa8/0x1f0 [mac80211]
Feb 12 10:58:30 lzm-laptop kernel: [243856.660332] [<c0505177>] ?
__alloc_skb+0x77/0x100
Feb 12 10:58:30 lzm-laptop kernel: [243856.660344] [<fbff0c9d>] ?
ieee80211_nullfunc_get+0x5d/0x140 [mac80211]
Feb 12 10:58:30 lzm-laptop kernel: [243856.660356] [<fbff27c5>]
ieee80211_tx_skb+0x45/0x60 [mac80211]
Feb 12 10:58:30 lzm-laptop kernel: [243856.660367] [<fbfe299f>]
ieee80211_send_nullfunc+0x3f/0x60 [mac80211]
Feb 12 10:58:30 lzm-laptop kernel: [243856.660377] [<fbfe2a49>]
ieee80211_dynamic_ps_enable_work+0x89/0x90 [mac80211]
Feb 12 10:58:30 lzm-laptop kernel: [243856.660383] [<c0168819>]
process_one_work+0xd9/0x330
Feb 12 10:58:30 lzm-laptop kernel: [243856.660393] [<fbfe29c0>] ?
ieee80211_dynamic_ps_enable_work+0x0/0x90 [mac80211]
Feb 12 10:58:30 lzm-laptop kernel: [243856.660397] [<c0169413>]
worker_thread+0xb3/0x210
Feb 12 10:58:30 lzm-laptop kernel: [243856.660401] [<c0169360>] ?
worker_thread+0x0/0x210
Feb 12 10:58:30 lzm-laptop kernel: [243856.660405] [<c016c935>]
kthread+0x75/0x80
Feb 12 10:58:30 lzm-laptop kernel: [243856.660409] [<c016c8c0>] ?
kthread+0x0/0x80
Feb 12 10:58:30 lzm-laptop kernel: [243856.660413] [<c01032fe>]
kernel_thread_helper+0x6/0x10
Feb 12 10:58:30 lzm-laptop kernel: [243856.660415] ---[ end trace
31d359aae6ce5643 ]---
Feb 12 10:58:30 lzm-laptop kernel: [243856.660419] ===========> rtl_get_rate
rix:0 isnull:1 ps_flag:1
Feb 12 10:58:30 lzm-laptop kernel: [243856.660421] rtlwifi:
Feb 12 10:58:30 lzm-laptop kernel: [243856.660423] In process "kworker/u:2"
(pid 5873):skb
Feb 12 10:58:30 lzm-laptop kernel: [243856.660426] 48 11 00 00 00 1C F0 C0
AB BD 00 E0 4C 92 01 BA
Feb 12 10:58:30 lzm-laptop kernel: [243856.660437] 00 1C F0 C0 AB BD 00 00

Feb 12 10:58:30 lzm-laptop kernel: [243856.660443]
Feb 12 10:58:30 lzm-laptop kernel: [243856.660512] pm = 1 null have been
send
Feb 12 10:58:30 lzm-laptop kernel: [243856.797670] =========> rtl_op_config
wide_chan:9
Feb 12 10:58:30 lzm-laptop kernel: [243856.797744]
rtl8192de-0:rtl92d_phy_switch_wirelessband():<0-0> ====>2.4G
Feb 12 10:58:30 lzm-laptop kernel: [243856.801563] pm = 0 null have been
send
Feb 12 10:58:30 lzm-laptop kernel: [243856.900126] pm = 1 null have been
send
Feb 12 10:58:30 lzm-laptop kernel: [243857.000119] pm = 1 null have been
send
Feb 12 10:58:30 lzm-laptop kernel: [243857.061661] =========> rtl_op_config
wide_chan:153
====================

I find the root cause is: after I linked AP in 9 channel(2.4G), I use iwlist
wlan0 scan
when driverf offchannel to 5G 149 channel, a null(pm=1) packet was send ,
and then call trace
happend because "WARN" in "ieee80211_tx_h_rate_ctrl" .
Below are corresponding code:
ieee80211_tx_h_rate_ctrl(struct ieee80211_tx_data *tx)
{
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(tx->skb);


/*
* Lets not bother rate control if we're associated and cannot
* talk to the sta. This should not happen (but this indeed
happend).
*/
if (WARN(test_bit(SCAN_SW_SCANNING, &tx->local->scanning) &&
(sta_flags & WLAN_STA_ASSOC) &&
!rate_usable_index_exists(sband, &tx->sta->sta),
"%s: Dropped data frame as no usable bitrate found while "
"scanning and associated. Target station: "
"%pM on %d GHz band\n",
tx->sdata->name, hdr->addr1,
tx->channel->band ? 5 : 2))
return TX_DROP;

}

And I also find this issue happens when I open power save:
hw->flags = IEEE80211_HW_SIGNAL_DBM |
IEEE80211_HW_RX_INCLUDES_FCS |
IEEE80211_HW_BEACON_FILTER |
IEEE80211_HW_AMPDU_AGGREGATION |
IEEE80211_HW_REPORTS_TX_ACK_STATUS |
IEEE80211_HW_SUPPORTS_PS |
IEEE80211_HW_PS_NULLFUNC_STACK |
/* IEEE80211_HW_SUPPORTS_DYNAMIC_PS | */
0;
if I close power save like follwing this issue will never happen:
hw->flags = IEEE80211_HW_SIGNAL_DBM |
IEEE80211_HW_RX_INCLUDES_FCS |
IEEE80211_HW_BEACON_FILTER |
IEEE80211_HW_AMPDU_AGGREGATION |
IEEE80211_HW_REPORTS_TX_ACK_STATUS |
/* IEEE80211_HW_SUPPORTS_PS | */
/* IEEE80211_HW_PS_NULLFUNC_STACK | */
/* IEEE80211_HW_SUPPORTS_DYNAMIC_PS | */
0;

So, is any body familiar with mac80211 power save can help ?
Thank you!

lizhaoming
--