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.

WL1831MOD: Intermittent Issues with BT and WiFi in the Combo chip

Part Number: WL1831MOD
Other Parts Discussed in Thread: WL1831, WL1271

We are using WL1831 BT+WiFi combo chipset with i.MX6Q processor

 

We are facing issue with BT (also with WiFi) i.e

1. BT Connection seems to be getting disconnected intermittently

2. BT events (HFP/A2DP) seems to be not sent/received

3. WiFi seems to be not working on some boot

4. BT/WiFi chipset throws error on bootup itself

5. WiFi Throughput seems to be drastically reduced after sometime (Finding irq/177-wl18xx taking as much as 35% of CPU throughout)

 

Debugging above issues in different layers of Software at the same time we do suspect the RF communication part

 

We need your support in resolving the above issues

 

PS: We have followed http://processors.wiki.ti.com/index.php/WL18xx_First_Time_Getting_Started_Guide_(IMX6) for bringing up BT/WiFi in Android Marshmallow

  • Hi ,
    RF issues could be related to board layout etc. You may run following PLT tests to check if RF is ok :
    processors.wiki.ti.com/.../WL18xx_TX_Testing
    processors.wiki.ti.com/.../WL18xx_RX_Testing

    Thanks
    Saurabh
  • Hi Saurabh, Facing below issues...please help

    130|root@sabresd_6dq:/ # calibrator wlan0 plt power_mode on
    wlcore: power up
    wl18xx_driver wl18xx.0.auto: Direct firmware load failed with error -2
    wl18xx_driver wl18xx.0.auto: Falling back to user helper
    wlcore: PHY firmware version: Rev 8.2.0.0.232
    wlcore: firmware booted in PLT mode PLT_ON (Rev 8.9.0.0.48)


    1|root@sabresd_6dq:/ # calibrator wlan0 wl18xx_plt tune_channel 1 0 0
    Usage: calibrator [options] command
    Options:
    --debug enable netlink debugging
    --version show version (0.71)
    Commands:
    set fem_manuf <0|1> [<nvs file>]
    set autofem <0-manual|1-auto> [<nvs file>]
    set upd_nvs <ini file> [<nvs file>]
    set ref_nvs2 <ini file> <ini file>
    set ref_nvs <ini file>
    set nvs_mac <nvs file> [<mac addr>]
    phy <phyname> set push_nvs <nvs filename>
    get dump_nvs [<nvs file>]
    get nvs_mac <nvs filename>
    help
    plt calibrate [<single|dual>]
    plt rx_statistics
    dev <devname> plt get_rx_statcs
    dev <devname> plt reset_rx_statcs
    dev <devname> plt stop_rx_statcs
    dev <devname> plt start_rx_statcs
    dev <devname> plt tx_stop
    dev <devname> plt tx_cont <delay> <rate> <size> <amount> <power>
    <seed> <pkt mode> <DC on/off> <gi> <preamble>
    <type> <scramble> <clpc> <seq nbr mode> <dest mac>
    dev <devname> plt tx_tone <power> <tone type>
    dev <devname> plt tx_bip <0|1> <0|1> <0|1> <0|1> <0|1> <0|1> <0|1> <0|1> [<nvs file>]
    dev <devname> plt ref_point <voltage> <power> <subband>
    dev <devname> plt tune_channel <band> <channel>
    dev <devname> plt power_mode <on|off>


    1|root@sabresd_6dq:/ # calibrator wlan0 plt power_mode on
    wlcore: power up
    wlcore: ERROR cannot go into PLT state because not in off state: 2
    command failed: Device or resource busy (-16)


    240|root@sabresd_6dq:/ # calibrator wlan0 plt power_mode off
    wlcore: power down


    root@sabresd_6dq:/ # calibrator wlan0 plt power_mode on
    wlcore: power up
    wlcore: PHY firmware version: Rev 8.2.0.0.232
    wlcore: firmware booted in PLT mode PLT_ON (Rev 8.9.0.0.48)


    1|root@sabresd_6dq:/ # calibrator wlan0 wl18xx_plt tune_channel 0 1
    Usage: calibrator [options] command
    Options:
    --debug enable netlink debugging
    --version show version (0.71)
    Commands:
    set fem_manuf <0|1> [<nvs file>]
    set autofem <0-manual|1-auto> [<nvs file>]
    set upd_nvs <ini file> [<nvs file>]
    set ref_nvs2 <ini file> <ini file>
    set ref_nvs <ini file>
    set nvs_mac <nvs file> [<mac addr>]
    phy <phyname> set push_nvs <nvs filename>
    get dump_nvs [<nvs file>]
    get nvs_mac <nvs filename>
    help
    plt calibrate [<single|dual>]
    plt rx_statistics
    dev <devname> plt get_rx_statcs
    dev <devname> plt reset_rx_statcs
    dev <devname> plt stop_rx_statcs
    dev <devname> plt start_rx_statcs
    dev <devname> plt tx_stop
    dev <devname> plt tx_cont <delay> <rate> <size> <amount> <power>
    <seed> <pkt mode> <DC on/off> <gi> <preamble>
    <type> <scramble> <clpc> <seq nbr mode> <dest mac>
    dev <devname> plt tx_tone <power> <tone type>
    dev <devname> plt tx_bip <0|1> <0|1> <0|1> <0|1> <0|1> <0|1> <0|1> <0|1> [<nvs file>]
    dev <devname> plt ref_point <voltage> <power> <subband>
    dev <devname> plt tune_channel <band> <channel>
    dev <devname> plt power_mode <on|off>
    1|root@sabresd_6dq:/ # calibrator wlan0 plt tune_channel 0 1
    wlcore: ERROR command execute failure 2
    ------------[ cut here ]------------
    WARNING: CPU: 0 PID: 2461 at /home/user/Spade_HUD_Source_code/HDU_MARSHMALLOW/hardware/ti/wlan/mac80211/compat_wl18xx/drivers/net/wireless/ti/wlcore/main.c:813 wl12xx_queue_recovery_work.part.35+0x70/0x74 [wlcore]()
    Modules linked in: wlcore_sdio(O) wl18xx(O) wlcore(O) mac80211(O) cfg80211(O) compat(O)
    CPU: 0 PID: 2461 Comm: calibrator Tainted: G O 3.14.52 #28
    [<c0015a38>] (unwind_backtrace) from [<c0012518>] (show_stack+0x10/0x14)
    [<c0012518>] (show_stack) from [<c09558f4>] (dump_stack+0x7c/0xbc)
    [<c09558f4>] (dump_stack) from [<c0039ed4>] (warn_slowpath_common+0x74/0x90)
    [<c0039ed4>] (warn_slowpath_common) from [<c0039f8c>] (warn_slowpath_null+0x1c/0x24)
    [<c0039f8c>] (warn_slowpath_null) from [<bf17289c>] (wl12xx_queue_recovery_work.part.35+0x70/0x74 [wlcore])
    [<bf17289c>] (wl12xx_queue_recovery_work.part.35 [wlcore]) from [<bf1763e0>] (wlcore_cmd_send_failsafe+0x9c/0x4e0 [wlcore])
    [<bf1763e0>] (wlcore_cmd_send_failsafe [wlcore]) from [<bf176898>] (wl1271_cmd_test+0x50/0x9c [wlcore])
    [<bf176898>] (wl1271_cmd_test [wlcore]) from [<bf185f74>] (wl1271_tm_cmd+0x37c/0x59c [wlcore])
    [<bf185f74>] (wl1271_tm_cmd [wlcore]) from [<bf0c9600>] (ieee80211_testmode_cmd+0x3c/0x4c [mac80211])
    [<bf0c9600>] (ieee80211_testmode_cmd [mac80211]) from [<bf02ad28>] (nl80211_testmode_do+0x98/0x1d0 [cfg80211])
    [<bf02ad28>] (nl80211_testmode_do [cfg80211]) from [<c07fae78>] (genl_rcv_msg+0x234/0x3a8)
    [<c07fae78>] (genl_rcv_msg) from [<c07fa498>] (netlink_rcv_skb+0xb4/0xd8)
    [<c07fa498>] (netlink_rcv_skb) from [<c07fac34>] (genl_rcv+0x24/0x34)
    [<c07fac34>] (genl_rcv) from [<c07f9dfc>] (netlink_unicast+0x150/0x1f4)
    [<c07f9dfc>] (netlink_unicast) from [<c07fa20c>] (netlink_sendmsg+0x2b8/0x394)
    [<c07fa20c>] (netlink_sendmsg) from [<c07aed34>] (sock_sendmsg+0xb8/0xe0)
    [<c07aed34>] (sock_sendmsg) from [<c07b02b0>] (___sys_sendmsg.part.13+0x284/0x290)
    [<c07b02b0>] (__sys_sendmsg.part.13) from [<c07b1430>] (_sys_sendmsg+0x4c/0x7c)
    [<c07b1430>] (__sys_sendmsg) from [<c000e620>] (ret_fast_syscall+0x0/0x38)
    ---[ end trace 3f74ae3d27a4e4bc ]---
    wlcore: WARNING TEST command failed
    wlcore: WARNING testmode cmd test failed: -5
    command failed: I/O error (-5)
    251|root@sabresd_6dq:/ #

  • Hi Saurabh, 
    Could you please help us here

  • Manoj,
    For "wlcore: ERROR cannot go into PLT state because not in off state: 2" make sure wlan0 interface is down before you run this command. Command " calibrator wlan0 wl18xx_plt tune_channel 1 0 0" should run ok. If not , i suggest you update you latest R8.7_SP2

    Thanks
    Saurabh