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: WL1835MOD send bts initialization file

Part Number: WL1835MOD


We are using a very light weight installation of Debian on a device with WL1835MOD that does not include BlueZ or Bluetopia.  We can enable Bluetooth and communicate via UART but when we initiate an LE Scan for instance we never receive any results back, just notification over UART later when the scan ends.  We do have the latest bts file in lib/firmware but wonder if it's being loaded properly. How can we send the initialization code manually over UART?

  • Daniel,

    Usually, the bluetooth stack (e.g. BlueZ or TI dual-mode BT stack for Linux) uses the bts file in the /lib/firmware directory to initialize the WL183x controller.

    Without any host stack present, the bts download process will require you to implement somewhat complicated mechanism on your host processor. Are you able to add SS1BTPM (TI BT stack daemon) and SS1Tool (application to send raw HCI commands to controller) to your filesystem? These are user-space applications and only require definition of tty port (for HCI) and gpio (for BT enable pin of WL183x).

    Best regards,

    Vihang

  • Vihang,

    We already have a custom HCI module available that allows us to issue raw HCI commands as well as control the gpio. So with this can we just issue a series of HCI commands to initialize and if so what would those be?

    Thanks,

    Dan
  • Daniel Lipszyc said:
    So with this can we just issue a series of HCI commands to initialize and if so what would those be?

    Yes, you could do that for each of the HCI commands in the bts file. While performing this experiment, you should skip the first (HCI_VS_Update_Uart_HCI_Baudrate) and last (HCI_VS_Sleep_Mode_Configurations) commands of the bts file, since these commands require changes on the host side as well (e.g. updating the local host's UART baud rate after HCI_VS_Update_Uart_HCI_Baudrate command).

    Best regards,

    Vihang

  • Vihang,

    After doing this and issuing a status command we get the following status:
    %{
    baud_rate: 115200,
    cdc_mode: 1,
    chip_mode: 1,
    chip_revision: 40,
    deep_sleep_mode: 0,
    fref: 60000,
    fref_tcxo_clock: 26000,
    hopping_mode: 0,
    i2c_status: 0,
    odp_process: 0,
    process_type_detected: 0,
    reserved1: 0,
    reserved2: 31,
    self_test: 0,
    slow_clock_used: 1,
    software_version_x: 8,
    software_version_z: 32,
    status: 0,
    temperature_detected: 32,
    temperature_index: 7,
    whitening_mode: 0
    }

    self_test:0 indicates the testing failed correct? After sending all the HCI initialization commands we still do not see any scan results after issuing a scan enable command. But we do get the correct command event response indicating the scan enable was successful.

    Thanks,

    Dan
  • Daniel,

    Since you have a custom implementation to download the service-pack to the WL1835MOD, it is possible that the initialization is not working properly. Could you please share the WL1835MOD Bluetooth firmware logs when initializing the controller with bts file?
    Logger User's Guide : www.ti.com/.../swau058

    Best regards,
    Vihang