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: wlcore crash in J6 running Android O

Other Parts Discussed in Thread: TVP5158, TPD12S015, WL1271

Tool/software: Linux

Hi,

Target : DRA7xx Jacinto 6 EVM running on Android O.

we are seeing WiFi driver crash often (around even 2 minutes).

Wifi is started on boot up.

we verified wlcore is loaded and wlan0 is up and we are able to discover J6 upon issuing 'p2p_listen' command in wpa_cli.

But Wifi driver crashes often with following crash log

Crash log is as follows,

[ 971.593572] wlcore: Scan completed due to error.
[ 971.598217] ------------[ cut here ]------------
[ 971.602904] WARNING: CPU: 1 PID: 1262 at drivers/net/wireless/ti/wlcore/main.c:811 wl12xx_queue_recovery_work.part.7+0x60/0x64 [wlcore]()
[ 971.615666] Modules linked in: pvrsrvkm(O) snd_soc_tlv320aic3x gpio_pca953x tvp5158 ov490 ov1063x ldc3001_ts goodix input_polldev edt_ft5x06 pwm_bl led_bl gpio_backlight leds_tlc591xx panel_dpi connector_hdmi ti_fpd3_serdes encoder_tpd12s015 encoder_tc358768 dra7_evm_encoder_tpd12s015 sd_mod usb_storage scsi_mod wlcore_sdio wl18xx wlcore
[ 971.646141] CPU: 1 PID: 1262 Comm: kworker/u4:2 Tainted: G W O 4.4.91 #1
[ 971.653830] Hardware name: Generic DRA74X (Flattened Device Tree)
[ 971.659995] Workqueue: phy0 wl1271_scan_complete_work [wlcore]
[ 971.665858] Backtrace:
[ 971.668331] [<c020c6ec>] (dump_backtrace) from [<c020c8e8>] (show_stack+0x18/0x1c)
[ 971.675931] r6:60070013 r5:c1241e48 r4:00000000 r3:dc8ba65b
[ 971.681652] [<c020c8d0>] (show_stack) from [<c0b0fd68>] (dump_stack+0x94/0xa8)
[ 971.688910] [<c0b0fcd4>] (dump_stack) from [<c0230b10>] (warn_slowpath_common+0x90/0xc0)
[ 971.697032] r6:bf00574c r5:00000009 r4:00000000 r3:dc8ba65b
[ 971.702751] [<c0230a80>] (warn_slowpath_common) from [<c0230c2c>] (warn_slowpath_null+0x24/0x2c)
[ 971.711572] r8:eacfdc78 r7:00000000 r6:ede76d80 r5:ede76dbc r4:ede76d80
[ 971.718376] [<c0230c08>] (warn_slowpath_null) from [<bf00574c>] (wl12xx_queue_recovery_work.part.7+0x60/0x64 [wlcore])
[ 971.729183] [<bf0056ec>] (wl12xx_queue_recovery_work.part.7 [wlcore]) from [<bf007b80>] (wl12xx_queue_recovery_work+0x1c/0x20 [wlcore])
[ 971.741405] r4:ede770b0 r3:00000002
[ 971.745079] [<bf007b64>] (wl12xx_queue_recovery_work [wlcore]) from [<bf01a510>] (wl1271_scan_complete_work+0x100/0x104 [wlcore])
[ 971.756817] [<bf01a410>] (wl1271_scan_complete_work [wlcore]) from [<c0249974>] (process_one_work+0x134/0x4c0)
[ 971.766858] r8:00000000 r7:edffde00 r6:ee827c00 r5:ede770b0 r4:e8f25e00 r3:bf01a410
[ 971.774676] [<c0249840>] (process_one_work) from [<c024a7dc>] (worker_thread+0x4c/0x520)
[ 971.782800] r10:ee827c00 r9:e8f25e00 r8:00000088 r7:eea8a000 r6:ee827c14 r5:e8f25e18
[ 971.790704] r4:ee827c00
[ 971.793258] [<c024a790>] (worker_thread) from [<c024fc08>] (kthread+0x114/0x12c)
[ 971.800683] r10:00000000 r9:00000000 r8:00000000 r7:c024a790 r6:e8f25e00 r5:e5394ac0
[ 971.808587] r4:00000000
[ 971.811141] [<c024faf4>] (kthread) from [<c0208048>] (ret_from_fork+0x14/0x2c)
[ 971.818392] r7:00000000 r6:00000000 r5:c024faf4 r4:e5394ac0
[ 971.825944] ---[ end trace 4e3792d24afe59ad ]---
[ 971.830590] wlcore: ERROR failed to send reg domain dfs config
[ 971.836492] wlcore: Hardware recovery in progress. FW ver: Rev 8.9.0.0.48
[ 971.843659] wlcore: pc: 0x0, hint_sts: 0x00000024 count: 8
[ 971.849369] wlcore: down
[ 971.851929] wlcore: down
[ 971.855656] ieee80211 phy0: Hardware restart was requested
[ 972.281711] wlcore: PHY firmware version: Rev 8.2.0.0.232
[ 972.397151] wlcore: firmware booted (Rev 8.9.0.0.48)

Please help us to Wifi driver stable.

Please let us know if you need more information.

Regards

Jeyaprabu

  • wlcore: Hardware recovery in progress. FW ver: Rev 8.9.0.0.48

     

    Can you try updating your firmware file "wl18xx-fw-4.bin" to the latest?:

    Shout be version 8.9.0.0.78.

    The one you have may not match the kernel you are using and is in any case obsolete.

    BR,

    Eyal

  • Hi Eyal,

    Thanks for your reply.
    we have updated the firmware suggested by you.

    But it didn't solve the issue. we are facing two issues,

    1. Not receiving P2P events properly.

    2. wlcore crash - restart

    In addition to that, sometimes J6 goes to hang state with following log

    jacinto6evm:/ # [ 381.911351] wlcore: Scan completed due to error.
    [ 381.915996] ------------[ cut here ]------------
    [ 381.920688] WARNING: CPU: 1 PID: 99 at drivers/net/wireless/ti/wlcore/main.c:811 wl12xx_queue_recovery_work.part.7+0x60/0x64 [wlcore]()
    [ 381.933476] Modules linked in: pvrsrvkm(O) snd_soc_tlv320aic3x gpio_pca953x tvp5158 ov490 ov1063x ldc3001_ts goodix input_polldev edt_ft5x06 pwm_bl led_bl gpio_backlight leds_tlc591xx panel_dpi connector_hdmi ti_fpd3_serdes encoder_tpd12s015 encoder_tc358768 dra7_evm_encoder_tpd12s015 sd_mod usb_storage scsi_mod wlcore_sdio wl18xx wlcore
    [ 381.963880] CPU: 1 PID: 99 Comm: kworker/u4:1 Tainted: G W O 4.4.91 #1
    [ 381.971395] Hardware name: Generic DRA74X (Flattened Device Tree)
    [ 381.977565] Workqueue: phy0 wl1271_scan_complete_work [wlcore]
    [ 381.983428] Backtrace:
    [ 381.985898] [<c020c6ec>] (dump_backtrace) from [<c020c8e8>] (show_stack+0x18/0x1c)
    [ 381.993499] r6:60070013 r5:c1241e48 r4:00000000 r3:dc8ba65b
    [ 381.999221] [<c020c8d0>] (show_stack) from [<c0b0fd68>] (dump_stack+0x94/0xa8)
    [ 382.006479] [<c0b0fcd4>] (dump_stack) from [<c0230b10>] (warn_slowpath_common+0x90/0xc0)
    [ 382.014600] r6:bf00574c r5:00000009 r4:00000000 r3:dc8ba65b
    [ 382.020317] [<c0230a80>] (warn_slowpath_common) from [<c0230c2c>] (warn_slowpath_null+0x24/0x2c)
    [ 382.029136] r8:eb3dac78 r7:00000000 r6:edf6ad80 r5:edf6adbc r4:edf6ad80
    [ 382.035940] [<c0230c08>] (warn_slowpath_null) from [<bf00574c>] (wl12xx_queue_recovery_work.part.7+0x60/0x64 [wlcore])
    [ 382.046749] [<bf0056ec>] (wl12xx_queue_recovery_work.part.7 [wlcore]) from [<bf007b80>] (wl12xx_queue_recovery_work+0x1c/0x20 [wlcore])
    [ 382.058971] r4:edf6b0b0 r3:00000002
    [ 382.062643] [<bf007b64>] (wl12xx_queue_recovery_work [wlcore]) from [<bf01a510>] (wl1271_scan_complete_work+0x100/0x104 [wlcore])
    [ 382.074380] [<bf01a410>] (wl1271_scan_complete_work [wlcore]) from [<c0249974>] (process_one_work+0x134/0x4c0)
    [ 382.084422] r8:00000000 r7:eb30e200 r6:ee827c00 r5:edf6b0b0 r4:ee2f7d00 r3:bf01a410
    [ 382.092240] [<c0249840>] (process_one_work) from [<c024a7dc>] (worker_thread+0x4c/0x520)
    [ 382.100362] r10:ee827c00 r9:ee2f7d00 r8:00000088 r7:ee33e000 r6:ee827c14 r5:ee2f7d18
    [ 382.108264] r4:ee827c00
    [ 382.110818] [<c024a790>] (worker_thread) from [<c024fc08>] (kthread+0x114/0x12c)
    [ 382.118244] r10:00000000 r9:00000000 r8:00000000 r7:c024a790 r6:ee2f7d00 r5:ee320200
    [ 382.126143] r4:00000000
    [ 382.128698] [<c024faf4>] (kthread) from [<c0208048>] (ret_from_fork+0x14/0x2c)
    [ 382.135948] r7:00000000 r6:00000000 r5:c024faf4 r4:ee320200
    [ 382.141782] ---[ end trace 1434decf3c84a421 ]---
    [ 382.146616] wlcore: Hardware recovery in progress. FW ver: Rev 8.9.0.0.78
    [ 382.153805] wlcore: pc: 0x0, hint_sts: 0x00000064 count: 2
    [ 382.159525] wlcore: down
    [ 382.162094] wlcore: down
    [ 382.165767] ieee80211 phy0: Hardware restart was requested
    [ 382.599939] wlcore: PHY firmware version: Rev 8.2.0.0.242
    [ 382.775187] wlcore: firmware booted (Rev 8.9.0.0.78)
    [ 511.191372] wlcore: Scan completed due to error.
    [ 511.196017] ------------[ cut here ]------------
    [ 511.200779] WARNING: CPU: 1 PID: 99 at drivers/net/wireless/ti/wlcore/main.c:811 wl12xx_queue_recovery_work.part.7+0x60/0x64 [wlcore]()
    [ 511.213147] Modules linked in: pvrsrvkm(O) snd_soc_tlv320aic3x gpio_pca953x tvp5158 ov490 ov1063x ldc3001_ts goodix input_polldev edt_ft5x06 pwm_bl led_bl gpio_backlight leds_tlc591xx panel_dpi connector_hdmi ti_fpd3_serdes encoder_tpd12s015 encoder_tc358768 dra7_evm_encoder_tpd12s015 sd_mod usb_storage scsi_mod wlcore_sdio wl18xx wlcore
    [ 511.243557] CPU: 1 PID: 99 Comm: kworker/u4:1 Tainted: G W O 4.4.91 #1
    [ 511.251071] Hardware name: Generic DRA74X (Flattened Device Tree)
    [ 511.257235] Workqueue: phy0 wl1271_scan_complete_work [wlcore]
    [ 511.263099] Backtrace:
    [ 511.265569] [<c020c6ec>] (dump_backtrace) from [<c020c8e8>] (show_stack+0x18/0x1c)
    [ 511.273169] r6:60010013 r5:c1241e48 r4:00000000 r3:dc8ba65b
    [ 511.278894] [<c020c8d0>] (show_stack) from [<c0b0fd68>] (dump_stack+0x94/0xa8)
    [ 511.286151] [<c0b0fcd4>] (dump_stack) from [<c0230b10>] (warn_slowpath_common+0x90/0xc0)
    [ 511.294273] r6:bf00574c r5:00000009 r4:00000000 r3:dc8ba65b
    [ 511.299989] [<c0230a80>] (warn_slowpath_common) from [<c0230c2c>] (warn_slowpath_null+0x24/0x2c)
    [ 511.308810] r8:eb3dac78 r7:00000000 r6:edf6ad80 r5:edf6adbc r4:edf6ad80
    [ 511.315615] [<c0230c08>] (warn_slowpath_null) from [<bf00574c>] (wl12xx_queue_recovery_work.part.7+0x60/0x64 [wlcore])
    [ 511.326424] [<bf0056ec>] (wl12xx_queue_recovery_work.part.7 [wlcore]) from [<bf007b80>] (wl12xx_queue_recovery_work+0x1c/0x20 [wlcore])
    [ 511.338645] r4:edf6b0b0 r3:00000002
    [ 511.342316] [<bf007b64>] (wl12xx_queue_recovery_work [wlcore]) from [<bf01a510>] (wl1271_scan_complete_work+0x100/0x104 [wlcore])
    [ 511.354053] [<bf01a410>] (wl1271_scan_complete_work [wlcore]) from [<c0249974>] (process_one_work+0x134/0x4c0)
    [ 511.364094] r8:00000000 r7:eb30e200 r6:ee827c00 r5:edf6b0b0 r4:ee2f7d00 r3:bf01a410
    [ 511.371911] [<c0249840>] (process_one_work) from [<c024a7dc>] (worker_thread+0x4c/0x520)
    [ 511.380034] r10:ee827c00 r9:ee2f7d00 r8:00000088 r7:ee33e000 r6:ee827c14 r5:ee2f7d18
    [ 511.387939] r4:ee827c00
    [ 511.390492] [<c024a790>] (worker_thread) from [<c024fc08>] (kthread+0x114/0x12c)
    [ 511.397916] r10:00000000 r9:00000000 r8:00000000 r7:c024a790 r6:ee2f7d00 r5:ee320200
    [ 511.405816] r4:00000000
    [ 511.408372] [<c024faf4>] (kthread) from [<c0208048>] (ret_from_fork+0x14/0x2c)
    [ 511.415621] r7:00000000 r6:00000000 r5:c024faf4 r4:ee320200
    [ 511.421524] ---[ end trace 1434decf3c84a422 ]---
    [ 511.426288] wlcore: Hardware recovery in progress. FW ver: Rev 8.9.0.0.78
    [ 511.433633] wlcore: pc: 0x0, hint_sts: 0x00000068 count: 3
    [ 511.439389] wlcore: down
    [ 511.441973] wlcore: down
    [ 511.445620] ieee80211 phy0: Hardware restart was requested
    [ 511.869071] wlcore: PHY firmware version: Rev 8.2.0.0.242
    [ 512.044848] wlcore: firmware booted (Rev 8.9.0.0.78)
    [ 512.541265] omap_i2c 48070000.i2c: controller timed out
    [ 512.641233] Unable to handle kernel paging request at virtual address 5bb9a000
    [ 512.641237] Unable to handle kernel paging request at virtual address ffffffff
    [ 512.641240] Unable to handle kernel paging request at virtual address bea03920
    [ 512.641247] Unable to handle kernel NULL pointer dereference at virtual address 00000005
    [ 512.671113] pgd = c0003000
    [ 512.673830] [00000005] *pgd=80000080004003, *pmd=00000000
    [ 512.679270] Internal error: Oops: a06 [#1] PREEMPT SMP ARM
    [ 512.684778] Modules linked in: pvrsrvkm(O) snd_soc_tlv320aic3x gpio_pca953x tvp5158 ov490 ov1063x ldc3001_ts goodix input_polldev edt_ft5x06 pwm_bl
    [ 512.697967] Unable to handle kernel NULL pointer dereference at virtual address 00000003
    [ 512.697970] pgd = c0003000
    [ 512.697973] [00000003] *pgd=80000080004003, *pmd=00000000
    [ 512.697982] Internal error: Oops: 206 [#2] PREEMPT SMP ARM
    [ 512.697985] Modules linked in: pvrsrvkm(O) snd_soc_tlv320aic3x gpio_pca953x tvp5158 ov490 ov1063x ldc3001_ts goodix input_polldev edt_ft5x06 pwm_bl led_bl gpio_backlight leds_tlc591xx panel_dpi connector_hdmi ti_fpd3_serdes encoder_tpd12s015 encoder_tc358768 dra7_evm_encoder_tpd12s015 sd_mod usb_storage scsi_mod wlcore_sdio wl18xx wlcore
    [ 512.698040] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G W O 4.4.91 #1
    [ 512.698043] Hardware name: Generic DRA74X (Flattened Device Tree)
    [ 512.698047] task: c120bfd0 task.stack: c1200000
    [ 512.698057] PC is at uart_console_write+0x38/0x68
    [ 512.698063] LR is at serial8250_console_write+0xe4/0x2a0
    [ 512.698068] pc : [<c05eca9c>] lr : [<c05f58dc>] psr: 20070193
    [ 512.698068] sp : c1201680 ip : c12016a0 fp : c120169c
    [ 512.698071] r10: c12e9e68 r9 : 00000003 r8 : 00000007
    [ 512.698074] r7 : c05f28a8 r6 : c12e9e68 r5 : 0000000a r4 : 00000003
    [ 512.698077] r3 : c05f28a8 r2 : 00000007 r1 : 00000003 r0 : c12e9e68
    [ 512.698082] Flags: nzCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment kernel
    [ 512.698086] Control: 30c5387d Table: ab29fd00 DAC: fffffffd
    [ 512.698089]
    [ 512.698089] PC: 0xc05eca1c:
    [ 512.698091] ca1c e1a0c00d e92dd800 e24cb004 e3510c96 0a000005 e1a03201 e5900044 e1a01003
    [ 512.698112] ca3c e08000a3 ebfd59da e89da800 e5902090 e3013030 e0033002 e3530030 1afffff4
    [ 512.698131] ca5c e59000ac e89da800 e1a0c00d e92dd8f0 e24cb004 e3520000 e1a06000 e1a07003
    [ 512.698149] ca7c 089da8f0 e1a04001 e0815002 ea000003 e1a00006 e12fff37 e1540005 0a00000a
    [ 512.698168] ca9c e4d41001 e351000a 1afffff8 e1a00006 e3a0100d e12fff37 e5541001 e1a00006
    [ 512.698187] cabc e12fff37 e1540005 1afffff4 e89da8f0 e1a0c00d e92dd800 e24cb004 e5912004
    [ 512.698205] cadc e5913000 e5900164 e5922020 e59310b0 e592301c e5922020 e1823a03 e0833001
    [ 512.698224] cafc e0630000 e16f0f10 e1a002a0 e89da800 e1a0c00d e92ddff8 e24cb004 e590c090
    [ 512.698244]
    [ 512.698244] LR: 0xc05f585c:
    [ 512.698245] 585c e10f7000 f10c0080 e1a0000a e50b7070 eb1487b3 e3500000 13a03001 150b3068
    [ 512.698264] 587c 0a00007f e59a300c e3a01001 e1a0000a e12fff33 e1d520b0 e59a3010 e3a01001
    [ 512.698283] 589c e2022a01 e6ff2072 e3520000 13a02040 e50b006c e1a0000a e12fff33 e5da3154
    [ 512.698301] 58bc e3530000 1a00002e e30238a8 e1a02008 e34c305f e1a01009 e1a0000a ebffdc61
    [ 512.698320] 58dc e1a0000a e3a01060 ebfff353 e59a3010 e51b206c e1a0000a e3a01001 e12fff33
    [ 512.698339] 58fc e5da3157 e3530000 1a00001a e51b3068 e3530000 1a00000e e1d530f0 e3530000
    [ 512.698357] 591c ba000011 e51b2030 e5943000 e1520003 1a000058 e24bd028

     

    Please help us in resolving these issues.

    Please let us know if you need more details.

    Regards

    Jeyaprabu

  • Hi,

    Based on this error that is seen multiple times:

    [ 381.911351] wlcore: Scan completed due to error.

     

    It may indicate that you are not able to get reliable responses from the firmware (gpio based interrupt from the wlan_irq pin)

    Are you sure that you are configuring the wlan_irq pin correctly in you .dts file?

    Is this a standard J6-EVM or a custom hardware based on it's design?

     

    If you can use the console to perform manual scan's (not through the Android GUI) I suggest trying this and see what happens.

     

    Best Regards,

    Eyal