IMX8 WILC3000 WiFi driver bringup

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

IMX8 WILC3000 WiFi driver bringup

2,705 Views
love1ymano
Contributor II

Hi,
In our custom board based on IMX8MN, we are facing issue in WILC3000 module WiFi driver bring up. 
I'm using linux kernel version 5.4.24-2.1.0+gbabac008e5cf. We are getting below error log for 9 out of 10 times. 


#insmod wilc-sdio.ko enable_oob_interrupt=1
[ 89.762954] wilc_sdio: module is from the staging directory, the quality is unknown, you have been warned.
[ 89.835564] wilc_sdio mmc0:0001:1: Enable OOB interrupt 1
[ 89.841168] Registering wifi device
[ 89.844708] Max scan ids= 10,Max scan IE len= 1000,Signal Type= 1,Interface Modes= 844
[ 89.853127] Initializing Locks ...
[ 89.862402] wilc_sdio mmc0:0001:1: Driver Initializing success
/#
/#
/# ifconfig wlan0 up
[ 112.311292] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_mac_open]MAC OPEN[0000000043059247] wlan0
[ 112.319937] WILC POWER UP
[ 112.322631] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_init_host_int]Host[0000000043059247][00000000adf1b577]
[ 112.332364] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_mac_open]*** re-init ***
[ 112.339462] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_wlan_init]Initializing WILC_Wlan
[ 112.347280] wilc_sdio mmc0:0001:1: SDIO speed: 50000000
[ 112.359074] wilc_sdio mmc0:0001:1: chipid 003000d0
[ 112.364520] wilc_sdio mmc0:0001:1 wlan0: INFO [init_chip]Bootrom sts = d
[ 112.371412] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_wlan_initialize]WILC Initialization done
[ 112.379921] wilc_sdio mmc0:0001:1 wlan0: INFO [wlan_initialize_threads]Initializing Threads ...
[ 112.388655] wilc_sdio mmc0:0001:1 wlan0: INFO [wlan_initialize_threads]Creating kthread for transmission
[ 112.398544] wilc_sdio mmc0:0001:1 wlan0: INFO [wlan_initialize_threads]Creating kthread for Debugging
[ 112.408238] wilc_sdio mmc0:0001:1 wlan0: INFO [init_irq]IRQ request succeeded IRQ-NUM= 87
[ 112.416517] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_wlan_get_firmware]Detect chip WILC3000
[ 112.424822] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_wlan_get_firmware]loading firmware mchp/wilc3000_wifi_firmware.bin
[ 112.435560] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_wlan_get_firmware]WLAN firmware: mchp/wilc3000_wifi_firmware.bin
[ 112.449581] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_firmware_download]Downloading Firmware ...
[ 112.458266] wilc_wlan_firmware_downloadDownloading firmware size = 140208
[ 112.473962] wilc_wlan_firmware_download Offset = 120764
[ 112.480922] wilc_wlan_firmware_download Offset = 140208
[ 112.486195] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_firmware_download]Download Succeeded
[ 112.494403] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_start_firmware]Starting Firmware ...
[ 112.503664] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_start_firmware]Waiting for FW to get ready ...
[ 112.602165] cfg_indicate_rx: Info message received
[ 112.607045] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_start_firmware]Firmware successfully started
[ 112.624071] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_wlan_initialize]WILC Firmware Ver = WILC_WIFI_FW_REL_15_4_1 Build: 12095
[ 112.635318] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_init_fw_config]Start configuring Firmware
[ 112.762944] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_mac_open]Mac address: f8:f0:05:c0:2e:82
[ 112.771385] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Setting mcast List with count = 1.
[ 112.780995] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[0]: 33:33:00:00:00:01
[ 112.791195] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Setting mcast List with count = 2.
[ 112.800951] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[0]: 33:33:00:00:00:01
[ 112.809998] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[1]: 01:00:5e:00:00:01
[ 112.819165] wilc_sdio mmc0:0001:1 wlan0: INFO [set_power_mgmt]dev [wlan0]
[ 112.826044] wilc_sdio mmc0:0001:1 wlan0: INFO [set_power_mgmt] Power save Enabled= 1 , TimeOut = -1
[ 112.850144] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Setting mcast List with count = 3.
[ 112.859770] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[0]: 33:33:00:00:00:01
[ 112.868792] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[1]: 01:00:5e:00:00:01
root@wabcoccu:/# [ 112.877813] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[2]: 33:33:ff:c0:2e:82
[ 112.896839] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000004
[ 112.905657] Mem abort info:
[ 112.908451] ESR = 0x96000004
[ 112.911534] EC = 0x25: DABT (current EL), IL = 32 bits
[ 112.916878] SET = 0, FnV = 0
[ 112.919933] EA = 0, S1PTW = 0
[ 112.923093] Data abort info:
[ 112.925991] ISV = 0, ISS = 0x00000004
[ 112.929840] CM = 0, WnR = 0
[ 112.932836] user pgtable: 4k pages, 48-bit VAs, pgdp=00000000452ca000
[ 112.939300] [0000000000000004] pgd=0000000000000000
[ 112.944207] Internal error: Oops: 96000004 [#1] PREEMPT SMP
[ 112.949783] Modules linked in: wilc_sdio(C) pwrseq_wilc
[ 112.955024] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G C 5.4.24-2.1.0+gbabac008e5cf #1
[ 112.964068] Hardware name: WABCO Connectivity Core (DT)
[ 112.969294] pstate: 80000005 (Nzcv daif -PAN -UAO)
[ 112.974107] pc : pfifo_fast_dequeue+0x1f8/0x280
[ 112.978639] lr : __qdisc_run+0x78/0x5f0
[ 112.982474] sp : ffff80001000b9a0
[ 112.985786] x29: ffff80001000b9a0 x28: ffff0000099df000
[ 112.991098] x27: 00000000ffffffa6 x26: 0000000000000001
[ 112.996409] x25: ffff000008091c00 x24: ffff000008091c00
[ 113.001721] x23: ffff0000099c58e8 x22: ffff0000099c5880
[ 113.007032] x21: 000000000000003f x20: ffff000009fee780
[ 113.012345] x19: ffff0000099c5800 x18: 0000000000000014
[ 113.017656] x17: 00000000f7e7f5bd x16: 000000002bfa9b31
[ 113.022968] x15: 000000000092d223 x14: 003d0a4b11a6d028
[ 113.028279] x13: 00455fef42f09cf0 x12: 0000000000000001
[ 113.033591] x11: 0000000000000010 x10: 0000000000000000
[ 113.038902] x9 : ffff0000099c5940 x8 : 0000000000000002
[ 113.044212] x7 : 0000000000000000 x6 : 0000000000000001
[ 113.049524] x5 : 0000000000000000 x4 : 0000000000000000
[ 113.054835] x3 : ffff7ffffa995000 x2 : 0000000000000000
[ 113.060146] x1 : 00007dffc55c0c00 x0 : ffff000009fee780
[ 113.065459] Call trace:
[ 113.067910] pfifo_fast_dequeue+0x1f8/0x280
[ 113.072093] __qdisc_run+0x78/0x5f0
[ 113.075589] __dev_queue_xmit+0x51c/0x710
[ 113.079598] dev_queue_xmit+0x10/0x18
[ 113.083268] neigh_resolve_output+0xec/0x198
[ 113.087544] ip6_finish_output2+0x23c/0x710
[ 113.091730] __ip6_finish_output+0x130/0x170
[ 113.095998] ip6_output+0x6c/0x1c8
[ 113.099404] NF_HOOK.constprop.0+0xd8/0xe8
[ 113.103499] mld_sendpack+0x22c/0x400
[ 113.107161] mld_ifc_timer_expire+0x1e8/0x2f0
[ 113.111525] call_timer_fn.isra.0+0x20/0x78
[ 113.115706] run_timer_softirq+0x1a0/0x408
[ 113.119807] __do_softirq+0x120/0x23c
[ 113.123477] irq_exit+0xb8/0xd8
[ 113.126625] __handle_domain_irq+0x64/0xb8
[ 113.130719] gic_handle_irq+0x5c/0x148
[ 113.134467] el1_irq+0xb8/0x180
[ 113.137616] cpuidle_enter_state+0x84/0x360
[ 113.141800] cpuidle_enter+0x34/0x48
[ 113.145382] call_cpuidle+0x18/0x38
[ 113.148869] do_idle+0x1e0/0x280
[ 113.152098] cpu_startup_entry+0x24/0x40
[ 113.156027] secondary_start_kernel+0x154/0x190
[ 113.160565] Code: b940ba84 b9402a87 8b040042 f9402a61 (79400844)
[ 113.166678] ---[ end trace fa6ca4c3949e6505 ]---
[ 113.171302] Kernel panic - not syncing: Fatal exception in interrupt
[ 113.177658] SMP: stopping secondary CPUs
[ 113.181586] Kernel Offset: disabled
[ 113.185077] CPU features: 0x0002,2000200c
[ 113.189086] Memory Limit: none
[ 113.192152] ---[ end Kernel panic - not syncing: Fatal exception in interrupt ]---


But sometimes wlan0 interface was up properly, but it was not stable and kernel was keep on getting crash. Also the kernel crash logs were not same all the times after wlan0 interface up. 

# modprobe wilc-sdio enable_oob_interrupt=1
[ 83.151693] wilc_sdio: module is from the staging directory, the quality is unknown, you have been warned.
[ 83.176095] Registering wifi device
[ 83.179656] Max scan ids= 10,Max scan IE len= 1000,Signal Type= 1,Interface Modes= 844
[ 83.188258] Initializing Locks ...
[ 83.196076] wilc_sdio mmc0:0001:1: Driver Initializing success
# ifconfig wlan0 up
[ 90.825670] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_mac_open]MAC OPEN[000000006b0ea9d9] wlan0
[ 90.834273] WILC POWER UP
[ 90.836976] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_init_host_int]Host[000000006b0ea9d9][00000000c14eab69]
[ 90.846732] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_mac_open]*** re-init ***
[ 90.853859] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_wlan_init]Initializing WILC_Wlan
[ 90.861754] wilc_sdio mmc0:0001:1: SDIO speed: 50000000
[ 90.873933] wilc_sdio mmc0:0001:1: chipid 003000d0
[ 90.879246] wilc_sdio mmc0:0001:1 wlan0: INFO [init_chip]Bootrom sts = d
[ 90.886233] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_wlan_initialize]WILC Initialization done
[ 90.894720] wilc_sdio mmc0:0001:1 wlan0: INFO [wlan_initialize_threads]Initializing Threads ...
[ 90.903484] wilc_sdio mmc0:0001:1 wlan0: INFO [wlan_initialize_threads]Creating kthread for transmission
[ 90.913365] wilc_sdio mmc0:0001:1 wlan0: INFO [wlan_initialize_threads]Creating kthread for Debugging
[ 90.923238] wilc_sdio mmc0:0001:1 wlan0: INFO [init_irq]IRQ request succeeded IRQ-NUM= 87
[ 90.931507] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_wlan_get_firmware]Detect chip WILC3000
[ 90.939823] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_wlan_get_firmware]loading firmware mchp/wilc3000_wifi_firmware.bin
[ 90.950564] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_wlan_get_firmware]WLAN firmware: mchp/wilc3000_wifi_firmware.bin
[ 90.964860] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_firmware_download]Downloading Firmware ...
[ 90.973559] wilc_wlan_firmware_downloadDownloading firmware size = 140208
[ 90.991822] wilc_wlan_firmware_download Offset = 120764
[ 90.998704] wilc_wlan_firmware_download Offset = 140208
[ 91.003983] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_firmware_download]Download Succeeded
[ 91.012205] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_start_firmware]Starting Firmware ...
[ 91.025867] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_start_firmware]Waiting for FW to get ready ...
[ 91.125721] cfg_indicate_rx: Info message received
[ 91.130932] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_start_firmware]Firmware successfully started
[ 91.154189] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_wlan_initialize]WILC Firmware Ver = WILC_WIFI_FW_REL_15_4_1 Build: 12095
[ 91.165450] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_init_fw_config]Start configuring Firmware
[ 91.315367] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_mac_open]Mac address: f8:f0:05:c0:2e:82
[ 91.323799] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Setting mcast List with count = 1.
[ 91.333411] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[0]: 33:33:00:00:00:01
[ 91.342946] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Setting mcast List with count = 2.
[ 91.352728] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[0]: 33:33:00:00:00:01
[ 91.361812] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[1]: 01:00:5e:00:00:01
[ 91.370975] wilc_sdio mmc0:0001:1 wlan0: INFO [set_power_mgmt]dev [wlan0]
[ 91.377881] wilc_sdio mmc0:0001:1 wlan0: INFO [set_power_mgmt] Power save Enabled= 0 , TimeOut = -1
[ 91.423242] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Setting mcast List with count = 3.
[ 91.432986] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[0]: 33:33:00:00:00:01
# [ 91.442082] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[1]: 01:00:5e:00:00:01
[ 91.452594] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[2]: 33:33:ff:c0:2e:82

#
# [ 92.576500] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Setting mcast List with count = 4.
[ 92.586192] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[0]: 33:33:00:00:00:01
[ 92.595216] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[1]: 01:00:5e:00:00:01
[ 92.604252] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[2]: 33:33:ff:c0:2e:82
[ 92.613255] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[3]: 33:33:00:00:00:fb
[ 92.622984] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Setting mcast List with count = 5.
[ 92.632652] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[0]: 33:33:00:00:00:01
[ 92.641684] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[1]: 01:00:5e:00:00:01
[ 92.650695] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[2]: 33:33:ff:c0:2e:82
[ 92.659684] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[3]: 33:33:00:00:00:fb
[ 92.668691] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[4]: 33:33:00:01:00:03

#
#
#
# wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf
Successfully initialized wpa_supplicant
[ 108.017413] wilc_sdio mmc0:0001:1 wlan0: INFO [get_tx_power]Got tx power 18
[ 108.040495] wilc_sdio mmc0:0001:1 wlan0: INFO [get_tx_power]Got tx power 18
[ 108.060445] wilc_sdio mmc0:0001:1 wlan0: INFO [get_tx_power]Got tx power 18
[ 108.078368] wilc_sdio mmc0:0001:1 wlan0: INFO [get_tx_power]Got tx power 18
rfkill: Cannot open RFKILL control device
[ 108.526698] wilc_sdio mmc0:0001:1 wlan0: INFO [get_tx_power]Got tx power 18
[ 108.534987] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Setting mcast List with count = 4.
[ 108.544738] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[0]: 33:33:00:00:00:01
[ 108.553802] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[1]: 01:00:5e:00:00:01
[ 108.562805] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[2]: 33:33:ff:c0:2e:82
[ 108.571838] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[3]: 33:33:00:00:00:fb
[ 108.600377] wilc_sdio mmc0:0001:1 wlan0: INFO [flush_pmksa]Flushing PMKID key values
# [ 108.709822] wilc_sdio mmc0:0001:1 wlan0: INFO [scan]Requested num of channel 14
[ 108.717207] wilc_sdio mmc0:0001:1 wlan0: INFO [scan]Scan Request IE len = 143
[ 108.724474] wilc_sdio mmc0:0001:1 wlan0: INFO [scan]Number of SSIDs 1
[ 108.730980] wilc_sdio mmc0:0001:1 wlan0: INFO [scan]Trigger Scan Request
[ 109.497297] cfg_indicate_rx: Scan Notification Received
[ 109.502598] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_scan_complete_received]Scan notification received
[ 109.512184] wilc_sdio mmc0:0001:1 wlan0: INFO [cfg_scan_result]Scan Done[000000006b0ea9d9]

#
#
# [ 110.355622] wilc_sdio mmc0:0001:1 wlan0: INFO [connect]Connecting to SSID [manoj] on netdev [000000006b0ea9d9] host if [9a38c00]
[ 110.367239] wilc_sdio mmc0:0001:1 wlan0: INFO [connect]Adding key with cipher group fac04
[ 110.375468] wilc_sdio mmc0:0001:1 wlan0: INFO [connect]Authentication Type = 0
[ 110.382755] wilc_sdio mmc0:0001:1 wlan0: INFO [connect]In OPEN SYSTEM
[ 110.389269] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_wlan_set_bssid]set bssid [06:bd:bf:2b:da:80]
[ 110.398159] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_send_connect_wid]send HOST_IF_WAITING_CONN_RESP
[ 110.496677] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_send_connect_wid]set HOST_IF_WAITING_CONN_RESP
[ 110.809045] cfg_indicate_rx: Info message received
[ 110.813984] wilc_sdio mmc0:0001:1 wlan0: INFO [handle_rcvd_gnrl_async_info]Current State = 3,Received state = 1
[ 110.836048] wilc_sdio mmc0:0001:1 wlan0: INFO [cfg_connect_result]Connection response received=1 connect_stat[0]
[ 110.846261] wilc_sdio mmc0:0001:1 wlan0: INFO [cfg_connect_result]Connection Successful: BSSID: 6bdbf2bda80
[ 110.856086] wilc_sdio mmc0:0001:1 wlan0: INFO [cfg_connect_result]Association request info elements length = 35
[ 110.866252] wilc_sdio mmc0:0001:1 wlan0: INFO [cfg_connect_result]Association response info elements length = 111
[ 110.876972] NOHZ: local_softirq_pending 08
[ 110.904644] NOHZ: local_softirq_pending 08
[ 110.910094] wilc_sdio mmc0:0001:1 wlan0: INFO [add_key]Adding key with cipher suite = fac04
[ 110.918542] wilc_sdio mmc0:0001:1 wlan0: INFO [add_key]92c2300 4bc8000 0
[ 110.925275] wilc_sdio mmc0:0001:1 wlan0: INFO [add_key]key 7c c1 f1
[ 110.982357] wilc_sdio mmc0:0001:1 wlan0: INFO [add_key]Adding key with cipher suite = fac04
[ 110.990840] wilc_sdio mmc0:0001:1 wlan0: INFO [add_key]92c2300 4bc8000 1
[ 110.997577] wilc_sdio mmc0:0001:1 wlan0: INFO [add_key]key 3a ad 57
[ 111.041817] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Setting mcast List with count = 5.
[ 111.051481] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[0]: 33:33:00:00:00:01
[ 111.060500] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[1]: 01:00:5e:00:00:01
[ 111.069476] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[2]: 33:33:ff:c0:2e:82
[ 111.078447] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[3]: 33:33:00:00:00:fb
[ 111.087420] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[4]: 33:33:00:01:00:03

#
#
#
# ifconfig
wlan0 Link encap:Ethernet HWaddr F8:F0:05:C0:2E:82
inet6 addr: fe80::faf0:5ff:fec0:2e82/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2 errors:0 dropped:0 overruns:0 frame:0
TX packets:32 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:282 (282.0 B) TX bytes:4781 (4.6 KiB)

# [ 121.832635] NOHZ: local_softirq_pending 08
udi[ 123.712425] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Setting mcast List with count = 4.
[ 123.722091] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[0]: 33:33:00:00:00:01
[ 123.731116] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[1]: 01:00:5e:00:00:01
[ 123.740141] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[2]: 33:33:ff:c0:2e:82
[ 123.749129] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[3]: 33:33:00:01:00:03
[ 123.758522] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Setting mcast List with count = 5.
[ 123.768168] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[0]: 33:33:00:00:00:01
[ 123.777183] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[1]: 01:00:5e:00:00:01
[ 123.786172] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[2]: 33:33:ff:c0:2e:82
[ 123.795182] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[3]: 33:33:00:01:00:03
[ 123.804168] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[4]: 33:33:00:00:00:fb

#
#
#
#
#
# [ 126.845354] NOHZ: local_softirq_pending 08

#
#
#
#
# [ 132.069632] NOHZ: local_softirq_pending 08

#
#
#
#
# ud
udevadm udevd udhcpc udhcpd
# udhcpc -i wlan0
udhcpc: started, v1.31.0
[ 149.220621] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Setting mcast List with count = 4.
[ 149.230292] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[0]: 33:33:00:00:00:01
[ 149.239331] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[1]: 01:00:5e:00:00:01
[ 149.248362] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[2]: 33:33:00:01:00:03
[ 149.257379] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[3]: 33:33:00:00:00:fb
[ 149.266955] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Setting mcast List with count = 3.
[ 149.276718] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[0]: 33:33:00:00:00:01
[ 149.285778] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[1]: 01:00:5e:00:00:01
[ 149.294817] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[2]: 33:33:00:01:00:03
[ 149.304176] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Setting mcast List with count = 2.
[ 149.313803] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[0]: 33:33:00:00:00:01
[ 149.322812] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[1]: 01:00:5e:00:00:01
[ 149.332106] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Setting mcast List with count = 3.
[ 149.341769] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[0]: 33:33:00:00:00:01
[ 149.350779] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[1]: 01:00:5e:00:00:01
[ 149.359807] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[2]: 33:33:00:00:00:fb
[ 149.370220] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Setting mcast List with count = 2.
[ 149.379930] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[0]: 33:33:00:00:00:01
[ 149.388964] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[1]: 01:00:5e:00:00:01
[ 149.399105] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Setting mcast List with count = 2.
[ 149.408752] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[0]: 33:33:00:00:00:01
[ 149.417764] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[1]: 01:00:5e:00:00:01
udhcpc: sending discover
[ 149.486211] NOHZ: local_softirq_pending 08
udhcpc: sending select for 192.168.43.93
[ 149.534132] NOHZ: local_softirq_pending 08
udhcpc: lease of 192.168.43.93 obtained, lease time 3599
[ 149.566781] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Setting mcast List with count = 3.
[ 149.576559] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[0]: 33:33:00:00:00:01
[ 149.585784] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[1]: 01:00:5e:00:00:01
[ 149.594844] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[2]: 01:00:5e:00:00:fb
[ 149.604143] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Setting mcast List with count = 4.
[ 149.613778] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[0]: 33:33:00:00:00:01
[ 149.622792] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[1]: 01:00:5e:00:00:01
[ 149.631816] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[2]: 01:00:5e:00:00:fb
[ 149.640807] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[3]: 01:00:5e:00:00:fc
/etc/udhcpc.d/50default: Adding DNS 192.168.43.80
#
#
# ifconfig
wlan0 Link encap:Ethernet HWaddr F8:F0:05:C0:2E:82
inet addr:192.168.43.93 Bcast:192.168.43.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:7 errors:0 dropped:0 overruns:0 frame:0
TX packets:66 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1292 (1.2 KiB) TX bytes:9973 (9.7 KiB)

# ifconfig
wlan0 Link encap:Ethernet HWaddr F8:F0:05:C0:2E:82
inet addr:192.168.43.93 Bcast:192.168.43.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:7 errors:0 dropped:0 overruns:0 frame:0
TX packets:68 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1292 (1.2 KiB) TX bytes:10468 (10.2 KiB)

# [ 154.581107] NOHZ: local_softirq_pending 08

#
#
#
# ping google.com
[ 159.713510] NOHZ: local_softirq_pending 08
PING google.com (172.217.26.206): 56 data bytes
[ 159.803417] NOHZ: local_softirq_pending 08
64 bytes from 172.217.26.206: seq=0 ttl=115 time=88.264 ms
64 bytes from 172.217.26.206: seq=1 ttl=115 time=51.117 ms
64 bytes from 172.217.26.206: seq=2 ttl=115 time=50.406 ms
^C
--- google.com ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 50.406/63.262/88.264 ms
#
#
# ping google.com
PING google.com (172.217.26.206): 56 data bytes
64 bytes from 172.217.26.206: seq=0 ttl=115 time=214.979 ms
64 bytes from 172.217.26.206: seq=1 ttl=115 time=90.302 ms
64 bytes from 172.217.26.206: seq=2 ttl=115 time=69.742 ms
64 bytes from 172.217.26.206: seq=3 ttl=115 time=65.281 ms
64 bytes from 172.217.26.206: seq=4 ttl=115 time=92.729 ms
64 bytes from 172.217.26.206: seq=5 ttl=115 time=56.218 ms
64 bytes from 172.217.26.206: seq=6 ttl=115 time=55.604 ms
64 bytes from 172.217.26.206: seq=7 ttl=115 time=82.974 ms
64 bytes from 172.217.26.206: seq=9 ttl=115 time=41.940 ms
64 bytes from 172.217.26.206: seq=10 ttl=115 time=69.737 ms
64 bytes from 172.217.26.206: seq=11 ttl=115 time=69.223 ms
64 bytes from 172.217.26.206: seq=12 ttl=115 time=72.667 ms
64 bytes from 172.217.26.206: seq=13 ttl=115 time=52.165 ms
64 bytes from 172.217.26.206: seq=14 ttl=115 time=43.613 ms
64 bytes from 172.217.26.206: seq=15 ttl=115 time=51.062 ms
64 bytes from 172.217.26.206: seq=16 ttl=115 time=74.531 ms
64 bytes from 172.217.26.206: seq=17 ttl=115 time=50.015 ms
64 bytes from 172.217.26.206: seq=18 ttl=115 time=49.843 ms
64 bytes from 172.217.26.206: seq=19 ttl=115 time=49.317 ms
64 bytes from 172.217.26.206: seq=20 ttl=115 time=72.760 ms
64 bytes from 172.217.26.206: seq=22 ttl=115 time=47.665 ms
64 bytes from 172.217.26.206: seq=23 ttl=115 time=47.184 ms
64 bytes from 172.217.26.206: seq=24 ttl=115 time=46.608 ms
64 bytes from 172.217.26.206: seq=25 ttl=115 time=42.094 ms
64 bytes from 172.217.26.206: seq=26 ttl=115 time=93.575 ms
64 bytes from 172.217.26.206: seq=27 ttl=115 time=73.040 ms
64 bytes from 172.217.26.206: seq=28 ttl=115 time=44.501 ms
64 bytes from 172.217.26.206: seq=29 ttl=115 time=55.966 ms
64 bytes from 172.217.26.206: seq=31 ttl=115 time=50.918 ms
64 bytes from 172.217.26.206: seq=32 ttl=115 time=46.370 ms
64 bytes from 172.217.26.206: seq=33 ttl=115 time=45.831 ms
64 bytes from 172.217.26.206: seq=34 ttl=115 time=45.220 ms
64 bytes from 172.217.26.206: seq=35 ttl=115 time=52.674 ms
64 bytes from 172.217.26.206: seq=36 ttl=115 time=52.131 ms
64 bytes from 172.217.26.206: seq=37 ttl=115 time=55.609 ms
64 bytes from 172.217.26.206: seq=38 ttl=115 time=39.039 ms
64 bytes from 172.217.26.206: seq=39 ttl=115 time=86.487 ms
64 bytes from 172.217.26.206: seq=40 ttl=115 time=69.888 ms
64 bytes from 172.217.26.206: seq=41 ttl=115 time=45.324 ms
64 bytes from 172.217.26.206: seq=42 ttl=115 time=68.764 ms
64 bytes from 172.217.26.206: seq=44 ttl=115 time=47.721 ms
64 bytes from 172.217.26.206: seq=45 ttl=115 time=47.190 ms
64 bytes from 172.217.26.206: seq=46 ttl=115 time=58.666 ms
64 bytes from 172.217.26.206: seq=47 ttl=115 time=46.522 ms
64 bytes from 172.217.26.206: seq=48 ttl=115 time=65.928 ms
64 bytes from 172.217.26.206: seq=49 ttl=115 time=41.413 ms
64 bytes from 172.217.26.206: seq=50 ttl=115 time=64.857 ms
64 bytes from 172.217.26.206: seq=51 ttl=115 time=48.315 ms
64 bytes from 172.217.26.206: seq=52 ttl=115 time=39.688 ms
64 bytes from 172.217.26.206: seq=53 ttl=115 time=59.118 ms
^C
--- google.com ping statistics ---
54 packets transmitted, 50 packets received, 7% packet loss
round-trip min/avg/max = 39.039/61.060/214.979 ms
# fping google.com
-sh: fping: command not found
# ping google.com
PING google.com (172.217.26.206): 56 data bytes
64 bytes from 172.217.26.206: seq=0 ttl=115 time=51.229 ms
64 bytes from 172.217.26.206: seq=1 ttl=115 time=50.621 ms
64 bytes from 172.217.26.206: seq=2 ttl=115 time=54.069 ms
64 bytes from 172.217.26.206: seq=3 ttl=115 time=41.170 ms
64 bytes from 172.217.26.206: seq=4 ttl=115 time=48.944 ms
64 bytes from 172.217.26.206: seq=5 ttl=115 time=48.723 ms
64 bytes from 172.217.26.206: seq=6 ttl=115 time=48.055 ms
64 bytes from 172.217.26.206: seq=7 ttl=115 time=47.581 ms
64 bytes from 172.217.26.206: seq=8 ttl=115 time=55.359 ms
64 bytes from 172.217.26.206: seq=9 ttl=115 time=42.471 ms
64 bytes from 172.217.26.206: seq=10 ttl=115 time=45.624 ms
64 bytes from 172.217.26.206: seq=11 ttl=115 time=45.000 ms
64 bytes from 172.217.26.206: seq=12 ttl=115 time=64.463 ms
64 bytes from 172.217.26.206: seq=13 ttl=115 time=60.241 ms
64 bytes from 172.217.26.206: seq=14 ttl=115 time=51.743 ms
64 bytes from 172.217.26.206: seq=15 ttl=115 time=43.175 ms
64 bytes from 172.217.26.206: seq=16 ttl=115 time=42.649 ms
64 bytes from 172.217.26.206: seq=17 ttl=115 time=58.085 ms
64 bytes from 172.217.26.206: seq=18 ttl=115 time=41.557 ms
64 bytes from 172.217.26.206: seq=19 ttl=115 time=57.003 ms
64 bytes from 172.217.26.206: seq=20 ttl=115 time=48.480 ms
64 bytes from 172.217.26.206: seq=21 ttl=115 time=43.916 ms
64 bytes from 172.217.26.206: seq=22 ttl=115 time=55.396 ms
64 bytes from 172.217.26.206: seq=23 ttl=115 time=46.831 ms
64 bytes from 172.217.26.206: seq=24 ttl=115 time=46.362 ms
64 bytes from 172.217.26.206: seq=25 ttl=115 time=53.800 ms
64 bytes from 172.217.26.206: seq=26 ttl=115 time=41.280 ms
64 bytes from 172.217.26.206: seq=27 ttl=115 time=44.714 ms
[ 294.420474] audit: type=1701 audit(1612021419.090:4): auid=4294967295 uid=0 gid=0 ses=4294967295 pid=371 comm="systemd-journal" exe="/lib/systemd/systemd-journald" sig=11 res=1
[ 294.427426] BUG: Bad rss-counter state mm:00000000187004b7 type:MM_FILEPAGES val:33
[ 294.430741] systemd[1]: systemd-journald.service: Service has no hold-off time (RestartSec=0), scheduling restart.
[ 294.431785] systemd[1]: systemd-journald.service: Scheduled restart job, restart counter is at 1.
[ 294.450577] systemd[1]: Stopping Flush Journal to Persistent Storage...
[ 294.454761] BUG: Bad rss-counter state mm:00000000187004b7 type:MM_ANONPAGES val:3
[ 294.467938] Unable to handle kernel NULL pointer dereference at virtual address 000000000000018b
[ 294.470463] BUG: non-zero pgtables_bytes on freeing mm: 4096
[ 294.477930] Mem abort info:
[ 294.495774] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000008
[ 294.504565] Mem abort info:
[ 294.507359] ESR = 0x96000044
[ 294.510413] EC = 0x25: DABT (current EL), IL = 32 bits
[ 294.515723] SET = 0, FnV = 0
[ 294.518774] EA = 0, S1PTW = 0
[ 294.521913] Data abort info:
[ 294.524791] ISV = 0, ISS = 0x00000044
[ 294.528624] CM = 0, WnR = 1
[ 294.531594] user pgtable: 4k pages, 48-bit VAs, pgdp=000000004924f000
[ 294.538034] [0000000000000008] pgd=0000000000000000
[ 294.542917] Internal error: Oops: 96000044 [#1] PREEMPT SMP
[ 294.548491] Modules linked in: wilc_sdio(C)
[ 294.552689] CPU: 2 PID: 33 Comm: kworker/2:1 Tainted: G C 5.4.24-2.1.0+gbabac008e5cf #1
[ 294.561992] Hardware name: WABCO Connectivity Core (DT)
[ 294.567243] Workqueue: cgroup_destroy css_killed_work_fn
[ 294.572560] pstate: a0000085 (NzCv daIf -PAN -UAO)
[ 294.577359] pc : memcg_drain_all_list_lrus+0x144/0x1b0
[ 294.582497] lr : memcg_drain_all_list_lrus+0xf8/0x1b0
[ 294.587547] sp : ffff800011b0bc90
[ 294.590859] x29: ffff800011b0bc90 x28: ffff000008404280
[ 294.596170] x27: 0000000000000000 x26: ffff80001172cf58
[ 294.601481] x25: ffff8000117093d8 x24: ffff00000821b000
[ 294.606793] x23: 0000000000000004 x22: 000000000000000b
[ 294.612104] x21: 0000000000000000 x20: ffff0000082444d0
[ 294.617416] x19: ffff0000093d8000 x18: 0000000000000010
[ 294.622727] x17: 0000000000000000 x16: 0000000000000000
[ 294.628038] x15: ffff000008050470 x14: ffffffffffffffff
[ 294.633350] x13: 00000a49349d4464 x12: 0000000000000001
[ 294.638661] x11: 0000000000000000 x10: 00000000000009c0
[ 294.643972] x9 : ffff000008237c74 x8 : fefefefefefefeff
[ 294.649283] x7 : 0000000000000018 x6 : 0000000000000000
[ 294.654594] x5 : ffff0000093d4000 x4 : 0000000000000000
[ 294.659906] x3 : ffff000008404280 x2 : ffff000004a49888
[ 294.665217] x1 : ffff000009371c00 x0 : ffff000009371c00
[ 294.670530] Call trace:
[ 294.672979] memcg_drain_all_list_lrus+0x144/0x1b0
[ 294.677777] memcg_offline_kmem.part.0+0x94/0xd8
[ 294.682396] mem_cgroup_css_offline+0xbc/0xf0
[ 294.686752] css_killed_work_fn+0x5c/0x1b0
[ 294.690854] process_one_work+0x198/0x320
[ 294.694861] worker_thread+0x48/0x420
[ 294.698528] kthread+0xf0/0x120
[ 294.701674] ret_from_fork+0x10/0x18
[ 294.705254] Code: eb01027f 54000120 a9400a64 f9400001 (f9000480)
[ 294.711352] ---[ end trace 67900cbe4016b54c ]---
[ 294.715979] note: kworker/2:1[33] exited with preempt_count 1
[ 294.721867] ESR = 0x96000004
[ 294.724980] EC = 0x25: DABT (current EL), IL = 32 bits
[ 294.730320] SET = 0, FnV = 0
[ 294.733394] EA = 0, S1PTW = 0
[ 294.736545] Data abort info:
[ 294.739433] ISV = 0, ISS = 0x00000004
[ 294.743318] CM = 0, WnR = 0
[ 294.746306] user pgtable: 4k pages, 48-bit VAs, pgdp=000000004924f000
[ 294.752775] [000000000000018b] pgd=0000000000000000
[ 294.757673] Internal error: Oops: 96000004 [#2] PREEMPT SMP
[ 294.763247] Modules linked in: wilc_sdio(C)
[ 294.767443] CPU: 0 PID: 1 Comm: systemd Tainted: G D C 5.4.24-2.1.0+gbabac008e5cf #1
[ 294.776312] Hardware name: WABCO Connectivity Core (DT)
[ 294.781538] pstate: 60000005 (nZCv daif -PAN -UAO)
[ 294.786347] pc : kmem_cache_alloc+0xb4/0x258
[ 294.790615] lr : kmem_cache_alloc+0x34/0x258
[ 294.794884] sp : ffff80001003bc30
[ 294.798196] x29: ffff80001003bc30 x28: ffff00000861ed00
[ 294.803507] x27: 0000000000400cc0 x26: ffff000008050000
[ 294.808819] x25: ffff000008050000 x24: 00000000001bc102
[ 294.814130] x23: 0000000000000cc0 x22: ffff000008050000
[ 294.819441] x21: ffff8000101811a0 x20: 000000000000018b
[ 294.824753] x19: ffff000008003200 x18: 0000000000000000
[ 294.830064] x17: 0000000000000000 x16: 0000000000000000
[ 294.835376] x15: 0000000000000000 x14: 0000000000000000
[ 294.840687] x13: 0000000000000000 x12: 0000000000000000
[ 294.845998] x11: 0000000000000000 x10: 0000000000000000
[ 294.851309] x9 : 0000000000000000 x8 : 0000000000000000
[ 294.856620] x7 : 0000000000000000 x6 : 0000000000000000
[ 294.861931] x5 : 0000000000000000 x4 : ffff800010181178
[ 294.867242] x3 : ffff000009387000 x2 : 00000000001bc102
[ 294.872555] x1 : 0000000000000000 x0 : 0000000000000001
[ 294.877867] Call trace:
[ 294.880314] kmem_cache_alloc+0xb4/0x258
[ 294.884245] proc_cgroup_show+0x28/0x288
[ 294.888172] proc_single_show+0x54/0xa8
[ 294.892015] seq_read+0x140/0x4d8
[ 294.895333] __vfs_read+0x18/0x40
[ 294.898648] vfs_read+0xc8/0x1a0
[ 294.901875] ksys_read+0x68/0xf0
[ 294.905104] __arm64_sys_read+0x18/0x20
[ 294.908950] el0_svc_common.constprop.0+0x68/0x160
[ 294.913740] el0_svc_handler+0x20/0x80
[ 294.917493] el0_svc+0x8/0xc
[ 294.920379] Code: b4000cb4 b9402261 b9401340 11000400 (f8616a9b)
[ 294.926491] ---[ end trace 67900cbe4016b54d ]---
[ 294.931270] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
[ 294.938934] SMP: stopping secondary CPUs
[ 294.943180] Kernel Offset: disabled
[ 294.946671] CPU features: 0x0002,2000200c
[ 294.950678] Memory Limit: none
[ 294.953741] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b ]---

 

0 Kudos
6 Replies

2,690 Views
IvanRuiz
NXP Employee
NXP Employee

Hello,

 

Please accept my apologies but this is not an NXP module, but you may find it helpful to refer to the following links where similar topics have been discussed:

1. https://community.nxp.com/t5/i-MX-Processors/sdio-probe-timeout-with-wifi-module-on-sdio/m-p/560206

2. https://community.nxp.com/t5/i-MX-Processors/ATWILC3000-SDIO-driver-on-i-MX6ul-not-being-probed/td-p...

3. https://community.nxp.com/t5/i-MX-Processors/ATMEL-WIFI-BLE-ATWILC3000-MR110CA-Driver/td-p/623772

 

 

Hope it helps!

 

BR,

Ivan.

0 Kudos

2,668 Views
love1ymano
Contributor II

Hi

I had tested in two platforms, one is based on IMX6Q SABRESD ARM32(kernel 5.4.70) and the other with custom IMX8MN ARM64 board(kernel 5.4.70), i already tested the ATCWILC3000 driver with IMX6Q SABRESD ARM32 platform with success.

But when i try ATCWILC3000 driver with the IMX8MN ARM64, i got memory problems, when it generate the scatterlist during the CMD53.

I did some changes in probe function for DMA restriction 
dma_set_coherent_mask(wilc->dev, DMA_BIT_MASK(32));

Also did some changes in the wilc_sdio_cmd53,

`static int wilc_sdio_cmd53(struct wilc *wilc, struct sdio_cmd53 *cmd)
{
struct sdio_func *func = container_of(wilc->dev, struct sdio_func, dev);
int size, ret;

sdio_claim_host(func);

u8 *temp_data;

temp_data = devm_kzalloc(wilc->dev, cmd->count * cmd->block_size, GFP_KERNEL);
if(!temp_data){
	pr_err("fail to alloc temp data");
}

func->num = cmd->function;
func->cur_blksize = cmd->block_size;
if (cmd->block_mode)
	size = cmd->count * cmd->block_size;
else
	size = cmd->count;

if (cmd->read_write) {  /* write */
	if (cmd->block_mode)
		memcpy(temp_data, cmd->buffer, cmd->count * cmd->block_size);
	else
		memcpy(temp_data, cmd->buffer, cmd->count);
	pr_info("[WRITE]temp_data = %x | cmd->buffer = %x | *temp_data = %x | *cmd->buffer = %x", temp_data,cmd->buffer, *temp_data,*cmd->buffer);

	ret = sdio_memcpy_toio(func, cmd->address,
			       (void *)temp_data, size);
} else {        /* read */
	ret = sdio_memcpy_fromio(func, (void *)temp_data,
				 cmd->address,  size);
	if (cmd->block_mode)
		memcpy(cmd->buffer, temp_data, cmd->count * cmd->block_size);
	else
		memcpy(cmd->buffer, temp_data, cmd->count);
	pr_info("[READ]temp_data = %x | cmd->buffer = %x | *temp_data = %x | *cmd->buffer = %x", temp_data,cmd->buffer, *temp_data,*cmd->buffer);
}
sdio_release_host(func);

if (ret)
	dev_err(&func->dev, "%s..failed, err(%d)\n", __func__,  ret);
kfree(temp_data);
return ret;

 Even with these changes I was able to proceed upto some level in WiFi driver initialization, but still it throws some DMA error. 
modprobe wilc-sdio
[ 443.466544] wilc_sdio: module is from the staging directory, the quality is unknown, you have been warned.
[ 443.490697] Registering wifi device
[ 443.494311] Max scan ids= 10,Max scan IE len= 1000,Signal Type= 1,Interface Modes= 844
[ 443.502724] Initializing Locks ...
[ 443.511674] wilc_sdio mmc0:0001:1: Driver Initializing success
root@imx8mnddr3levk:/# ifconfig wlan0 up
[ 446.960009] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_mac_open]MAC OPEN[0000000009ed6d61] wlan0
[ 446.968620] WILC POWER UP
[ 446.971323] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_init_host_int]Host[0000000009ed6d61][00000000fec58392]
[ 446.981078] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_mac_open]*** re-init ***
[ 446.988199] wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_wlan_init]Initializing WILC_Wlan
[ 446.996007] wilc_sdio mmc0:0001:1: SDIO speed: 50000000
[ 447.007979] sdhci-esdhc-imx 30b40000.mmc: Cannot do DMA to address 0x0000800051f938c4
[ 447.015840] sdhci-esdhc-imx 30b40000.mmc: overflow 0x0000800051f938c4+4 of DMA mask ffffffff bus mask 0
[ 447.025260] ------------[ cut here ]------------
[ 447.029905] WARNING: CPU: 2 PID: 342 at kernel/dma/direct.c:35 report_addr+0x38/0xa0
[ 447.037647] Modules linked in: wilc_sdio(C) crct10dif_ce
[ 447.042975] CPU: 2 PID: 342 Comm: ifconfig Tainted: G C 5.4.70-2.3.0+g4f2631b022d8 #1
[ 447.052105] Hardware name: WABCO Connectivity Core (DT)
[ 447.057332] pstate: 40000085 (nZcv daIf -PAN -UAO)
[ 447.062123] pc : report_addr+0x38/0xa0
[ 447.065872] lr : report_addr+0x98/0xa0
[ 447.069618] sp : ffff800011f93370
[ 447.072930] x29: ffff800011f93370 x28: 0000000000000000
[ 447.078242] x27: 0000000000000004 x26: 000000000000ffff
[ 447.083553] x25: ffff800011f93650 x24: 0000000000000000
[ 447.088864] x23: 0000000000000002 x22: ffff0000082c5410
[ 447.094176] x21: 0000000000000004 x20: ffff000004900e00
[ 447.099488] x19: ffff0000082c5410 x18: 0000000000000010
[ 447.104799] x17: 0000000000000000 x16: 0000000000000000
[ 447.110109] x15: ffff000004901270 x14: 6d20414d4420666f
[ 447.115421] x13: 20342b3463383339 x12: 6631353030303830
[ 447.120732] x11: 303030783020776f x10: 6c667265766f203a
[ 447.126044] x9 : 636d6d2e30303030 x8 : ffff800011b58000
[ 447.131355] x7 : ffff80001069fd78 x6 : 000000000000017e
[ 447.136667] x5 : ffff00000bea2180 x4 : 0000000000000001
[ 447.141978] x3 : ffff00000bea2180 x2 : 211f09dab3df9600
[ 447.147290] x1 : 211f09dab3df9600 x0 : 0000000000000000
[ 447.152604] Call trace:
[ 447.155052] report_addr+0x38/0xa0
[ 447.158457] dma_direct_map_page+0x110/0x130
[ 447.162727] dma_direct_map_sg+0x78/0xe0
[ 447.166661] sdhci_pre_dma_transfer+0xd0/0x178
[ 447.171106] sdhci_send_command+0x5d8/0xd58
[ 447.175289] sdhci_request+0xa4/0xf0
[ 447.178871] __mmc_start_request+0x64/0x130
[ 447.183054] mmc_start_request+0x80/0xa8
[ 447.186977] mmc_wait_for_req+0x6c/0x100
[ 447.190910] mmc_io_rw_extended+0x1d8/0x2d8
[ 447.195096] sdio_io_rw_ext_helper+0x18c/0x230
[ 447.199539] sdio_memcpy_fromio+0x1c/0x28
[ 447.203590] wilc_sdio_cmd53.isra.0+0x9c/0xc8 [wilc_sdio]
[ 447.208999] wilc_sdio_read_reg+0xe0/0x128 [wilc_sdio]
[ 447.214148] wilc_get_chipid+0x58/0x108 [wilc_sdio]
[ 447.219036] wilc_sdio_init+0x29c/0x340 [wilc_sdio]
[ 447.223923] wilc_wlan_init+0x16c/0x350 [wilc_sdio]
[ 447.228809] wilc_mac_open+0x1bc/0xf10 [wilc_sdio]
[ 447.233606] __dev_open+0xc0/0x170
[ 447.237009] __dev_change_flags+0x160/0x1b8
[ 447.241191] dev_change_flags+0x20/0x60
[ 447.245034] devinet_ioctl+0x63c/0x6f8
[ 447.248782] inet_ioctl+0x2f4/0x360
[ 447.252277] sock_do_ioctl+0x44/0x2b0
[ 447.255939] sock_ioctl+0x264/0x528
[ 447.259432] do_vfs_ioctl+0x964/0xb48
[ 447.263094] ksys_ioctl+0x78/0xa8
[ 447.266408] __arm64_sys_ioctl+0x1c/0xb8
[ 447.270341] el0_svc_common.constprop.0+0x68/0x160
[ 447.275131] el0_svc_handler+0x20/0x80
[ 447.278884] el0_svc+0x8/0x208
[ 447.281937] ---[ end trace fa8343f855b756ef ]---
[ 447.286669] ------------[ cut here ]------------
[ 447.291290] WARNING: CPU: 2 PID: 342 at drivers/mmc/host/sdhci.c:1104 sdhci_send_command+0x82c/0xd58
[ 447.300418] Modules linked in: wilc_sdio(C) crct10dif_ce
[ 447.305744] CPU: 2 PID: 342 Comm: ifconfig Tainted: G WC 5.4.70-2.3.0+g4f2631b022d8 #1
[ 447.314885] Hardware name: WABCO Connectivity Core (DT)
[ 447.320113] pstate: a0000085 (NzCv daIf -PAN -UAO)
[ 447.324911] pc : sdhci_send_command+0x82c/0xd58
[ 447.329443] lr : sdhci_send_command+0x5d8/0xd58
[ 447.333971] sp : ffff800011f93470
[ 447.337285] x29: ffff800011f93470 x28: 0000000000000000
[ 447.342596] x27: 0000000000000004 x26: 000000000000ffff
[ 447.347908] x25: ffff800011f93670 x24: ffff000004900e00
[ 447.353219] x23: 0000000000418958 x22: 0000000000000003
[ 447.358531] x21: ffff800011f93738 x20: ffff800011f93670
[ 447.363842] x19: ffff000009149580 x18: 0000000000000010
[ 447.369154] x17: 0000000000000000 x16: 0000000000000000
[ 447.374466] x15: ffff000004901270 x14: 6d20414d4420666f
[ 447.379777] x13: 20342b3463383339 x12: 6631353030303830
[ 447.385088] x11: 303030783020776f x10: 6c667265766f203a
[ 447.390399] x9 : 636d6d2e30303030 x8 : ffff800011b58000
[ 447.395711] x7 : ffff80001069fd78 x6 : 000000000000017e
[ 447.401021] x5 : ffffffffffffffff x4 : 0000000000000020
[ 447.406332] x3 : 0000000000000002 x2 : 0000000000000000
[ 447.411644] x1 : ffff800011f93650 x0 : 00000000ffffffe4
[ 447.416957] Call trace:
[ 447.419405] sdhci_send_command+0x82c/0xd58
[ 447.423588] sdhci_request+0xa4/0xf0
[ 447.427172] __mmc_start_request+0x64/0x130
[ 447.431356] mmc_start_request+0x80/0xa8
[ 447.435279] mmc_wait_for_req+0x6c/0x100
[ 447.439208] mmc_io_rw_extended+0x1d8/0x2d8
[ 447.443397] sdio_io_rw_ext_helper+0x18c/0x230
[ 447.447841] sdio_memcpy_fromio+0x1c/0x28
[ 447.451897] wilc_sdio_cmd53.isra.0+0x9c/0xc8 [wilc_sdio]
[ 447.457309] wilc_sdio_read_reg+0xe0/0x128 [wilc_sdio]
[ 447.462458] wilc_get_chipid+0x58/0x108 [wilc_sdio]
[ 447.467346] wilc_sdio_init+0x29c/0x340 [wilc_sdio]
[ 447.472235] wilc_wlan_init+0x16c/0x350 [wilc_sdio]
[ 447.477123] wilc_mac_open+0x1bc/0xf10 [wilc_sdio]
[ 447.481917] __dev_open+0xc0/0x170
[ 447.485319] __dev_change_flags+0x160/0x1b8
[ 447.489502] dev_change_flags+0x20/0x60
[ 447.493339] devinet_ioctl+0x63c/0x6f8
[ 447.497088] inet_ioctl+0x2f4/0x360
[ 447.500578] sock_do_ioctl+0x44/0x2b0
[ 447.504239] sock_ioctl+0x264/0x528
[ 447.507729] do_vfs_ioctl+0x964/0xb48
[ 447.511389] ksys_ioctl+0x78/0xa8
[ 447.514705] __arm64_sys_ioctl+0x1c/0xb8
[ 447.518636] el0_svc_common.constprop.0+0x68/0x160
[ 447.523427] el0_svc_handler+0x20/0x80
[ 447.527177] el0_svc+0x8/0x208
[ 447.530231] ---[ end trace fa8343f855b756f0 ]---
[ 447.535333] Unable to handle kernel paging request at virtual address 000000000027e4c8
[ 447.543269] Mem abort info:
[ 447.546066] ESR = 0x96000004
[ 447.549121] EC = 0x25: DABT (current EL), IL = 32 bits
[ 447.554431] SET = 0, FnV = 0
[ 447.557484] EA = 0, S1PTW = 0
[ 447.560622] Data abort info:
[ 447.563501] ISV = 0, ISS = 0x00000004
[ 447.567333] CM = 0, WnR = 0
[ 447.570305] user pgtable: 4k pages, 48-bit VAs, pgdp=0000000044999000
[ 447.576745] [000000000027e4c8] pgd=0000000000000000
[ 447.581626] Internal error: Oops: 96000004 [#1] PREEMPT SMP
[ 447.587202] Modules linked in: wilc_sdio(C) crct10dif_ce
[ 447.592530] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G WC 5.4.70-2.3.0+g4f2631b022d8 #1
[ 447.601575] Hardware name: WABCO Connectivity Core (DT)
[ 447.606801] pstate: 60000085 (nZCv daIf -PAN -UAO)
[ 447.611609] pc : sg_miter_stop+0x34/0xd0
[ 447.615541] lr : sdhci_irq+0xaa8/0xec8
[ 447.619288] sp : ffff800010003dd0
[ 447.622600] x29: ffff800010003dd0 x28: ffff000009149580
[ 447.627911] x27: 0000000000000000 x26: ffff0000091497f0
[ 447.633222] x25: 0000000003ff003f x24: 0000000000000021
[ 447.638534] x23: 0000000000000000 x22: 00000000010f0001
[ 447.643845] x21: 0000000000000010 x20: 0000000000000000
[ 447.649156] x19: 0000000000000000 x18: 0000000000000000
[ 447.654468] x17: 0000000000000000 x16: 0000000000000000
[ 447.659779] x15: 0000000000000000 x14: ffff800011a22580
[ 447.665091] x13: ffff7ffffa666000 x12: 0000000034d4d91d
[ 447.670402] x11: 0000000000000000 x10: 0000000000000040
[ 447.675714] x9 : ffff800011a31d00 x8 : ffff800011a31cf8
[ 447.681025] x7 : 0000020000200000 x6 : ffff000000000000
[ 447.686337] x5 : 0000000000000003 x4 : 0000000000000004
[ 447.691648] x3 : 0000000000000003 x2 : 00000000000008c8
[ 447.696959] x1 : 000000000027e4c0 x0 : ffff000009149848
[ 447.702272] Call trace:
[ 447.704722] sg_miter_stop+0x34/0xd0
[ 447.708309] __handle_irq_event_percpu+0x64/0x170
[ 447.713012] handle_irq_event_percpu+0x30/0x88
[ 447.717455] handle_irq_event+0x44/0xd8
[ 447.721296] handle_fasteoi_irq+0xb4/0x160
[ 447.725394] generic_handle_irq+0x24/0x38
[ 447.729404] __handle_domain_irq+0x60/0xb8
[ 447.733503] gic_handle_irq+0x5c/0x148
[ 447.737252] el1_irq+0xb8/0x180
[ 447.740399] cpuidle_enter_state+0x84/0x360
[ 447.744581] cpuidle_enter+0x34/0x48
[ 447.748163] call_cpuidle+0x18/0x38
[ 447.751651] do_idle+0x1e0/0x280
[ 447.754877] cpu_startup_entry+0x24/0x80
[ 447.758806] rest_init+0xd4/0xe0
[ 447.762040] arch_call_rest_init+0xc/0x14
[ 447.766050] start_kernel+0x418/0x44c
[ 447.769720] Code: 4b040021 29070402 360800e3 f9400001 (f9400422)
[ 447.775832] ---[ end trace fa8343f855b756f1 ]---
[ 447.780452] Kernel panic - not syncing: Fatal exception in interrupt
[ 447.786806] SMP: stopping secondary CPUs
[ 447.791046] Kernel Offset: disabled
[ 447.794535] CPU features: 0x0002,2000200c
[ 447.798543] Memory Limit: none
[ 447.801608] ---[ end Kernel panic - not syncing: Fatal exception in interrupt ]---bb

I know it is not an NXP module, but the issue is due to the DMA architecture of IMX8. Since it was working fine with IMX6 platform. Please guide me on this DMA issue.

2,593 Views
subzero
Contributor I

i Have the same bug, imx8mq with WILC1000 WIFI. Apparently the NXP ADMA isn't reliable, the latest kernel 5.10.23 has some fix on that. You are totally right, is not the module fault, its the NXP IMX8 DMA  designed is the problem. And this is just the beginning of IMX8 problems.

Did you manage to fix the problem?

0 Kudos

2,582 Views
love1ymano
Contributor II

Hi

I'm able to resolve the issue with help of Microchip. You can contact below mail ID for support.

shashank.k@microchip.com

Regards,
Manoj

 

0 Kudos

1,442 Views
clia02
Contributor I

Hi @love1ymano,

I have the exact same problem. Is it possible that you post your solution here?

Best Regards

Claudia

0 Kudos

2,657 Views
IvanRuiz
NXP Employee
NXP Employee

Hello,

 

This might be for the number of buffers used for the DMA. Anyway, to isolate the problem, use it without DMA to check if there is a bottleneck in the memory caused by another device using the memory because this seems an overload causing the kernel to stop and not a problem of the DMA itself.

 

BR,

Ivan.

0 Kudos