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.

How to bring up Bluetooth with Bluedroid(android)

Other Parts Discussed in Thread: CC2540

Hi,

 

For bringing up BT with bluedroid(android).

 

NOTE: You don’t require “btwilink”.

 

First make sure shared transport driver is built. For that you need to follow the below steps.

  1. Make clean.
  2. Add the below in your defconfig file.

#
# Texas Instruments shared transport line discipline
#
CONFIG_TI_ST=y
CONFIG_ST_HCI=y

 

  1. Get the HCI TTY driver (/kernel/drivers/misc/ti-st) from the below link,

http://git.omapzoom.org/?p=kernel/omap.git;a=tree;hb=p-android-omap-3.4.

  1. Make sure that your UART port  /dev/ttyxxxxx has correct permissions(in “init.rc” file).
  2. Now build the kernel.

 

Now get the WPAN folder which contains UIM(path: wpan/ti_st) and the “Libbt-vendor-ti”(path: wpan/bluedroid_wilink ) from the below link,

http://git.omapzoom.org/?p=platform/hardware/ti/wpan.git;a=tree;h=refs/heads/d-jb-mr1-release;hb=refs/heads/d-jb-mr1-release

And add the “uim-sysfs” service in your init.rc.

For Example:

#shared transport user space mgr service for Bluetooth

service uim /system/bin/uim-sysfs

                class core

                user root

                group bluetooth net_bt_admin

NOTE: During the boot-up sequence ST will be registered and UIM service will be started. And after the bootup, once the user turns on BT, GPIO is pulled high and line discipline is installed. Now the initscript(firmware) will be downloaded.

Please ensure the below:

  1. “/sys/devices/platform/kim” exists on the device.
  2. uim-sysfs is running
  3. The relevant bt firmware (bts file) is located in /system/etc/firmware/

If the above three thing exists and still you are facing line discipline installation failure. Then GPIO is to be suspected.

Thanks & Regards,

Sundeep.