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/AM5728: TI Bluetooth WL18xx - hci0 interface problem

Part Number: AM5728

Tool/software: Linux

Hi All,

I am using AM57xx EVM for Bluetooth interface with WL18xx, for that I am following TI Bluetooth Stack WL18xx guide,

Using Bluetopia stack, i am able scan and pair with deices but unable to do data transfer with another device(non WL18xx such as PC/Android device).

I am also unable to find hci0 interface in my root file system when i give hciconfig -a. I know bluetooth device is attached to /dev/ttyS7 - using which able to make hci0 attach (hciattach /dev/ttyS7 any 3000000 noflow) gives the bluetooth adapter in hciconfig -a list but unable to make it up.

Why am i unable to get hci0 interface as Bluetopia only meant for the same devices on both ends, my application is to communicate with different bluetooth device.

Note: I am using ti-processor-sdk-linux-am57xx-evm-04.03.00.05

Following kernel modules are already enable,

#
# Bluetooth device drivers
#
CONFIG_BT_INTEL=m
CONFIG_BT_BCM=m
CONFIG_BT_RTL=m
CONFIG_BT_HCIBTUSB=m
CONFIG_BT_HCIBTUSB_BCM=y
CONFIG_BT_HCIBTUSB_RTL=y
CONFIG_BT_HCIBTSDIO=y
CONFIG_BT_HCIUART=y
CONFIG_BT_HCIUART_H4=y
CONFIG_BT_HCIUART_BCSP=y
# CONFIG_BT_HCIUART_ATH3K is not set
CONFIG_BT_HCIUART_LL=y
CONFIG_BT_HCIUART_3WIRE=y
# CONFIG_BT_HCIUART_INTEL is not set
# CONFIG_BT_HCIUART_BCM is not set
# CONFIG_BT_HCIUART_QCA is not set
# CONFIG_BT_HCIUART_AG6XX is not set
# CONFIG_BT_HCIUART_MRVL is not set
CONFIG_BT_HCIBCM203X=m
CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBFUSB=m
CONFIG_BT_HCIVHCI=y
CONFIG_BT_MRVL=m
CONFIG_BT_MRVL_SDIO=m
# CONFIG_BT_ATH3K is not set
# CONFIG_AF_RXRPC is not set
# CONFIG_AF_KCM is not set
# CONFIG_STREAM_PARSER is not set
CONFIG_FIB_RULES=y
CONFIG_WIRELESS=y

Logs:

root@Linux:~#
root@Linux:~# hciconfig -a
hci0: Type: BR/EDR Bus: UART
BD Address: 00:00:00:00:00:00 ACL MTU: 0:0 SCO MTU: 0:0
DOWN
RX bytes:0 acl:0 sco:0 events:0 errors:0
TX bytes:24 acl:0 sco:0 commands:6 errors:0
Features: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
Packet type: DM1 DH1 HV1
Link policy:
Link mode: SLAVE ACCEPT

root@Linux:~# hciconfig hci0 up
[ 1379.685197] Bluetooth: hci0 command 0x1003 tx timeout
[ 1391.845239] Bluetooth: hci0 command 0x1001 tx timeout
[ 1404.005282] Bluetooth: hci0 command 0x1009 tx timeout
Can't init device hci0: Connection timed out (110)
root@Linux:~#

So, please provide few pointers regarding the same ASAP.

Thanks and Regards,

Snehal Patel

  • Hi,

    I think you are mixing here between two different bluetooth stacks.
    The hciconfig commands you are using are part of the blueZ stack.
    when you use the TI Bluetooth Stack you should not try to bring up the hci device and rather use the Bluetopia applications.

    Best Regards,
    Eyal
  • Hi Eyal,

    I understood both Blutopia and Bluez are of different stacks. All i want is to make My board transfers/receives a file or some raw data in bytes to/from a different device. As we have another module that sends data through Bluetooth interface and that must be received to TI-AM572x and process the same. So, to accomplish this, please provide few pointers how to use Blutpoia stack because on the other device i can not run Bluetopia as it is a microcontroller.

    Expecting : 1) How to use Bluetopia stack to pair an external device(non-Bluetopia stack) and transfer data between these two devices.
                       2) Which of the Bluetpoia applications are used to communicate with external Bluetooth devices

    Regards,

    Snehal

  • You can use SPP or FTP profiles to transfer data, files. Since these profiles are BT SIG specifications they are inter operable between various stacks. You can find FTP and SPP demos for Blutopia stack (TI recommended) here -

    processors.wiki.ti.com/.../WL18xx_TI_Bluetooth_Stack_FTPM_Demo_App
    processors.wiki.ti.com/.../WL18xx_TI_Bluetooth_Stack_SPPM_Demo_App

    Thanks
  • Hi Hari / Eyal,

    I have tried using SPP and FTP profiles but ended up getting nothing as the application i'm working on has a microcontroller that has a Bluetooth interface and if paired to it(microcontroller - a remote device) - gives a serial node tty* on the local host device that can be used to read the data.

    So, to meet this requirement: can you please guide me here. Few of the questions:

    1) Independent of the remote device BT stack, can we use Bluetopia and pair, connect and transfer data between devices ?
    2) Is it true that Bluetopia is the only stack we can bring up on TI-Am572x ?? or Bluez(using HCI) also can be used ?
    3) Since my remote device is a microcontroller i don't think FTP/SPP clients can run in it, still can i use them here ?

    Please provide few inputs to solve my issue.

    Thanks in advance!

    Snehal

  • Hi,

    1) Independent of the remote device BT stack, can we use Bluetopia and pair, connect and transfer data between devices ?
    Ans: Yes, as such all BT SIG compliant stacks, should interoperate. Yes, Blutopia stack and WL18xx BT controller are BT SIG complaint and you can review the compliance reports of any vendor devices registering at Bluetooth SIG (https://www.bluetooth.com/)
    2) Is it true that Bluetopia is the only stack we can bring up on TI-Am572x ?? or Bluez(using HCI) also can be used ?
    Ans: Some customers also use Bluez (linux open source stack).
    3) Since my remote device is a microcontroller i don't think FTP/SPP clients can run in it, still can i use them here ?
    Ans: For all customizations etc, we recommend contacting cloud2gnd. Their website "http://cloud2gnd.com/". They can help with custom solutions to your product needs..

    Thanks