[OpenWrt-Devel] [PATCH] mac80211: squelch WARN_ON_ONCE() caused by inbalanced set/clear of beacon enable it.
Yousong Zhou
yszhou4tech at gmail.com
Thu Jul 17 02:53:06 EDT 2014
Hi,
On 17 July 2014 12:06, Yousong Zhou <yszhou4tech at gmail.com> wrote:
> Hi,
>
> On 14 July 2014 07:39, Yousong Zhou <yszhou4tech at gmail.com> wrote:
>> A WARN_ON_ONCE() dump was triggered on a MT7620A based device with
>> following config. Ticket #17032 can be closed with this patch.
>
> There are other flaws I'd like to report here. With the same config,
> station can see the SSID on the air, but it can only connect to
> OpenWrt__TT successfully. When trying to connect to OpenWrt__T, the
> following message was read from logread.
>
> Sun Jul 13 23:41:17 2014 daemon.info hostapd: wlan0: STA
> 38:bc:1a:10:d8:8b IEEE 802.11: authenticated
> Sun Jul 13 23:41:17 2014 daemon.info hostapd: wlan0: STA
> 38:bc:1a:10:d8:8b IEEE 802.11: associated (aid 1)
> Sun Jul 13 23:41:19 2014 daemon.info hostapd: wlan0: STA
> 38:bc:1a:10:d8:8b IEEE 802.11: authenticated
> Sun Jul 13 23:41:20 2014 daemon.info hostapd: wlan0: STA
> 38:bc:1a:10:d8:8b IEEE 802.11: authenticated
> Sun Jul 13 23:41:20 2014 daemon.info hostapd: wlan0: STA
> 38:bc:1a:10:d8:8b IEEE 802.11: associated (aid 1)
> Sun Jul 13 23:41:21 2014 daemon.info hostapd: wlan0: STA
> 38:bc:1a:10:d8:8b IEEE 802.11: authenticated
> Sun Jul 13 23:41:21 2014 daemon.info hostapd: wlan0: STA
> 38:bc:1a:10:d8:8b IEEE 802.11: associated (aid 1)
> Sun Jul 13 23:41:21 2014 daemon.info hostapd: wlan0: STA
> 38:bc:1a:10:d8:8b IEEE 802.11: associated (aid 1)
> ...
>
Played with macaddr option in wifi-iface, looks like the above
failure was caused by duplicate BSSID in the air... I used a EEPROM
file from a previous thread and extract MAC address from there.
There is another problem though that if I specify option macaddr for
only one of the two wifi-iface sections, hostapd cannot startup
correctly. Below is the message from netifd/hostapd.
Sun Jul 13 22:29:31 2014 daemon.notice netifd: radio0 (3091):
Configuration file: /var/run/hostapd-phy0.conf
Sun Jul 13 22:29:31 2014 daemon.notice netifd: radio0 (3091): Using
interface wlan0 with hwaddr 02:0c:43:76:20:58 and ssid "OpenWrt__T"
Sun Jul 13 22:29:31 2014 daemon.notice netifd: radio0 (3091): Failed
to add BSS (BSSID=00:0c:43:76:20:58)
Sun Jul 13 22:29:31 2014 daemon.notice netifd: radio0 (3091):
Interface initialization failed
Sun Jul 13 22:29:31 2014 daemon.notice netifd: radio0 (3091): wlan0:
interface state UNINITIALIZED->DISABLED
Sun Jul 13 22:29:31 2014 daemon.notice netifd: radio0 (3091): wlan0: AP-DISABLED
Sun Jul 13 22:29:31 2014 daemon.notice netifd: radio0 (3091): wlan0:
Unable to setup interface.
Sun Jul 13 22:29:31 2014 daemon.notice netifd: radio0 (3091):
hostapd_free_hapd_data: Interface wlan0-1 wasn't started
Sun Jul 13 22:29:31 2014 daemon.notice netifd: radio0 (3091):
hostapd_free_hapd_data: Interface wlan0 wasn't started
Sun Jul 13 22:29:31 2014 daemon.notice netifd: radio0 (3091): Device
setup failed: HOSTAPD_START_FAILED
Regards.
yousong
>
> Regards.
>
> yousong
>
>>
>> config wifi-iface
>> option device radio0
>> option network lan
>> option mode ap
>> option ssid OpenWrt__T
>> option encryption none
>>
>> config wifi-iface
>> option device radio0
>> option network lan
>> option mode ap
>> option ssid OpenWrt__TT
>> option encryption none
>>
>> The dumped warning message.
>>
>> [ 23.890000] ------------[ cut here ]------------
>> [ 23.900000] WARNING: at /home/yousong/trunk-openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/compat-wireless-2014-05-22/drivers/net/wireless/rt2x00/rt2800lib.c:1092 rt2800_conf_tx+0x3c8/0x494 [rt2800lib]()
>> [ 23.940000] Modules linked in: rt2800soc rt2800pci rt2800mmio
>> rt2800lib pppoe ppp_async iptable_nat rt2x00soc rt2x00pci rt2x00mmio
>> rt2x00lib pppox ppp_generic nf_nat_ipv4 nf_conntrack_ipv4 mac80211
>> ipt_MASQUERADE cfg80211 xt_time xt_tcpudp xt_tcpmss xt_string
>> xt_statistic xt_state xt_recent xt_nat xt_multiport xt_mark xt_mac
>> xt_limit xt_length xt_hl xt_helper xt_ecn xt_dscp xt_conntrack
>> xt_connmark xt_connlimit xt_connbytes xt_comment xt_TCPMSS xt_REDIRECT
>> xt_LOG xt_HL xt_DSCP xt_CT xt_CLASSIFY ts_kmp ts_fsm ts_bm slhc
>> nf_nat_irc nf_nat_ftp nf_nat nf_defrag_ipv4 nf_conntrack_irc
>> nf_conntrack_ftp iptable_raw iptable_mangle iptable_filter ipt_REJECT
>> ipt_ECN ip_tables crc_itu_t crc_ccitt compat act_connmark act_skbedit
>> act_mirred em_u32 cls_u32 cls_tcindex cls_flow cls_route cls_fw sch_hfsc
>> sch_ingress ledtrig_usbdev ip6t_REJECT ip6table_raw ip6table_mangle
>> ip6table_filter ip6_tables x_tables nf_conntrack_ipv6 nf_conntrack
>> nf_defrag_ipv6 ifb ipv6 eeprom_93cx6 arc4 crypto_blkcipher leds_gpio
>> gpio_button_hotplug usbcore nls_base usb_common
>> [ 24.130000] CPU: 0 PID: 1502 Comm: hostapd Not tainted 3.10.44 #17
>> [ 24.140000] Stack : 00000000 00000000 00000000 00000000 80322eea 00000036 8390f818 83154140
>> 80282f60 802d31fb 000005de 80322694 8390f818 83154140 00000008 0000001c
>> 00000001 8001f00c 00000003 8001ca78 83173bd8 83154140 802847ec 82897794
>> 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
>> 00000000 00000000 00000000 00000000 00000000 00000000 00000000 82897720
>> ...
>> [ 24.210000] Call Trace:
>> [ 24.220000] [<800121b4>] show_stack+0x48/0x70
>> [ 24.220000] [<8001cb74>] warn_slowpath_common+0x78/0xa8
>> [ 24.240000] [<8001cc2c>] warn_slowpath_null+0x18/0x24
>> [ 24.250000] [<83164078>] rt2800_conf_tx+0x3c8/0x494 [rt2800lib]
>> [ 24.260000]
>> [ 24.260000] ---[ end trace ff7bf97509953be2 ]---
>> ---
>> .../911-rt2x00-rt2x00lib-fix-beacon-bit-balance.patch | 11 +++++++++++
>> 1 file changed, 11 insertions(+)
>> create mode 100644 package/kernel/mac80211/patches/911-rt2x00-rt2x00lib-fix-beacon-bit-balance.patch
>>
>> diff --git a/package/kernel/mac80211/patches/911-rt2x00-rt2x00lib-fix-beacon-bit-balance.patch b/package/kernel/mac80211/patches/911-rt2x00-rt2x00lib-fix-beacon-bit-balance.patch
>> new file mode 100644
>> index 0000000..9154bda
>> --- /dev/null
>> +++ b/package/kernel/mac80211/patches/911-rt2x00-rt2x00lib-fix-beacon-bit-balance.patch
>> @@ -0,0 +1,11 @@
>> +--- a/drivers/net/wireless/rt2x00/rt2x00mac.c
>> ++++ b/drivers/net/wireless/rt2x00/rt2x00mac.c
>> +@@ -651,7 +651,7 @@ void rt2x00mac_bss_info_changed(struct i
>> + * Upload beacon to the H/W. This is only required on
>> + * USB devices. PCI devices fetch beacons periodically.
>> + */
>> +- if (rt2x00_is_usb(rt2x00dev))
>> ++ if (!rt2x00_is_pci(rt2x00dev))
>> + rt2x00queue_update_beacon(rt2x00dev, vif);
>> +
>> + if (rt2x00dev->intf_beaconing == 1) {
>> --
>> 1.7.10.4
>>
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list