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.

WL1835MOD: TI-BT-4-2-STACK-LINUX-ADDON installed but version is 4.1

Part Number: WL1835MOD
Other Parts Discussed in Thread: TI-BT-4-2-STACK-LINUX-ADDON, WL18XX-BT-SP

Hello TI,

I  use TI-BT-4-2-STACK-LINUX-ADDON but the device still reports Bluetooth version 4.1

Steps to reproduce:

1. Download TI-BT-4-2-STACK-LINUX-ADDON and WL18XX-BT-SP Bluetooth service pack for WL18xx.

2. Copy SS1BTPM, TIInit_11.8.32BT4.2.bts and my demoapp onto the target

3. Start SS1BTPM and review usage of right bts file

Output:

root@ti~# ./SS1BTPM &
[1] 1654
root@ert:~# ./spirohome.app
BTPM_Initialize() Success: 0.
DEVM_RegisterEventCallback() Success: 5.
GATM_RegisterEventCallback() Success: 1.
echo 63 > /sys/class/gpio/export
sh: line 0: echo: write error: Device or resource busy
echo out > /sys/class/gpio/gpio63/direction
echo 0 > /sys/class/gpio/gpio63/value
echo 1 > /sys/class/gpio/gpio63/value
echo 0 > /sys/class/gpio/gpio63/value
echo 1 > /sys/class/gpio/gpio63/value
BT COMM PORT (/dev/ttyO2): 1
Changing HCI baud rate to 3000000
Status: Executing BTS Script /lib/firmware/TIInit_11.8.32.bts.

4. Start wireshark to record the connection and pairing process

5. Start the demo application

Bluetooth Low Energy Link Layer
    Access Address: 0x8d2ae6c6
    [Master Address: TexasInstrum_d0:5a:4b (38:d2:69:d0:5a:4b)]
    [Slave Address: TexasInstrum_xx:xx:xx (xx:xx:xx:xx:xx:xx)]
    Data Header
        .... ..11 = LLID: Control PDU (0x3)
        .... .1.. = Next Expected Sequence Number: 1 [ACK]
        .... 1... = Sequence Number: 1 [OK]
        ...0 .... = More Data: False
        ..0. .... = CTE Info: Not Present
        00.. .... = RFU: 0
        Length: 6
    Control Opcode: LL_VERSION_IND (0x0c)
    Version Number: 4.1 (0x07)
    Company Id: Texas Instruments Inc. (0x000d)
    Subversion Number: 0xac08
    [Response in Frame: 546]
    [Connection Parameters in: 540]
    CRC: 0xe1aff9

Regards,

Th. Thielemann

  • Hi Thomas, 

    Did you install the BTS into path /lib/firmware/ti-connectivity/ on your target? If so, could you perform 'ls -al' on this directory and reply me here with the output?

  • Hello Sabeeh Khan1,

    yes, I installed the firmware. Please see my original post for the steps I did. I assume you mean step #2. I'm on a business trip and have no access to the device yet. But I remember that after the reboot the firmware file in TIInit_11.8.32BT4.2.bts in /lib/firmware/ti-connectivity seems to be renamed to TIInit_11.8.32.bts.

    Regards,

    Thomas

  • Hello Sabeeh Khan1,

    here the content of the requested folder:

    root@am335x-evm:/home/testApp# ll /lib/firmware/ti-connectivity/
    drwxr-sr-x    2 root     root          4096 Apr 15 21:07 ./
    drwxr-sr-x    3 root     root          4096 Aug  9  2023 ../
    -rw-r--r--    1 root     root         75523 Apr 15 21:07 TIInit_11.8.32BT4.2.bts
    -rwxr-xr-x    1 root     root          1221 Mar 31  2014 wl18xx-conf.bin*
    -rwxr-xr-x    1 root     root        673328 Mar 31  2014 wl18xx-fw-2.bin*

    But on start of my application I got also:

    BTPM_Initialize() Success: 0.
    DEVM_RegisterEventCallback() Success: 5.
    GATM_RegisterEventCallback() Success: 1.
    echo 63 > /sys/class/gpio/export
    echo out > /sys/class/gpio/gpio63/direction
    echo 0 > /sys/class/gpio/gpio63/value
    echo 1 > /sys/class/gpio/gpio63/value
    echo 0 > /sys/class/gpio/gpio63/value
    echo 1 > /sys/class/gpio/gpio63/value
    BT COMM PORT (/dev/ttyO2): 1
    Changing HCI baud rate to 3000000
    Status: Executing BTS Script /lib/firmware/TIInit_11.8.32.bts.
    Status: BTS Script successfully executed.
    DEVM_PowerOnDevice() Success: 0.

    So on a second run I copied the TIInit_11.8.32BT4.2.bts also to /lib/firmware, killed SS1BTPM, restart SS1BTPM and test application:

    root@am335x-evm:/home/testApp# cp /lib/firmware/ti-connectivity/TIInit_11.8.32BT4.2.bts /lib/firmware/
    root@am335x-evm:/home/testApp# ls -la /lib/firmware
    drwxr-sr-x    3 root     root          4096 Apr 15 21:26 ./
    drwxr-sr-x    8 root     root          4096 Oct 18 16:46 ../
    -rw-r-Sr--    1 root     root          3056 Mar 31  2014 LICENCE
    -rw-r-Sr--    1 root     root         73655 Aug  9  2023 TIInit_11.8.32.bts
    -rw-r--r--    1 root     root         75523 Apr 15 21:26 TIInit_11.8.32BT4.2.bts
    -rw-r-Sr--    1 root     root         10796 Mar 31  2014 am335x-pm-firmware.bin
    drwxr-sr-x    2 root     root          4096 Apr 15 21:07 ti-connectivity/

    ...

    BTPM_Initialize() Success: 0.
    DEVM_RegisterEventCallback() Success: 5.
    GATM_RegisterEventCallback() Success: 1.
    echo 0 > /sys/class/gpio/gpio63/value
    echo 1 > /sys/class/gpio/gpio63/value
    echo 0 > /sys/class/gpio/gpio63/value
    echo 1 > /sys/class/gpio/gpio63/value
    BT COMM PORT (/dev/ttyO2): 2
    Changing HCI baud rate to 3000000
    Status: Executing BTS Script /lib/firmware/TIInit_11.8.32.bts.
    Status: BTS Script successfully executed.
    DEVM_PowerOnDevice() Success: 0.

    On the third run I copied TIInit_11.8.32BT4.2.bts to /lib/firmware/TIInit_11.8.32.bts. But in this case the DevicePowerOn failed:

    root@am335x-evm:/home/testApp# /home/testApp/SS1BTPM &
    root@am335x-evm:/home/testApp# ll /lib/firmware
    drwxr-sr-x    3 root     root          4096 Apr 15 21:31 ./
    drwxr-sr-x    8 root     root          4096 Oct 18 16:46 ../
    -rw-r-Sr--    1 root     root          3056 Mar 31  2014 LICENCE
    -rw-r--r--    1 root     root         75523 Apr 15 21:31 TIInit_11.8.32.bts
    -rw-r--r--    1 root     root         75523 Apr 15 21:26 TIInit_11.8.32BT4.2.bts
    -rw-r-Sr--    1 root     root         10796 Mar 31  2014 am335x-pm-firmware.bin
    drwxr-sr-x    2 root     root          4096 Apr 15 21:07 ti-connectivity/
    root@am335x-evm:/home/testApp# ./testapp.app  -a 04:EE:03:DB:60:34
    BTPM_Initialize() Success: 0.
    DEVM_RegisterEventCallback() Success: 5.
    GATM_RegisterEventCallback() Success: 1.
    echo 63 > /sys/class/gpio/export
    sh: write error: Device or resource busy
    echo out > /sys/class/gpio/gpio63/direction
    echo 0 > /sys/class/gpio/gpio63/value
    echo 1 > /sys/class/gpio/gpio63/value
    echo 0 > /sys/class/gpio/gpio63/value
    echo 1 > /sys/class/gpio/gpio63/value
    BT COMM PORT (/dev/ttyO2): 1
    Changing HCI baud rate to 3000000
    Status: Executing BTS Script /lib/firmware/TIInit_11.8.32.bts.
    Status: BTS Script successfully executed.
    DEVM_PowerOnDevice() Failure: -4, Unknown Error.
    DEVM_RegisterAuthentication() Success: 5.

    This issue is also the case after restart of the whole device and re-run of the procedure.

  • Hi Sabeeh Kahn1 can you lease have a look on our feedback and tell us who we can fix?

  • Hi Bernd,

    I apologize for the delay. Let me discuss internally with a colleague and I'll get back to you tomorrow. 

  • Hi Bernd, 

    You should be using TIInit_11.8.32.bts from WL18XX-BT-SP. This is the latest that we provide and should be updated for 5.1.

  • Hi Sabeeh,

    this is what we did we used the files from the latest WL18XX-BT-SP in Version 4.8 that we can find on the TI homepage from NOV 2021.
    But still the stack reports V4.1?

    We are unsure about this statement here:

    Note: Please, use the BTS file “TIInit_11.8.32-BT4.2.bts” For BT4.2 TIBluetopiaPM stack. This BTS
    file contains two VS commands to set FW core version to 4.2 to be compatible with 4.2 BluetopiaPM
    stack.

    Does this mean we have rename the file TIInit_11.8.32-BT4.2.bts to TIInit_11.8.32.bts that is used instead of the original one?

    Thank you for your support

  • Hi Bernd,

    So the difference between TIInit_11.8.32-BT4.2.bts and TIInit_11.8.32.bts changes what bt spec is supported. 

    TIInit_11.8.32.bts has an add on that changes the version to support 5.1 and that version needs to match the 5.1 Bluetopia SDK

    (This is why when using the TIInit_11.8.32.-BT4.1bts the device refuses to power on due to the mismatch)

    Could you take FW logs using Logger to verify our chip is indeed advertising LMP version 4.2 on your setup?

    Best,

    Rogelio