This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/WL1835MOD: Repeated Wi-Fi module reset when enabling station and mesh point interface simultaneously

Part Number: WL1835MOD
Other Parts Discussed in Thread: WL1835

Tool/software: Linux

Hi,


I am trying to test mesh functionality using Wl1835 module. I am using Linux Kernel version 4.1.15 and Wi-Fi driver built using wl18xx-utils (version R8.7_SP2). I was able to test mesh point mode successfully. But while testing Mesh portal mode by running mesh and station interface on the device, hardware recovery occurs. When I try to ping, the hardware recovery keeps occurring or at times Wi-Fi stops working.

Could anyone suggest what could be the issue ?

I am enabling station mode in the node that is supposed to act as Mesh Portal first. Then I am enabling mesh interface in the node which is supposed to act as Mesh point and then I am enabling the mesh interface on the Mesh Portal node.

Both the station and mesh interface are run on the same channel.

The wpa_supplicant conf file used for station mode is:

ctrl_interface=/var/run/wpa_supplicant
#ctrl_interface_group=0
update_config=1
eapol_version=1

network={
ssid="xxxxx"
psk="12345abcde"
scan_ssid=1
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
group=CCMP TKIP
}

The wpa_supplicant conf file used for mesh mode is:

ctrl_interface=/var/run/wpa_supplicant
update_config=1
eapol_version=1
max_peer_links=10
mesh_max_inactivity=300
p2p_disabled=1
network={
ssid="MESHNET"
mode=5
frequency=2437
key_mgmt=NONE
}

Attached logs for your reference.

8231.wifi_log.txt
root@xyz:/home/ganesh# insmod /home/ganesh/output/compat.ko
[   82.537073] Loading modules backported from Linux version R8.7_SP2-0-g5c94cc5
[   82.544594] Backport generated by backports.git R8.7_SP2-0-gd4777ef
root@xyz:/home/ganesh#
root@xyz:/home/ganesh# insmod /home/ganesh/output/cfg80211.ko
root@xyz:/home/ganesh# [   95.122959] cfg80211: World regulatory domain updated:
[   95.128190] cfg80211:  DFS Master region: unset
[   95.132564] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
[   95.142933] cfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
[   95.150980] cfg80211:   (2457000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
[   95.159198] cfg80211:   (2474000 KHz - 2494000 KHz @ 20000 KHz), (N/A, 2000 mBm), (N/A)
[   95.167235] cfg80211:   (5170000 KHz - 5250000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (N/A)
[   95.176758] cfg80211:   (5250000 KHz - 5330000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (0 s)
[   95.186264] cfg80211:   (5490000 KHz - 5730000 KHz @ 160000 KHz), (N/A, 2000 mBm), (0 s)
[   95.194388] cfg80211:   (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 2000 mBm), (N/A)
[   95.202405] cfg80211:   (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 0 mBm), (N/A)

root@xyz:/home/ganesh#
root@xyz:/home/ganesh# insmod output/mac80211.ko
root@xyz:/home/ganesh#
root@xyz:/home/ganesh# insmod output/wlcore_sdio.ko
root@xyz:/home/ganesh#
root@xyz:/home/ganesh# insmod output/wlcore.ko      
root@xyz:/home/ganesh#
root@xyz:/home/ganesh#
root@xyz:/home/ganesh# insmod output/wl18xx.ko
root@xyz:/home/ganesh# [  117.772553] wlcore: wl18xx HW: 183x or 180x, PG 2.2 (ROM 0x11)
[  117.788760] wlcore: loaded
[  117.791650] wlcore: driver version: R8.7_SP2

root@xyz:/home/ganesh#
root@xyz:/home/ganesh# killall -9 wpa_supplicant
killall: wpa_supplicant: no process killed
root@xyz:/home/ganesh# rfkill unblock all
root@xyz:/home/ganesh#

root@xyz:/home/ganesh# wpa_supplicant  -e/usr/share/wl18xx/entropy.bin -iwlan0 -Dnl80211 -c /etc/wpa_supplicant.conf &
[1] 959
root@xyz:/home/ganesh# random: Could not open entropy file /usr/share/wl18xx/entropy.bin for writing
Successfully initialized wpa_supplicant
[   64.587485] wlcore: PHY firmware version: Rev 8.2.0.0.240
[   64.697226] wlcore: firmware booted (Rev 8.9.0.0.76)
[   64.715117] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
p2p-dev-wlan0: CTRL-EVENT-REGDOM-CHANGE init=BEACON_HINT type=UNKNOWN

root@xyz:/home/ganesh#
root@xyz:/home/ganesh#
root@xyz:/home/ganesh# wlan0: SME: Trying to authenticat[   78.288699] wlan0: authenticate with fc:0a:81:1d:84:20
e with fc:0a:81:1d:84:20 (SSID='econsys' freq=2462 MHz)
[   78.300926] wlan0: send auth to fc:0a:81:1d:84:20 (try 1/3)
[   78.329560] wlan0: authenticated
wlan0: Trying to associate with fc:0a:81:1d:84:20 (SSID='econsys' freq=2462 MHz)
[   78.343286] wlan0: associate with fc:0a:81:1d:84:20 (try 1/3)
[   78.355056] wlan0: RX AssocResp from fc:0a:81:1d:84:20 (capab=0x411 status=0 aid=8)
[   78.370712] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[   78.377816] wlan0: associated
wlan0: Associated with fc:0a:81:1d:84:20
wlan0: CTRL-EVENT-SUBNET-STATUS-UPDATE status=0
wlan0: WPA: Key negotiation completed with fc:0a:81:1d:84:20 [PTK=CCMP GTK=CCMP]
wlan0: CTRL-EVENT-CONNECTED - Connection to fc:0a:81:1d:84:20 completed [id=0 id_str=]
[   79.113464] cfg80211: Regulatory domain changed to country: IN
[   79.119358] cfg80211:  DFS Master region: JP
[   79.123563] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
[   79.133470] cfg80211:   (2402000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
[   79.141531] cfg80211:   (5170000 KHz - 5250000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (N/A)
[   79.151041] cfg80211:   (5250000 KHz - 5330000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (0 s)
[   79.160566] cfg80211:   (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 2000 mBm), (N/A)
[   79.169482] wlcore: Association completed.
p2p-dev-wlan0: CTRL-EVENT-REGDOM-CHANGE init=COUNTRY_IE type=COUNTRY alpha2=IN

root@xyz:/home/ganesh# ping 192.168.7.1                                                                                                                              
PING 192.168.7.1 (192.168.7.1): 56 data bytes
64 bytes from 192.168.7.1: seq=0 ttl=255 time=42.657 ms
64 bytes from 192.168.7.1: seq=1 ttl=255 time=16.568 ms
^C
--- 192.168.7.1 ping statistics ---
50 packets transmitted, 2 packets received, 96% packet loss
round-trip min/avg/max = 16.568/29.612/42.657 ms
root@xyz:/home/ganesh#



root@xyz:/home/ganesh# iw phy phy0 interface add mesh0 type mp

root@xyz:/home/ganesh# wpa_supplicant -e/usr/share/wl18xx/entropy.bin -imesh0 -Dnl80211 -c /etc/mesh_supplicant.conf &
[2] 1015
root@xyz:/home/ganesh# random: Could not open entropy file /usr/share/wl18xx/entropy.bin for writing
Successfully initialized wpa_supplicant
[  808.231627] IPv6: ADDRCONF(NETDEV_UP): mesh0: link is not ready
Using interface mesh0 with hwaddr 5e:31:3e:e2:30:cf and ssid ""
mesh0: interface state UNINITIALI[  809.769315] wlcore: down
ZED->ENABLED
AP-ENABLED
[  809.813165] IPv6: ADDRCONF(NETDEV_UP): mesh0: link is not ready
mesh0: joining mesh MESHNET
[  809.827340] IPv6: ADDRCONF(NETDEV_CHANGE): mesh0: link becomes ready
mesh0: CTRL-EVENT-CONNECTED - Connection to 00:00:00:00:00:00 completed [id=0 id_str=]
mesh0: MESH-GROUP-STARTED ssid="MESHNET" id=0

root@xyz:/home/ganesh# mesh0: mesh plink with 80:30:dc:11:b2:38 established
mesh0: ===> PLINKS NUMBER: 1
mesh0: MESH-PEER-CONNECTED 80:30:dc:11:b2:38
random: Could not open entropy file /usr/share/wl18xx/entropy.bin for writing

root@xyz:/home/ganesh#
root@xyz:/home/ganesh# iw phy phy0 set rts 0
root@xyz:/home/ganesh#
root@xyz:/home/ganesh# ifconfig mesh0 10.20.30.122 netmask 255.255.255.0                                                                                             
root@xyz:/home/ganesh#
root@xyz:/home/ganesh#
root@xyz:/home/ganesh# ping 192.168.7.193
PING 192.168.7.193 (192.168.7.193): 56 data bytes
64 bytes from 192.168.7.193: seq=0 ttl=64 time=51.689 ms
64 bytes from 192.168.7.193: seq=1 ttl=64 time=37.625 ms
^C
--- 192.168.7.193 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 37.625/44.657/51.689 ms
root@xyz:/home/ganesh#
root@xyz:/home/ganesh#
root@xyz:/home/ganesh#
root@xyz:/home/ganesh# echo 1 > /proc/sys/net/ipv4/ip_forward                                                                                                        
root@xyz:/home/ganesh#

[ 8465.150973] wlcore: Scan completed due to error.
[ 8465.155677] ------------[ cut here ]------------
[ 8465.160450] WARNING: CPU: 0 PID: 1021 at /home/ganeshraja/products/xyz_micro/git_working_copy/tk1_wifi_driver/linux_module_drivers/wl12xx/drivers/net/wireless/ti/wlcor)
[ 8465.182285] Modules linked in: wl18xx(O) wlcore(O) wlcore_sdio(O) mac80211(O) cfg80211(O) compat(O)
[ 8465.191493] CPU: 0 PID: 1021 Comm: kworker/u8:3 Tainted: G           O    4.1.15-00014-g824bd34 #2
[ 8465.200502] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
[ 8465.207130] Workqueue: phy0 wl1271_scan_complete_work [wlcore]
[ 8465.213017] [<80016858>] (unwind_backtrace) from [<8001265c>] (show_stack+0x10/0x14)
[ 8465.220822] [<8001265c>] (show_stack) from [<8076c0b8>] (dump_stack+0x80/0xc0)
[ 8465.228082] [<8076c0b8>] (dump_stack) from [<800353f8>] (warn_slowpath_common+0x80/0xb0)
[ 8465.236219] [<800353f8>] (warn_slowpath_common) from [<800354c4>] (warn_slowpath_null+0x1c/0x24)
[ 8465.245079] [<800354c4>] (warn_slowpath_null) from [<7f0ec4a4>] (wl12xx_queue_recovery_work.part.8+0x58/0x5c [wlcore])
[ 8465.255912] [<7f0ec4a4>] (wl12xx_queue_recovery_work.part.8 [wlcore]) from [<7f0ff2a8>] (wl1271_scan_complete_work+0x100/0x104 [wlcore])
[ 8465.268256] [<7f0ff2a8>] (wl1271_scan_complete_work [wlcore]) from [<800482d4>] (process_one_work+0x124/0x334)
[ 8465.278314] [<800482d4>] (process_one_work) from [<80048530>] (worker_thread+0x4c/0x47c)
[ 8465.286449] [<80048530>] (worker_thread) from [<8004d180>] (kthread+0xe0/0xf8)
[ 8465.293720] [<8004d180>] (kthread) from [<8000f2a8>] (ret_from_fork+0x14/0x2c)
[ 8465.300981] ---[ end trace 347d48078b76455e ]---
[ 8465.305714] wlcore: Hardware recovery in progress. FW ver: Rev 8.9.0.0.76
[ 8465.320579] wlcore: pc: 0x0, hint_sts: 0x00000060 count: 1
[ 8465.326456] wlcore: down
[ 8465.329020] wlcore: down
[ 8465.331568] wlcore: down
[ 8465.336370] ieee80211 phy0: Hardware restart was requested
[ 8465.809722] wlcore: PHY firmware version: Rev 8.2.0.0.240
[ 8466.104883] wlcore: firmware booted (Rev 8.9.0.0.76)
[ 8466.182103] wlcore: Association completed.
mesh0: mesh plink with 80:30:dc:11:b2:38 established
mesh0: ===> PLINKS NUMBER: 1
mesh0: MESH-PEER-CONNECTED 80:30:dc:11:b2:38

root@xyz:/home/ganesh#
root@xyz:/home/ganesh# ping 192.168.7.193
PING 192.168.7.193 (192.168.7.193): 56 data bytes

--- 192.168.7.193 ping statistics ---
13 packets transmitted, 0 packets received, 100% packet loss
^Croot@xyz:/home/ganesh#
root@xyz:/home/ganesh# ping 192.168.7.1  
PING 192.168.7.1 (192.168.7.1): 56 data bytes
^C
--- 192.168.7.1 ping statistics ---
5 packets transmitted, 0 packets received, 100% packet loss
root@xyz:/home/ganesh#
root@xyz:/home/ganesh#
root@xyz:/home/ganesh# ifconfig
eth0      Link encap:Ethernet  HWaddr 5e:5c:07:c6:a3:29  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:5 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:560 (560.0 B)  TX bytes:560 (560.0 B)

mesh0     Link encap:Ethernet  HWaddr 5e:31:3e:e2:30:cf  
          inet addr:10.20.30.122  Bcast:10.20.30.255  Mask:255.255.255.0
          inet6 addr: fe80::5c31:3eff:fee2:30cf/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:51 errors:0 dropped:0 overruns:0 frame:0
          TX packets:54 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:4856 (4.7 KiB)  TX bytes:10608 (10.3 KiB)

wlan0     Link encap:Ethernet  HWaddr 5c:31:3e:e2:30:cf  
          inet addr:192.168.7.122  Bcast:192.168.7.255  Mask:255.255.255.0
          inet6 addr: fe80::5e31:3eff:fee2:30cf/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:372418 errors:0 dropped:42 overruns:0 frame:0
          TX packets:4833 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:39046893 (37.2 MiB)  TX bytes:1055618 (1.0 MiB)

root@xyz:/home/ganesh#


root@xyz:/home/ganesh#
root@xyz:/home/ganesh# [ 8822.181172] wlcore: Scan completed due to error.
[ 8822.185876] ------------[ cut here ]------------
[ 8822.190648] WARNING: CPU: 0 PID: 80 at /home/ganeshraja/products/xyz_micro/git_working_copy/tk1_wifi_driver/linux_module_drivers/wl12xx/drivers/net/wireless/ti/wlcore/)
[ 8822.211770] Modules linked in: wl18xx(O) wlcore(O) wlcore_sdio(O) mac80211(O) cfg80211(O) compat(O)
[ 8822.220970] CPU: 0 PID: 80 Comm: kworker/u8:1 Tainted: G        W  O    4.1.15-00014-g824bd34 #2
[ 8822.229803] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
[ 8822.236427] Workqueue: phy0 wl1271_scan_complete_work [wlcore]
[ 8822.242314] [<80016858>] (unwind_backtrace) from [<8001265c>] (show_stack+0x10/0x14)
[ 8822.250119] [<8001265c>] (show_stack) from [<8076c0b8>] (dump_stack+0x80/0xc0)
[ 8822.257378] [<8076c0b8>] (dump_stack) from [<800353f8>] (warn_slowpath_common+0x80/0xb0)
[ 8822.265516] [<800353f8>] (warn_slowpath_common) from [<800354c4>] (warn_slowpath_null+0x1c/0x24)
[ 8822.274377] [<800354c4>] (warn_slowpath_null) from [<7f0ec4a4>] (wl12xx_queue_recovery_work.part.8+0x58/0x5c [wlcore])
[ 8822.285199] [<7f0ec4a4>] (wl12xx_queue_recovery_work.part.8 [wlcore]) from [<7f0ff2a8>] (wl1271_scan_complete_work+0x100/0x104 [wlcore])
[ 8822.297548] [<7f0ff2a8>] (wl1271_scan_complete_work [wlcore]) from [<800482d4>] (process_one_work+0x124/0x334)
[ 8822.307601] [<800482d4>] (process_one_work) from [<80048530>] (worker_thread+0x4c/0x47c)
[ 8822.315730] [<80048530>] (worker_thread) from [<8004d180>] (kthread+0xe0/0xf8)
[ 8822.322971] [<8004d180>] (kthread) from [<8000f2a8>] (ret_from_fork+0x14/0x2c)
[ 8822.330257] ---[ end trace 347d48078b76455f ]---
[ 8822.334978] wlcore: Hardware recovery in progress. FW ver: Rev 8.9.0.0.76
[ 8822.349880] wlcore: pc: 0x0, hint_sts: 0x00000060 count: 2
[ 8822.355769] wlcore: down
[ 8822.358331] wlcore: down
[ 8822.360877] wlcore: down
[ 8822.366100] ieee80211 phy0: Hardware restart was requested
[ 8822.836569] wlcore: PHY firmware version: Rev 8.2.0.0.240
[ 8823.118513] wlcore: firmware booted (Rev 8.9.0.0.76)
[ 8823.178964] wlcore: Association completed.
mesh0: mesh plink with 80:30:dc:11:b2:38 established
mesh0: ===> PLINKS NUMBER: 1
mesh0: MESH-PEER-CONNECTED 80:30:dc:11:b2:38

Thanks,

Partha