Search Linux Wireless

Re: brcmfmac: Unexpected brcmf_set_channel: set chanspec 0xd022 fail, reason -52 - Part 2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I've been observing this issue for a couple of days. I added pr_err (before and after) to debug this to find the culprit
who change the flags from 0x0001 to 0x80020. Please see below. I used Raspberry Pi 5 with kernel 6.6.51.

I think the flags are actually changed:

1) to 0x80000 in cfg80211.handle_channel_single_rule, then
2) to 0x80020 in cfg80211.reg_process_ht_flags_channel.

/* initial boot */

[    3.114181] cfg80211: handle_channel_custom: before hw_value: 0x0c, orig_flags: 0x0000, flags: 0x0000
[    3.123453] cfg80211: handle_channel_custom: after  hw_value: 0x0c, orig_flags: 0x0000, flags: 0x80180
[    3.132813] cfg80211: handle_channel_custom: before hw_value: 0x0d, orig_flags: 0x0000, flags: 0x0000
[    3.142074] cfg80211: handle_channel_custom: after  hw_value: 0x0d, orig_flags: 0x0000, flags: 0x80180
[    3.151421] cfg80211: handle_channel_custom: before hw_value: 0x0e, orig_flags: 0x0000, flags: 0x0000
[    3.160681] cfg80211: handle_channel_custom: after  hw_value: 0x0e, orig_flags: 0x0000, flags: 0x801b0
[    3.170030] cfg80211: handle_channel_custom: before hw_value: 0x22, orig_flags: 0x0000, flags: 0x0000
[    3.179291] cfg80211: handle_channel_custom: after  hw_value: 0x22, orig_flags: 0x0000, flags: 0x80000
[    3.188638] cfg80211: handle_channel_custom: before hw_value: 0x24, orig_flags: 0x0000, flags: 0x0000
[    3.197897] cfg80211: handle_channel_custom: after  hw_value: 0x24, orig_flags: 0x0000, flags: 0x80000
[    3.207245] cfg80211: handle_channel_custom: before hw_value: 0x26, orig_flags: 0x0000, flags: 0x0000
[    3.216512] cfg80211: handle_channel_custom: after  hw_value: 0x26, orig_flags: 0x0000, flags: 0x80000
[    3.225955] cfg80211: handle_channel_single_rule: before hw_value: 0x22, orig_flags: 0x80000, flags: 0x80000
[    3.235837] cfg80211: handle_channel_single_rule: after  hw_value: 0x22, orig_flags: 0x80000, flags: 0x80000
[    3.235841] cfg80211: handle_channel_single_rule: before hw_value: 0x24, orig_flags: 0x80000, flags: 0x80000
[    3.235843] cfg80211: handle_channel_single_rule: after  hw_value: 0x24, orig_flags: 0x80000, flags: 0x80000
[    3.265464] cfg80211: handle_channel_single_rule: before hw_value: 0x26, orig_flags: 0x80000, flags: 0x80000
[    3.275338] cfg80211: handle_channel_single_rule: after  hw_value: 0x26, orig_flags: 0x80000, flags: 0x80000
[    3.285218] cfg80211: reg_process_ht_flags_channel: before hw_value: 0x0c, orig_flags: 0x80180, flags: 0x80181
[    3.295270] cfg80211: reg_process_ht_flags_channel: before hw_value: 0x0d, orig_flags: 0x80180, flags: 0x80181
[    3.305318] cfg80211: reg_process_ht_flags_channel: before hw_value: 0x0e, orig_flags: 0x801b0, flags: 0x801b1
[    3.305320] cfg80211: reg_process_ht_flags_channel: before hw_value: 0x22, orig_flags: 0x80000, flags: 0x80000
[    3.305323] cfg80211: reg_process_ht_flags_channel: after  hw_value: 0x22, orig_flags: 0x80000, flags: 0x80020
[    3.335460] cfg80211: reg_process_ht_flags_channel: before hw_value: 0x24, orig_flags: 0x80000, flags: 0x80000
[    3.335462] cfg80211: reg_process_ht_flags_channel: after  hw_value: 0x24, orig_flags: 0x80000, flags: 0x80020
[    3.335463] cfg80211: reg_process_ht_flags_channel: before hw_value: 0x26, orig_flags: 0x80000, flags: 0x80000
[    3.335465] cfg80211: reg_process_ht_flags_channel: after  hw_value: 0x26, orig_flags: 0x80000, flags: 0x80000
[    3.406614] brcmfmac: brcmf_construct_chaninfo: hw_value: 0x0c, orig_flags: 0x80180, flags: 0x0001
[    3.415666] brcmfmac: brcmf_construct_chaninfo: hw_value: 0x0d, orig_flags: 0x80180, flags: 0x0001
[    3.424668] brcmfmac: brcmf_construct_chaninfo: hw_value: 0x0e, orig_flags: 0x801b0, flags: 0x0001
[    3.433669] brcmfmac: brcmf_construct_chaninfo: hw_value: 0x22, orig_flags: 0x80000, flags: 0x0001
[    3.442668] brcmfmac: brcmf_construct_chaninfo: hw_value: 0x24, orig_flags: 0x80000, flags: 0x0120
[    3.451667] brcmfmac: brcmf_construct_chaninfo: hw_value: 0x26, orig_flags: 0x80000, flags: 0x0001
[    3.464673] brcmfmac: brcmf_setup_wiphybands: hw_value: 0x0c, orig_flags: 0x80180, flags: 0x0001
[    3.473504] brcmfmac: brcmf_setup_wiphybands: hw_value: 0x0d, orig_flags: 0x80180, flags: 0x0001
[    3.482336] brcmfmac: brcmf_setup_wiphybands: hw_value: 0x0e, orig_flags: 0x801b0, flags: 0x0001
[    3.491162] brcmfmac: brcmf_setup_wiphybands: hw_value: 0x22, orig_flags: 0x80000, flags: 0x0001
[    3.499988] brcmfmac: brcmf_setup_wiphybands: hw_value: 0x24, orig_flags: 0x80000, flags: 0x0120
[    3.508812] brcmfmac: brcmf_setup_wiphybands: hw_value: 0x26, orig_flags: 0x80000, flags: 0x0001

/* wpa_supplicant connect, the flags are changed here */

[   10.493324] cfg80211: handle_channel_single_rule: before hw_value: 0x22, orig_flags: 0x80000, flags: 0x0001
[   10.503174] cfg80211: handle_channel_single_rule: after  hw_value: 0x22, orig_flags: 0x80000, flags: 0x80000
[   10.513094] cfg80211: handle_channel_single_rule: before hw_value: 0x24, orig_flags: 0x80000, flags: 0x0120
[   10.522898] cfg80211: handle_channel_single_rule: after  hw_value: 0x24, orig_flags: 0x80000, flags: 0x80000
[   10.532785] cfg80211: handle_channel_single_rule: before hw_value: 0x26, orig_flags: 0x80000, flags: 0x0001
[   10.542601] cfg80211: handle_channel_single_rule: after  hw_value: 0x26, orig_flags: 0x80000, flags: 0x80000
[   10.552496] cfg80211: reg_process_ht_flags_channel: before hw_value: 0x0c, orig_flags: 0x80180, flags: 0x0001
[   10.562479] cfg80211: reg_process_ht_flags_channel: before hw_value: 0x0d, orig_flags: 0x80180, flags: 0x0001
[   10.572453] cfg80211: reg_process_ht_flags_channel: before hw_value: 0x0e, orig_flags: 0x801b0, flags: 0x0001
[   10.582438] cfg80211: reg_process_ht_flags_channel: before hw_value: 0x22, orig_flags: 0x80000, flags: 0x80000
[   10.592498] cfg80211: reg_process_ht_flags_channel: after  hw_value: 0x22, orig_flags: 0x80000, flags: 0x80020
[   10.602557] cfg80211: reg_process_ht_flags_channel: before hw_value: 0x24, orig_flags: 0x80000, flags: 0x80000
[   10.612624] cfg80211: reg_process_ht_flags_channel: after  hw_value: 0x24, orig_flags: 0x80000, flags: 0x80020
[   10.622683] cfg80211: reg_process_ht_flags_channel: before hw_value: 0x26, orig_flags: 0x80000, flags: 0x80000
[   10.632740] cfg80211: reg_process_ht_flags_channel: after  hw_value: 0x26, orig_flags: 0x80000, flags: 0x80000

/* wpa_supplicant disconnect */

[   78.902910] cfg80211: handle_channel_single_rule: before hw_value: 0x22, orig_flags: 0x80000, flags: 0x80000
[   78.912850] cfg80211: handle_channel_single_rule: after  hw_value: 0x22, orig_flags: 0x80000, flags: 0x80000
[   78.922781] cfg80211: handle_channel_single_rule: before hw_value: 0x24, orig_flags: 0x80000, flags: 0x80000
[   78.932705] cfg80211: handle_channel_single_rule: after  hw_value: 0x24, orig_flags: 0x80000, flags: 0x80000
[   78.942623] cfg80211: handle_channel_single_rule: before hw_value: 0x26, orig_flags: 0x80000, flags: 0x80000
[   78.952518] cfg80211: handle_channel_single_rule: after  hw_value: 0x26, orig_flags: 0x80000, flags: 0x80000
[   78.962433] cfg80211: reg_process_ht_flags_channel: before hw_value: 0x0c, orig_flags: 0x80180, flags: 0x80181
[   78.972500] cfg80211: reg_process_ht_flags_channel: before hw_value: 0x0d, orig_flags: 0x80180, flags: 0x80181
[   78.982563] cfg80211: reg_process_ht_flags_channel: before hw_value: 0x0e, orig_flags: 0x801b0, flags: 0x801b1
[   78.992623] cfg80211: reg_process_ht_flags_channel: before hw_value: 0x22, orig_flags: 0x80000, flags: 0x80000
[   79.002694] cfg80211: reg_process_ht_flags_channel: after  hw_value: 0x22, orig_flags: 0x80000, flags: 0x80020
[   79.012765] cfg80211: reg_process_ht_flags_channel: before hw_value: 0x24, orig_flags: 0x80000, flags: 0x80000
[   79.022835] cfg80211: reg_process_ht_flags_channel: after  hw_value: 0x24, orig_flags: 0x80000, flags: 0x80020
[   79.032891] cfg80211: reg_process_ht_flags_channel: before hw_value: 0x26, orig_flags: 0x80000, flags: 0x80000
[   79.042969] cfg80211: reg_process_ht_flags_channel: after  hw_value: 0x26, orig_flags: 0x80000, flags: 0x80000

/* wpa_supplicant re-connect */

[  156.971916] brcmfmac: brcmf_set_channel: set chanspec 0xd022 fail, reason -52
[  157.087904] brcmfmac: brcmf_set_channel: set chanspec 0xd026 fail, reason -52
[  157.199928] brcmfmac: brcmf_set_channel: set chanspec 0xd02a fail, reason -52
[  157.310944] brcmfmac: brcmf_set_channel: set chanspec 0xd02e fail, reason -52
[  159.774209] cfg80211: handle_channel_single_rule: before hw_value: 0x22, orig_flags: 0x80000, flags: 0x80020
[  159.784166] cfg80211: handle_channel_single_rule: after  hw_value: 0x22, orig_flags: 0x80000, flags: 0x80000
[  159.794073] cfg80211: handle_channel_single_rule: before hw_value: 0x24, orig_flags: 0x80000, flags: 0x80020
[  159.803977] cfg80211: handle_channel_single_rule: after  hw_value: 0x24, orig_flags: 0x80000, flags: 0x80000
[  159.813887] cfg80211: handle_channel_single_rule: before hw_value: 0x26, orig_flags: 0x80000, flags: 0x80000
[  159.823792] cfg80211: handle_channel_single_rule: after  hw_value: 0x26, orig_flags: 0x80000, flags: 0x80000
[  159.833689] cfg80211: reg_process_ht_flags_channel: before hw_value: 0x0c, orig_flags: 0x80180, flags: 0x801b1
[  159.843751] cfg80211: reg_process_ht_flags_channel: before hw_value: 0x0d, orig_flags: 0x80180, flags: 0x801b1
[  159.853814] cfg80211: reg_process_ht_flags_channel: before hw_value: 0x0e, orig_flags: 0x801b0, flags: 0x801b1
[  159.863889] cfg80211: reg_process_ht_flags_channel: before hw_value: 0x22, orig_flags: 0x80000, flags: 0x80000
[  159.873958] cfg80211: reg_process_ht_flags_channel: after  hw_value: 0x22, orig_flags: 0x80000, flags: 0x80020
[  159.884038] cfg80211: reg_process_ht_flags_channel: before hw_value: 0x24, orig_flags: 0x80000, flags: 0x80000
[  159.894100] cfg80211: reg_process_ht_flags_channel: after  hw_value: 0x24, orig_flags: 0x80000, flags: 0x80020
[  159.904187] cfg80211: reg_process_ht_flags_channel: before hw_value: 0x26, orig_flags: 0x80000, flags: 0x80000
[  159.914248] cfg80211: reg_process_ht_flags_channel: after  hw_value: 0x26, orig_flags: 0x80000, flags: 0x80000


Is there any workaround for this or is this behavior expected?

Regards.

Renjaya




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux