CC3351: BLE Over SDIO: Error Setting TX Power with ‘hcitool cmd 3f 11 <tx_power>’

Part Number: CC3351

Tool/software:

We are testing BLE over SDIO, and attempting to set the TX power using the hcitool cmd 3f 11  command. When we run hcitool cmd 3f 11 01, the driver crashes with an SDIO timeout error.

Here is the key log:

HWTEST:root@bsh-smm-m2b [~]# hcitool cmd 3f 11 06
< HCI Command: ogf 0x3f, ocf 0x00[ 1422.318686] Bluetooth: [bt sdio hci] TX from HCI received ,type=1, opcode: 0xfc11 len=4 ble_enable=1
11, plen 1
  06
[ 1422.330951] Bluetooth: [bt sdio] TX to SDIO sdiodev done : 08 00 00 01 11 fc 01 06
[ 1422.340816] Bluetooth: [bt sdio hci] work thread is sleeping...
 [ 1590.245025] mmc1: Timeout waiting for hardware interrupt.
[ 1590.250488] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
[ 1590.256974] mmc1: sdhci: Sys addr:  0x8b8d2610 | Version:  0x00000002
[ 1590.263455] mmc1: sdhci: Blk size:  0x00000080 | Blk cnt:  0x00000000
[ 1590.269930] mmc1: sdhci: Argument:  0x2d7ff802 | Trn mode: 0x00000033
[ 1590.276407] mmc1: sdhci: Present:   0x01f88a0a | Host ctl: 0x00000013
[ 1590.282882] mmc1: sdhci: Power:     0x00000002 | Blk gap:  0x00000080
[ 1590.289359] mmc1: sdhci: Wake-up:   0x00000008 | Clock:    0x0000002f
[ 1590.295835] mmc1: sdhci: Timeout:   0x0000008f | Int stat: 0x00000000
[ 1590.302311] mmc1: sdhci: Int enab:  0x117f110b | Sig enab: 0x117f110b
[ 1590.308786] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000302
[ 1590.315263] mmc1: sdhci: Caps:      0x07eb0000 | Caps_1:   0x0000b400
[ 1590.321741] mmc1: sdhci: Cmd:       0x0000353a | Max curr: 0x00ffffff
[ 1590.328218] mmc1: sdhci: Resp[0]:   0x00001000 | Resp[1]:  0x00000000
[ 1590.334693] mmc1: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
[ 1590.341163] mmc1: sdhci: Host ctl2: 0x00000000
[ 1590.345644] mmc1: sdhci: ADMA Err:  0x00000007 | ADMA Ptr: 0x8cf27200
[ 1590.352114] mmc1: sdhci-esdhc-imx: ========= ESDHC IMX DEBUG STATUS DUMP =========
[ 1590.359720] mmc1: sdhci-esdhc-imx: cmd debug status:  0x3100
[ 1590.365412] mmc1: sdhci-esdhc-imx: data debug status:  0x3200
[ 1590.371190] mmc1: sdhci-esdhc-imx: trans debug status:  0x3300
[ 1590.377057] mmc1: sdhci-esdhc-imx: dma debug status:  0x3402
[ 1590.382747] mmc1: sdhci-esdhc-imx: adma debug status:  0x35b4
[ 1590.388524] mmc1: sdhci-esdhc-imx: fifo debug status:  0x3610
[ 1590.394303] mmc1: sdhci-esdhc-imx: async fifo debug status:  0x3751
[ 1590.400600] mmc1: sdhci: ============================================
[ 1590.407378] ------------[ cut here ]------------
[ 1590.412126] WARNING: CPU: 0 PID: 581 at drivers/net/wireless/ti/cc33xx/sdio.c:95 cc33xx_sdio_raw_read+0x118/0x170 [cc33xx_sdio]
[ 1590.423814] Modules linked in: cc33xx_sdio cc33xx mac80211 cfg80211 btti_sdio btti usb_f_ncm u_ether libcomposite bsh_snvs_lpgpr(O) bsh_dbus2(O) [last unloaded: cfg80211]
[ 1590.439319] CPU: 0 PID: 581 Comm: irq/177-cc33xx Tainted: G           O      5.4.251+ #1
[ 1590.447540] Hardware name: Freescale i.MX6 Ultralite (Device Tree)
[ 1590.453751] Backtrace:
[ 1590.456376] [<80a101e0>] (dump_backtrace) from [<80a10590>] (show_stack+0x20/0x24)
[ 1590.464006]  r7:0000005f r6:7f1176ec r5:00000009 r4:7f1182e0
[ 1590.469820] [<80a10570>] (show_stack) from [<80a190c4>] (dump_stack+0x24/0x28)
[ 1590.477199] [<80a190a0>] (dump_stack) from [<8012db58>] (__warn+0x98/0xe8)
[ 1590.484146] [<8012dac0>] (__warn) from [<80a10e7c>] (warn_slowpath_fmt+0x74/0xe8)
[ 1590.491778]  r7:7f1176ec r6:0000005f r5:7f1182e0 r4:00000000
[ 1590.497620] [<80a10e0c>] (warn_slowpath_fmt) from [<7f1176ec>] (cc33xx_sdio_raw_read+0x118/0x170 [cc33xx_sdio])
[ 1590.507867]  r8:00000100 r7:8e04f410 r6:8ce2a600 r5:0000bffc r4:8e667c00
[ 1590.514952] [<7f1175d4>] (cc33xx_sdio_raw_read [cc33xx_sdio]) from [<7f0f3cac>] (wlcore_raw_read+0x60/0xc0 [cc33xx])
[ 1590.525737]  r9:80fa52cd r8:ffffe000 r7:8017ab38 r6:00000000 r5:7f1175d4 r4:8ce91560
[ 1590.533994] [<7f0f3c4c>] (wlcore_raw_read [cc33xx]) from [<7f0ecdec>] (wlcore_irq+0x7c/0x1f8 [cc33xx])
[ 1590.543466]  r6:7f10b000 r5:00000000 r4:8ce91560
[ 1590.548651] [<7f0ecd70>] (wlcore_irq [cc33xx]) from [<7f0ecf9c>] (irq_wrapper+0x34/0x48 [cc33xx])
[ 1590.557687]  r7:8017ab38 r6:8b88a000 r5:8fa22200 r4:8ce91560
[ 1590.563664] [<7f0ecf68>] (irq_wrapper [cc33xx]) from [<7f117be8>] (gpio_irq_thread_handler+0x30/0x3c [cc33xx_sdio])
[ 1590.574249]  r5:8fa22200 r4:8e32e200
[ 1590.578018] [<7f117bb8>] (gpio_irq_thread_handler [cc33xx_sdio]) from [<8017ab64>] (irq_thread_fn+0x2c/0x88)
[ 1590.588022] [<8017ab38>] (irq_thread_fn) from [<8017ae60>] (irq_thread+0x168/0x24c)
[ 1590.595825]  r7:8017ab38 r6:8b88a000 r5:8fa22200 r4:8e32e200
[ 1590.601558] [<8017acf8>] (irq_thread) from [<80150478>] (kthread+0x15c/0x1a0)
[ 1590.608841]  r10:8b82bac8 r9:8e32e718 r8:8e32e200 r7:00000000 r6:8b88a000 r5:8e32e240
[ 1590.616789]  r4:8e32e700
[ 1590.619390] [<8015031c>] (kthread) from [<801010e8>] (ret_from_fork+0x14/0x2c)
[ 1590.626736] Exception stack(0x8b88bfb0 to 0x8b88bff8)
[ 1590.631847] bfa0:                                     00000000 00000000 00000000 00000000
[ 1590.640163] bfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 1590.648469] bfe0: 00000000 00000000 00000000 00000000 00000013 00000000
[ 1590.655225]  r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:8015031c
[ 1590.663089]  r4:8e32e240
[ 1590.665726] ---[ end trace e565a3f9ecd23034 ]---
[ 1590.670408] cc33xx_sdio mmc1:0001:2: sdio read failed (-110)
[ 1590.676186] wlcore: ERROR IO error during core status read
[ 1590.685101] wlcore: Recovery work
[ 1590.688484] wlcore: Attempting to Get FW Crash Logs Before Starting Recovery Work

The full log is attached below.

HWTEST:root@bsh-smm-m2b [~]# calibrator wlan0 cc33xx_plt ble_plt
HWTEST:root@bsh-smm-m2b [~]# calibrator wlan0 plt power_mode on
HWTEST:root@bsh-smm-m2b [~]# calibrator wlan0 cc33xx_plt tune_channel 8 0 3
HWTEST:root@bsh-smm-m2b [~]# calibrator wlan0 cc33xx_plt set_manual_calib -tx 1 -rx 1
set_manual_calib has been called with: 4 Parameters
Calibrator:: Setting Calibration Parameters
HWTEST:root@bsh-smm-m2b [~]# calibrator wlan0 cc33xx_plt tune_channel 1 0 0
HWTEST:root@bsh-smm-m2b [~]# bluetoothctl power on
Changing power on succeeded
HWTEST:root@bsh-smm-m2b [~]# calibrator wlan0 plt power_mode off
HWTEST:root@bsh-smm-m2b [~]# ifconfig wlan0 down
HWTEST:root@bsh-smm-m2b [~]# echo 8 > /proc/sys/kernel/printk
HWTEST:root@bsh-smm-m2b [~]#
HWTEST:root@bsh-smm-m2b [~]#
HWTEST:root@bsh-smm-m2b [~]# cat /sys/module/cc33xx/parameters/debug_level
4294967094
HWTEST:root@bsh-smm-m2b [~]# ^C
HWTEST:root@bsh-smm-m2b [~]# hcitool cmd 08 34 00 FF 80 01
< HCI Command: ogf 0x08, ocf 0x00[ 1384.477628] Bluetooth: [bt sdio hci] TX from HCI received ,type=1, opcode: 0x2034 len=7 ble_enable=1
34, plen 4
  00 FF 80 01
[ 1384.489734] Bluetooth: [bt sdio] TX to SDIO sdiodev done : 0b 00 00 01 34 20 04 00 ff 80 01 00
[ 1384.502857] Bluetooth: [bt sdio] RX btti_sdio_irq_handler received
[ 1384.509696] Bluetooth: [bt sdio hci] work thread is sleeping...
[ 1384.516079] Bluetooth: [bt sdio] RX packet_len:10 packet_type:4 packet header hex: 0a 00 00 04
[ 1384.524799] Bluetooth: [bt sdio] RX packet , packet data(without header) hex: 0e 04 01 34 20 12 80 01
> HCI Event: 0x0e plen 4[ 1384.536929] Bluetooth: [bt sdio hci] work thread is sleeping...

  01 34 20 12
HWTEST:root@bsh-smm-m2b [~]# hcitool cmd 08 34 00 FF 80 01
< HCI Command: ogf 0x08, ocf 0x00[ 1403.140053] Bluetooth: [bt sdio hci] TX from HCI received ,type=1, opcode: 0x2034 len=7 ble_enable=1
34, plen 4
  00 FF 80 01
[ 1403.152651] Bluetooth: [bt sdio] TX to SDIO sdiodev done : 0b 00 00 01 34 20 04 00 ff 80 01 00
[ 1403.165517] Bluetooth: [bt sdio] RX btti_sdio_irq_handler received
[ 1403.171850] Bluetooth: [bt sdio hci] work thread is sleeping...
[ 1403.178830] Bluetooth: [bt sdio] RX packet_len:10 packet_type:4 packet header hex: 0a 00 00 04
[ 1403.188054] Bluetooth: [bt sdio] RX packet , packet data(without header) hex: 0e 04 01 34 20 12 80 01
> HCI Event: 0x0e plen 4[ 1403.199744] Bluetooth: [bt sdio hci] work thread is sleeping...

  01 34 20 12
HWTEST:root@bsh-smm-m2b [~]# hcitool cmd 3f 11 06
< HCI Command: ogf 0x3f, ocf 0x00[ 1422.318686] Bluetooth: [bt sdio hci] TX from HCI received ,type=1, opcode: 0xfc11 len=4 ble_enable=1
11, plen 1
  06
[ 1422.330951] Bluetooth: [bt sdio] TX to SDIO sdiodev done : 08 00 00 01 11 fc 01 06
[ 1422.340816] Bluetooth: [bt sdio hci] work thread is sleeping...

^C
HWTEST:root@bsh-smm-m2b [~]# dmesg | tail -n 100
[  364.058095] Bluetooth: [bt sdio] RX packet , packet data(without header) hex: 0e 04 01 31 20 00 00 00
[  364.058854] Bluetooth: [bt sdio hci] work thread is sleeping...
[  364.829800] Bluetooth: [bt sdio hci] TX from HCI received ,type=1, opcode: 0x2008 len=35 ble_enable=1
[  364.834231] Bluetooth: [bt sdio] TX to SDIO sdiodev done : 27 00 00 01 08 20 20 06 02 01 04 02 0a 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[  364.834276] Bluetooth: [bt sdio hci] work thread is sleeping...
[  364.836260] Bluetooth: [bt sdio] RX btti_sdio_irq_handler received
[  364.836524] Bluetooth: [bt sdio] RX packet_len:10 packet_type:4 packet header hex: 0a 00 00 04
[  364.836629] Bluetooth: [bt sdio] RX packet , packet data(without header) hex: 0e 04 01 08 20 00 00 00
[  364.836884] Bluetooth: [bt sdio hci] work thread is sleeping...
[  388.649425] wlcore: acx sleep auth 0
[  388.649462] wlcore: cmd configure (9), TSFL 2ee673
[  388.654766] wlcore: Reading control info
[  388.655085] wlcore: Processing message type 2, len 4
[  388.656796] wlcore: CMD# 27, len=20
[  396.026179] wlcore: testmode cmd test
[  396.026196] wlcore: cmd test
[  396.026718] wlcore: Reading control info
[  396.026849] wlcore: Processing message type 2, len 8
[  396.026902] wlcore: Response len 8, allocated buffer len 0
[  396.026912] wlcore: CMD# 31, len=20
[  402.958332] wlcore: testmode cmd set plt mode
[  402.958352] wlcore: PLT start
[  402.958373] wlcore: cmd roles enabled: bitmap before: 1, ret=1
[  402.958392] wlcore: cmd role enable, role type 16, addr = ff:ff:ff:ff:ff:ff
[  402.959147] wlcore: Reading control info
[  402.959298] wlcore: Processing message type 2, len 5
[  402.959364] wlcore: CMD# 17, len=20
[  402.959375] wlcore: complete role_id = 2
[  402.961518] wlcore: Reading control info
[  402.961665] wlcore: Processing message type 2, len 8
[  402.961721] wlcore: CMD# 19, len=80
[  402.961733] wlcore: cmd role start PLT. Role ID number: 2
[  402.962833] wlcore: Reading control info
[  402.962980] wlcore: Processing message type 2, len 4
[  402.963036] wlcore: CMD# 32, len=16
[  402.963047] wlcore: Success to send CMD_PLT_ENABLE
[  402.963059] wlcore: PLT init Role Start succeed!, PLT roleID is: 2
[  410.398463] wlcore: testmode cmd test
[  410.398483] wlcore: cmd test
[  410.399569] wlcore: Reading control info
[  410.399729] wlcore: Processing message type 2, len 12
[  410.399798] wlcore: Response len 12, allocated buffer len 0
[  410.399810] wlcore: CMD# 31, len=20
[  418.769251] wlcore: testmode cmd test
[  418.769272] wlcore: cmd test
[  418.794126] wlcore: Reading control info
[  418.794293] wlcore: Processing message type 2, len 12
[  418.794366] wlcore: Response len 12, allocated buffer len 0
[  418.794380] wlcore: CMD# 31, len=20
[  438.078494] wlcore: testmode cmd test
[  438.078514] wlcore: cmd test
[  438.079588] wlcore: Reading control info
[  438.079747] wlcore: Processing message type 2, len 12
[  438.079813] wlcore: Response len 12, allocated buffer len 0
[  438.079826] wlcore: CMD# 31, len=20
[  450.718609] wlcore: testmode cmd set plt mode
[  450.718628] wlcore: PLT stop
[  450.718642] wlcore: cmd role stop transceiver
[  450.720587] wlcore: Reading control info
[  450.720739] wlcore: Processing message type 2, len 4
[  450.720807] wlcore: CMD# 20, len=16
[  450.720820] wlcore: cmd role disable
[  450.721278] wlcore: Reading control info
[  450.721424] wlcore: Processing message type 2, len 4
[  450.721483] wlcore: CMD# 18, len=16
[  450.721827] wlcore: Reading control info
[  450.721973] wlcore: Processing message type 2, len 4
[  450.722030] wlcore: CMD# 33, len=16
[  450.722041] wlcore: Succeed to disable Transceiver mode
[  456.697278] wlcore: mac80211 configure filter, FIF_ALLMULTI = 0
[  456.697301] wlcore: acx group address tbl
[  456.697317] wlcore: cmd configure (7), TSFL 55b0ad0
[  456.698016] wlcore: Reading control info
[  456.698170] wlcore: Processing message type 2, len 4
[  456.698234] wlcore: CMD# 27, len=140
[  456.698368] wlcore: mac80211 remove interface 2
[  456.698387] wlcore: mac80211 rm: name1=wlan0, name2=wlan0, name3=wlan0
[  456.698396] wlcore: down
[  456.698407] wlcore: cmd role disable
[  456.698924] wlcore: Reading control info
[  456.699067] wlcore: Processing message type 2, len 4
[  456.699126] wlcore: CMD# 18, len=16
[  456.699167] wlcore: mac80211 stop
[ 1384.477628] Bluetooth: [bt sdio hci] TX from HCI received ,type=1, opcode: 0x2034 len=7 ble_enable=1
[ 1384.489734] Bluetooth: [bt sdio] TX to SDIO sdiodev done : 0b 00 00 01 34 20 04 00 ff 80 01 00
[ 1384.502857] Bluetooth: [bt sdio] RX btti_sdio_irq_handler received
[ 1384.509696] Bluetooth: [bt sdio hci] work thread is sleeping...
[ 1384.516079] Bluetooth: [bt sdio] RX packet_len:10 packet_type:4 packet header hex: 0a 00 00 04
[ 1384.524799] Bluetooth: [bt sdio] RX packet , packet data(without header) hex: 0e 04 01 34 20 12 80 01
[ 1384.536929] Bluetooth: [bt sdio hci] work thread is sleeping...
[ 1403.140053] Bluetooth: [bt sdio hci] TX from HCI received ,type=1, opcode: 0x2034 len=7 ble_enable=1
[ 1403.152651] Bluetooth: [bt sdio] TX to SDIO sdiodev done : 0b 00 00 01 34 20 04 00 ff 80 01 00
[ 1403.165517] Bluetooth: [bt sdio] RX btti_sdio_irq_handler received
[ 1403.171850] Bluetooth: [bt sdio hci] work thread is sleeping...
[ 1403.178830] Bluetooth: [bt sdio] RX packet_len:10 packet_type:4 packet header hex: 0a 00 00 04
[ 1403.188054] Bluetooth: [bt sdio] RX packet , packet data(without header) hex: 0e 04 01 34 20 12 80 01
[ 1403.199744] Bluetooth: [bt sdio hci] work thread is sleeping...
[ 1422.318686] Bluetooth: [bt sdio hci] TX from HCI received ,type=1, opcode: 0xfc11 len=4 ble_enable=1
[ 1422.330951] Bluetooth: [bt sdio] TX to SDIO sdiodev done : 08 00 00 01 11 fc 01 06
[ 1422.340816] Bluetooth: [bt sdio hci] work thread is sleeping...
HWTEST:root@bsh-smm-m2b [~]# ^C
HWTEST:root@bsh-smm-m2b [~]# ^C
HWTEST:root@bsh-smm-m2b [~]# ^C
HWTEST:root@bsh-smm-m2b [~]# [ 1590.245025] mmc1: Timeout waiting for hardware interrupt.
[ 1590.250488] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
[ 1590.256974] mmc1: sdhci: Sys addr:  0x8b8d2610 | Version:  0x00000002
[ 1590.263455] mmc1: sdhci: Blk size:  0x00000080 | Blk cnt:  0x00000000
[ 1590.269930] mmc1: sdhci: Argument:  0x2d7ff802 | Trn mode: 0x00000033
[ 1590.276407] mmc1: sdhci: Present:   0x01f88a0a | Host ctl: 0x00000013
[ 1590.282882] mmc1: sdhci: Power:     0x00000002 | Blk gap:  0x00000080
[ 1590.289359] mmc1: sdhci: Wake-up:   0x00000008 | Clock:    0x0000002f
[ 1590.295835] mmc1: sdhci: Timeout:   0x0000008f | Int stat: 0x00000000
[ 1590.302311] mmc1: sdhci: Int enab:  0x117f110b | Sig enab: 0x117f110b
[ 1590.308786] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000302
[ 1590.315263] mmc1: sdhci: Caps:      0x07eb0000 | Caps_1:   0x0000b400
[ 1590.321741] mmc1: sdhci: Cmd:       0x0000353a | Max curr: 0x00ffffff
[ 1590.328218] mmc1: sdhci: Resp[0]:   0x00001000 | Resp[1]:  0x00000000
[ 1590.334693] mmc1: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
[ 1590.341163] mmc1: sdhci: Host ctl2: 0x00000000
[ 1590.345644] mmc1: sdhci: ADMA Err:  0x00000007 | ADMA Ptr: 0x8cf27200
[ 1590.352114] mmc1: sdhci-esdhc-imx: ========= ESDHC IMX DEBUG STATUS DUMP =========
[ 1590.359720] mmc1: sdhci-esdhc-imx: cmd debug status:  0x3100
[ 1590.365412] mmc1: sdhci-esdhc-imx: data debug status:  0x3200
[ 1590.371190] mmc1: sdhci-esdhc-imx: trans debug status:  0x3300
[ 1590.377057] mmc1: sdhci-esdhc-imx: dma debug status:  0x3402
[ 1590.382747] mmc1: sdhci-esdhc-imx: adma debug status:  0x35b4
[ 1590.388524] mmc1: sdhci-esdhc-imx: fifo debug status:  0x3610
[ 1590.394303] mmc1: sdhci-esdhc-imx: async fifo debug status:  0x3751
[ 1590.400600] mmc1: sdhci: ============================================
[ 1590.407378] ------------[ cut here ]------------
[ 1590.412126] WARNING: CPU: 0 PID: 581 at drivers/net/wireless/ti/cc33xx/sdio.c:95 cc33xx_sdio_raw_read+0x118/0x170 [cc33xx_sdio]
[ 1590.423814] Modules linked in: cc33xx_sdio cc33xx mac80211 cfg80211 btti_sdio btti usb_f_ncm u_ether libcomposite bsh_snvs_lpgpr(O) bsh_dbus2(O) [last unloaded: cfg80211]
[ 1590.439319] CPU: 0 PID: 581 Comm: irq/177-cc33xx Tainted: G           O      5.4.251+ #1
[ 1590.447540] Hardware name: Freescale i.MX6 Ultralite (Device Tree)
[ 1590.453751] Backtrace:
[ 1590.456376] [<80a101e0>] (dump_backtrace) from [<80a10590>] (show_stack+0x20/0x24)
[ 1590.464006]  r7:0000005f r6:7f1176ec r5:00000009 r4:7f1182e0
[ 1590.469820] [<80a10570>] (show_stack) from [<80a190c4>] (dump_stack+0x24/0x28)
[ 1590.477199] [<80a190a0>] (dump_stack) from [<8012db58>] (__warn+0x98/0xe8)
[ 1590.484146] [<8012dac0>] (__warn) from [<80a10e7c>] (warn_slowpath_fmt+0x74/0xe8)
[ 1590.491778]  r7:7f1176ec r6:0000005f r5:7f1182e0 r4:00000000
[ 1590.497620] [<80a10e0c>] (warn_slowpath_fmt) from [<7f1176ec>] (cc33xx_sdio_raw_read+0x118/0x170 [cc33xx_sdio])
[ 1590.507867]  r8:00000100 r7:8e04f410 r6:8ce2a600 r5:0000bffc r4:8e667c00
[ 1590.514952] [<7f1175d4>] (cc33xx_sdio_raw_read [cc33xx_sdio]) from [<7f0f3cac>] (wlcore_raw_read+0x60/0xc0 [cc33xx])
[ 1590.525737]  r9:80fa52cd r8:ffffe000 r7:8017ab38 r6:00000000 r5:7f1175d4 r4:8ce91560
[ 1590.533994] [<7f0f3c4c>] (wlcore_raw_read [cc33xx]) from [<7f0ecdec>] (wlcore_irq+0x7c/0x1f8 [cc33xx])
[ 1590.543466]  r6:7f10b000 r5:00000000 r4:8ce91560
[ 1590.548651] [<7f0ecd70>] (wlcore_irq [cc33xx]) from [<7f0ecf9c>] (irq_wrapper+0x34/0x48 [cc33xx])
[ 1590.557687]  r7:8017ab38 r6:8b88a000 r5:8fa22200 r4:8ce91560
[ 1590.563664] [<7f0ecf68>] (irq_wrapper [cc33xx]) from [<7f117be8>] (gpio_irq_thread_handler+0x30/0x3c [cc33xx_sdio])
[ 1590.574249]  r5:8fa22200 r4:8e32e200
[ 1590.578018] [<7f117bb8>] (gpio_irq_thread_handler [cc33xx_sdio]) from [<8017ab64>] (irq_thread_fn+0x2c/0x88)
[ 1590.588022] [<8017ab38>] (irq_thread_fn) from [<8017ae60>] (irq_thread+0x168/0x24c)
[ 1590.595825]  r7:8017ab38 r6:8b88a000 r5:8fa22200 r4:8e32e200
[ 1590.601558] [<8017acf8>] (irq_thread) from [<80150478>] (kthread+0x15c/0x1a0)
[ 1590.608841]  r10:8b82bac8 r9:8e32e718 r8:8e32e200 r7:00000000 r6:8b88a000 r5:8e32e240
[ 1590.616789]  r4:8e32e700
[ 1590.619390] [<8015031c>] (kthread) from [<801010e8>] (ret_from_fork+0x14/0x2c)
[ 1590.626736] Exception stack(0x8b88bfb0 to 0x8b88bff8)
[ 1590.631847] bfa0:                                     00000000 00000000 00000000 00000000
[ 1590.640163] bfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 1590.648469] bfe0: 00000000 00000000 00000000 00000000 00000013 00000000
[ 1590.655225]  r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:8015031c
[ 1590.663089]  r4:8e32e240
[ 1590.665726] ---[ end trace e565a3f9ecd23034 ]---
[ 1590.670408] cc33xx_sdio mmc1:0001:2: sdio read failed (-110)
[ 1590.676186] wlcore: ERROR IO error during core status read
[ 1590.685101] wlcore: Recovery work
[ 1590.688484] wlcore: Attempting to Get FW Crash Logs Before Starting Recovery Work
[ 1590.705612] wlcore: Reading control info
[ 1590.715008] wlcore: control read Error response 0xfffffffb
[ 1590.835072] wlcore: Reading control info
[ 1590.839065] wlcore: control read Error response 0xfffffffb
[ 1590.955186] wlcore: Reading control info
[ 1590.959174] wlcore: control read Error response 0xfffffffb
[ 1591.075084] wlcore: Reading control info
[ 1591.079070] wlcore: control read Error response 0xfffffffb
[ 1591.195081] wlcore: Reading control info
[ 1591.199066] wlcore: control read Error response 0xfffffffb
[ 1591.315079] wlcore: Reading control info
[ 1591.319063] wlcore: control read Error response 0xfffffffb
[ 1591.435033] wlcore: Reading control info
[ 1591.439020] wlcore: control read Error response 0xfffffffb
[ 1591.555093] wlcore: Reading control info
[ 1591.559081] wlcore: control read Error response 0xfffffffb
[ 1591.675111] wlcore: Reading control info
[ 1591.679101] wlcore: control read Error response 0xfffffffb
[ 1591.795030] wlcore: Reading control info
[ 1591.799014] wlcore: control read Error response 0xfffffffb
[ 1591.915083] wlcore: Reading control info
[ 1591.919068] wlcore: control read Error response 0xfffffffb
[ 1592.035079] wlcore: Reading control info
[ 1592.039065] wlcore: control read Error response 0xfffffffb
[ 1592.155069] wlcore: Reading control info
[ 1592.159051] wlcore: control read Error response 0xfffffffb
[ 1592.275076] wlcore: Reading control info
[ 1592.279058] wlcore: control read Error response 0xfffffffb
[ 1592.395020] wlcore: Reading control info
[ 1592.399005] wlcore: control read Error response 0xfffffffb
[ 1592.515084] wlcore: Reading control info
[ 1592.519067] wlcore: control read Error response 0xfffffffb
[ 1592.635076] wlcore: Reading control info
[ 1592.639059] wlcore: control read Error response 0xfffffffb
[ 1592.755073] wlcore: Reading control info
[ 1592.759053] wlcore: control read Error response 0xfffffffb
[ 1592.875038] wlcore: Reading control info
[ 1592.879029] wlcore: control read Error response 0xfffffffb
[ 1592.995095] wlcore: Reading control info
[ 1592.999083] wlcore: control read Error response 0xfffffffb
[ 1593.115085] wlcore: Reading control info
[ 1593.119072] wlcore: control read Error response 0xfffffffb
[ 1593.235077] wlcore: Reading control info
[ 1593.239060] wlcore: control read Error response 0xfffffffb
[ 1593.355088] wlcore: Reading control info
[ 1593.359072] wlcore: control read Error response 0xfffffffb
[ 1593.475017] wlcore: Reading control info
[ 1593.479002] wlcore: control read Error response 0xfffffffb
[ 1593.595068] wlcore: Reading control info
[ 1593.599052] wlcore: control read Error response 0xfffffffb
[ 1593.715076] wlcore: Timed Out Attempting to read  CRASH FW Logs
[ 1593.721067] wlcore: Turning off
[ 1594.235106] wlcore: Chip wakeup
[ 1594.545231] wlcore: Set BLKsize to 128
[ 1596.645044] wlcore: ERROR boot IRQ timeout
[ 1596.649802] ieee80211 phy0: Hardware restart was requested
[ 1596.662073] wlcore: Recovery complete

Other HCI commands execute successfully. Additionally, we have previously set the BLE TX power with BLE over UART using the same command, and it worked as expected.

  • Hi Yinzhe,

    Thanks for the details, we will try to replicate your observation and get back to you shortly! 

  • Hi Yinzhe,

    I looked over the hci commands you used and I have a few comments:

    • before running the "calibrator wlan0 cc33xx_plt ble_plt" command you should use the command "sh set_power_mode.sh 0". This script is located in the /usr/share/cc33xx directory.
    • The "hcitool cmd 08 34 00 FF 80 01" command is incorrect syntax, the "80" is incorrect.

      Here is the correct usage of the command:

      hcitool cmd 08 34 <tx_channel> <length of packet> <packet pattern> <PHY rate>

      channel options:

      Setting Input

      BLE

      CH

      0

      37

      1

      0

      2

      1

      3

      2

      4

      3

      5

      4

      6

      5

      7

      6

      8

      7

      9

      8

      A

      9

      B

      10

      C

      38

      D

      11

      E

      12

      F

      13

      10

      14

      11

      15

      12

      16

      13

      17

      14

      18

      15

      19

      16

      20

      17

      21

      18

      22

      19

      23

      1A

      24

      1B

      25

      1C

      26

      1D

      27

      1E

      28

      1F

      29

      20

      30

      21

      31

      22

      32

      23

      33

      24

      34

      25

      35

      26

      36

      27

      39

       

      Packet pattern options:

      0x00 – PRBS9

      0x01 – 0x0F

      0x02 – 0x55

      0x03 – PRBS15

      0x04 – 0xFF

      0x05 – 0x00

      0x06 – 0xF0

      0x07 – 0xAA

       

      PHY rate options:

      0x01 – 1M

      0x02 – 2M

      0x03 – 125k coded

      0x04 – 500k coded

    • I see that you use the "hcitool cmd 08 34 ..." command before the "hcitool cmd 3f 11 xx" command. 
      This is not the correct flow: the 3f 11 command defines the tx power, and the 08 34 command starts tx transmission.
      You should first set the tx power then begin tx. 
      And if you wish to change the tx power you should first stop tx using the command "hcitool cmd 08 1f" then set tx power, then start transmission again.

     

    Let me know if this new flow works for you.

    Regards,

    Jonathan