Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FS#1453 - [mac80211] kernel errors load or lock system with mesh+AP on radio on and after commit 0f17504 #6416

Open
openwrt-bot opened this issue Mar 21, 2018 · 1 comment
Labels

Comments

@openwrt-bot
Copy link

jeffsf:

====Overview====

On an Archer C7, configuring an mesh point and an AP on the same radio cause a flood of errors to the log.

The load on the system can become so severe as to lock the user out of the system and pings to be several seconds (yes, not a typo) late
(seen on several builds, my notes identify v17.01.4-219-g796bc21 and v17.01.4-301-g60f8d38 as two of them)

Behavior identified as beginning with git commit 0f17504

====Steps To Replicate====

  • Build an Archer C7 image off the ''lede-17.01'' branch on or after 0f17504
  • Install the following as ''/etc/config/wireless''
    config wifi-device 'radio24'
    option type 'mac80211'
    option channel '6'
    option hwmode '11g'
    option path 'platform/qca955x_wmac'
    option htmode 'HT20'
    option require_mode 'g'

config wifi-device 'radio5'
option type 'mac80211'
option channel '149'
option hwmode '11a'
option path 'pci0000:01/0000:01:00.0'
option htmode 'VHT80'
option require_mode 'ac'

config wifi-iface 'mesh0'
option device 'radio5'
option ifname 'mesh0'
option mode 'mesh'
option mesh_id '<mesh0_id>'
option mesh_fwding '1'
option encryption 'psk2+ccmp'
option key '<mesh0_secret>'
option network 'LAN'

config wifi-iface '5Gap'
option device 'radio5'
option mode 'ap'
option ssid '<5Gap_ssid>'
option encryption 'psk2+ccmp'
option key '<5Gap_secret>'
option network 'LAN'

  • reboot
  • Note the log messages that begin, then repeat continuously
    [ 70.392580] random: nonblocking pool is initialized
    [ 70.447666] br-vlan100: topology change detected, sending tcn bpdu
    [ 70.453988] br-vlan100: port 5(wlan1-1) entered forwarding state
    [ 70.507659] br-vlan100: topology change detected, sending tcn bpdu
    [ 70.513951] br-vlan100: port 7(wlan1-2) entered forwarding state
    [ 70.727668] br-vlan100: topology change detected, sending tcn bpdu
    [ 70.733956] br-vlan100: port 8(wlan1-3) entered forwarding state
    [ 71.097691] br-vlan100: topology change detected, sending tcn bpdu
    [ 71.103997] br-vlan100: port 6(wlan0-1) entered forwarding state
    [ 71.437684] br-vlan100: topology change detected, sending tcn bpdu
    [ 71.443978] br-vlan100: port 9(wlan1-4) entered forwarding state
    [ 71.517659] br-vlan100: topology change detected, sending tcn bpdu
    [ 71.523944] br-vlan100: port 10(wlan1-5) entered forwarding state
    [ 71.726243] ------------[ cut here ]------------
    [ 71.731103] WARNING: CPU: 0 PID: 6 at compat-wireless-2017-01-31/net/mac80211/ieee80211_i.h:1011 ieee80211_debugfs_key_sta_del+0xd4/0x6d8 mac80211
    [ 71.744801] Modules linked in: iptable_nat ath9k nf_nat_ipv4 nf_conntrack_ipv6 nf_conntrack_ipv4 ipt_REJECT ipt_MASQUERADE ath9k_common xt_time xt_tcpudp xt_state xt_nat xt_multiport xt_mark xt_mac xt_limit xt_conntrack xt_comment xt_TCPMSS xt_REDIRECT xt_LOG nf_reject_ipv4 nf_nat_redirect nf_nat_masquerade_ipv4 nf_nat nf_log_ipv4 nf_defrag_ipv6 nf_defrag_ipv4 nf_conntrack_rtcache nf_conntrack iptable_mangle iptable_filter ip_tables ath9k_hw ath10k_pci ath10k_core ath mac80211 cfg80211 compat ledtrig_usbport ip6t_REJECT nf_reject_ipv6 nf_log_ipv6 nf_log_common ip6table_mangle ip6table_filter ip6_tables x_tables ip6_gre ip_gre gre ip6_tunnel tunnel6 ip_tunnel ehci_platform ehci_hcd gpio_button_hotplug ext4 jbd2 mbcache usbcore nls_base usb_common crc16 crc32c_generic crypto_hash
    [ 71.815278] CPU: 0 PID: 6 Comm: kworker/u2:0 Not tainted 4.4.103 #0
    [ 71.821720] Workqueue: phy0 ieee80211_ibss_leave [mac80211]
    [ 71.827387] Stack : 87c4fd14 00000088 80410000 800a78a4 87c2dbac 80410d63 803a9a68 00000006
    803d40c0 87c4fb44 80410000 800a5820 80410000 800a78a4 803af174 80410000
    00000003 87c4fb44 80410000 80095804 80410000 87c4fb7c 00000000 801f8654
    00000001 801f8600 87693adc 87ffc400 87ffc300 70687930 00000000 00000000
    00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    ...
    [ 71.863749] Call Trace:
    [ 71.866240] [<80071e7c>] show_stack+0x54/0x88
    [ 71.870677] [<80081c7c>] warn_slowpath_common+0xa0/0xd0
    [ 71.875979] [<80081d34>] warn_slowpath_null+0x18/0x24
    [ 71.881177] [<876c8654>] ieee80211_debugfs_key_sta_del+0xd4/0x6d8 [mac80211]
    [ 71.888390] [<800d7ef4>] get_page_from_freelist+0x33c/0x810
    [ 71.894039]
    [ 71.895554] ---[ end trace d737184f1359b1c0 ]---
    [ 72.565911] ------------[ cut here ]------------
    [ 72.570821] WARNING: CPU: 0 PID: 6 at compat-wireless-2017-01-31/net/mac80211/ieee80211_i.h:1011 ieee80211_debugfs_key_sta_del+0xd4/0x6d8 mac80211
    [ 72.584526] Modules linked in: iptable_nat ath9k nf_nat_ipv4 nf_conntrack_ipv6 nf_conntrack_ipv4 ipt_REJECT ipt_MASQUERADE ath9k_common xt_time xt_tcpudp xt_state xt_nat xt_multiport xt_mark xt_mac xt_limit xt_conntrack xt_comment xt_TCPMSS xt_REDIRECT xt_LOG nf_reject_ipv4 nf_nat_redirect nf_nat_masquerade_ipv4 nf_nat nf_log_ipv4 nf_defrag_ipv6 nf_defrag_ipv4 nf_conntrack_rtcache nf_conntrack iptable_mangle iptable_filter ip_tables ath9k_hw ath10k_pci ath10k_core ath mac80211 cfg80211 compat ledtrig_usbport ip6t_REJECT nf_reject_ipv6 nf_log_ipv6 nf_log_common ip6table_mangle ip6table_filter ip6_tables x_tables ip6_gre ip_gre gre ip6_tunnel tunnel6 ip_tunnel ehci_platform ehci_hcd gpio_button_hotplug ext4 jbd2 mbcache usbcore nls_base usb_common crc16 crc32c_generic crypto_hash
    [ 72.655001] CPU: 0 PID: 6 Comm: kworker/u2:0 Tainted: G W 4.4.103 #0
    [ 72.662676] Workqueue: phy0 ieee80211_ibss_leave [mac80211]
    [ 72.668341] Stack : 87c4fd14 00000088 80410000 800a78a4 87c2dbac 80410d63 803a9a68 00000006
    803d40c0 87c4fb44 80410000 800a5820 80410000 800a78a4 803af174 80410000
    00000003 87c4fb44 80410000 80095804 80410000 87c4fb7c 00000000 801f8654
    8040fe70 801f8600 87693adc 87ffc400 87ffc300 70687930 00000000 00000000
    00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    ...
    [ 72.704694] Call Trace:
    [ 72.707186] [<80071e7c>] show_stack+0x54/0x88
    [ 72.711622] [<80081c7c>] warn_slowpath_common+0xa0/0xd0
    [ 72.716925] [<80081d34>] warn_slowpath_null+0x18/0x24
    [ 72.722124] [<876c8654>] ieee80211_debugfs_key_sta_del+0xd4/0x6d8 [mac80211]
    [ 72.729338]
    [ 72.730850] ---[ end trace d737184f1359b1c1 ]---
    [ 72.750381] ------------[ cut here ]------------

====Expected Behavior====

Mesh and AP would come up without notable errors or load.

====Potential Cause====

commit 0f175041ad03d381a575e2c2b1a1c9ca76fe0e99
Author: Antonio Quartulli ordex@autistici.org
Date: Fri Nov 9 15:23:34 2012 +0100

mac80211: don't pass the hostapd ctrl iface in adhoc

Passing the ctrl iface to wpa_supplicant will automatically cause wpa_supplicant
to send "STOP_AP" messages to the hostapd. This breaks the AP interfaces.

Signed-off-by: Antonio Quartulli <ordex@autistici.org>
(cherry picked from commit 0da54fa6428ea98d31b49f5d9a4a272214f5d188)</code>

====Other Notes====

Additionally reported by @cititechs
https://forum.lede-project.org/t/802-11s-configuration-references-tp-link-archer-c7/4876/12?u=jeff

Exmaple ping log over a wired connection; unable to establish connection to examine logs
Request timeout for icmp_seq 57
64 bytes from : icmp_seq=58 ttl=64 time=1.147 ms
64 bytes from : icmp_seq=59 ttl=64 time=0.610 ms
64 bytes from : icmp_seq=60 ttl=64 time=0.645 ms
64 bytes from : icmp_seq=61 ttl=64 time=309.930 ms
Request timeout for icmp_seq 62
64 bytes from : icmp_seq=62 ttl=64 time=1624.116 ms
64 bytes from : icmp_seq=63 ttl=64 time=620.756 ms
64 bytes from : icmp_seq=64 ttl=64 time=1721.540 ms
64 bytes from : icmp_seq=65 ttl=64 time=719.600 ms
Request timeout for icmp_seq 67
Request timeout for icmp_seq 68
64 bytes from : icmp_seq=66 ttl=64 time=3025.040 ms
64 bytes from : icmp_seq=67 ttl=64 time=2020.629 ms
64 bytes from : icmp_seq=68 ttl=64 time=1019.058 ms
64 bytes from : icmp_seq=69 ttl=64 time=14.092 ms
Request timeout for icmp_seq 73
64 bytes from : icmp_seq=70 ttl=64 time=4391.453 ms
64 bytes from : icmp_seq=71 ttl=64 time=3388.555 ms
64 bytes from : icmp_seq=72 ttl=64 time=2384.972 ms
64 bytes from : icmp_seq=73 ttl=64 time=1384.871 ms
64 bytes from : icmp_seq=74 ttl=64 time=384.382 ms
Request timeout for icmp_seq 79
Request timeout for icmp_seq 80
Request timeout for icmp_seq 81
64 bytes from : icmp_seq=75 ttl=64 time=7244.993 ms
64 bytes from : icmp_seq=76 ttl=64 time=6240.756 ms
64 bytes from : icmp_seq=77 ttl=64 time=5240.605 ms
64 bytes from : icmp_seq=78 ttl=64 time=4240.268 ms
64 bytes from : icmp_seq=79 ttl=64 time=3235.217 ms
64 bytes from : icmp_seq=80 ttl=64 time=2231.510 ms
64 bytes from : icmp_seq=81 ttl=64 time=1393.878 ms
64 bytes from : icmp_seq=82 ttl=64 time=388.886 ms
Request timeout for icmp_seq 90
Request timeout for icmp_seq 91
Request timeout for icmp_seq 92
Request timeout for icmp_seq 93
Request timeout for icmp_seq 94
64 bytes from : icmp_seq=83 ttl=64 time=12157.520 ms
64 bytes from : icmp_seq=84 ttl=64 time=11154.284 ms
64 bytes from : icmp_seq=85 ttl=64 time=10154.189 ms
64 bytes from : icmp_seq=86 ttl=64 time=9149.660 ms
64 bytes from : icmp_seq=87 ttl=64 time=8146.267 ms
64 bytes from : icmp_seq=88 ttl=64 time=7146.146 ms
64 bytes from : icmp_seq=89 ttl=64 time=6145.438 ms
64 bytes from : icmp_seq=90 ttl=64 time=5140.706 ms
64 bytes from : icmp_seq=91 ttl=64 time=4137.406 ms
64 bytes from : icmp_seq=92 ttl=64 time=3137.265 ms
64 bytes from : icmp_seq=93 ttl=64 time=2137.250 ms
64 bytes from : icmp_seq=94 ttl=64 time=1134.170 ms
64 bytes from : icmp_seq=95 ttl=64 time=136.361 ms
Request timeout for icmp_seq 108
Request timeout for icmp_seq 109
Request timeout for icmp_seq 110
Request timeout for icmp_seq 111
64 bytes from : icmp_seq=96 ttl=64 time=16613.049 ms
64 bytes from : icmp_seq=97 ttl=64 time=15611.720 ms
64 bytes from : icmp_seq=98 ttl=64 time=14607.843 ms
64 bytes from : icmp_seq=99 ttl=64 time=13603.671 ms
64 bytes from : icmp_seq=100 ttl=64 time=12599.121 ms
64 bytes from : icmp_seq=101 ttl=64 time=11594.289 ms
64 bytes from : icmp_seq=102 ttl=64 time=10589.932 ms
64 bytes from : icmp_seq=103 ttl=64 time=9585.828 ms
64 bytes from : icmp_seq=104 ttl=64 time=8582.492 ms
64 bytes from : icmp_seq=105 ttl=64 time=7580.545 ms
64 bytes from : icmp_seq=106 ttl=64 time=6577.218 ms
64 bytes from : icmp_seq=107 ttl=64 time=5573.081 ms
64 bytes from : icmp_seq=108 ttl=64 time=4569.669 ms
64 bytes from : icmp_seq=109 ttl=64 time=3564.700 ms
64 bytes from : icmp_seq=110 ttl=64 time=2564.257 ms
64 bytes from : icmp_seq=111 ttl=64 time=1563.785 ms
64 bytes from : icmp_seq=112 ttl=64 time=558.610 ms

@openwrt-bot
Copy link
Author

jeffsf:

This behavior is //**not **//being seen on ''master'' in early March, 2018 builds

Also, while the original commit is dated 2012, it was cherry-picked in November, 2017, from what I can tell.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant