I embedded bluetooth sdio controller to Android IMX board . I want to up the bluetooth sdio controller from GUI but i couldnt made. can u please suggest how bluetooth device will up ?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

I embedded bluetooth sdio controller to Android IMX board . I want to up the bluetooth sdio controller from GUI but i couldnt made. can u please suggest how bluetooth device will up ?

Jump to solution
3,544 Views
janardhanabokka
Contributor I

I embedded bluetooth sdio controller to Android IMX board . I want to up the bluetooth sdio controller from GUI but i couldnt made. can u please suggest how bluetooth device will up ?

1 Solution
1,583 Views
YS
Contributor IV

Bluetooth HCI (Host controller interface) on SDIO driver should be handled by btsdio.ko. I know it is there (usually /lib/modules/<kernel-version>/kernel/drivers/bluetooth) but I never actually used it, so I don't have much information how to use it.

However, not all the Bluetooth function on SDIO wireless card uses HCI over SDIO. It if you are using WiFi/Bluetooth combo card it is unlikely to have HCI over SDIO, because the SDIO interface is occupied by WiFi function. In this case, it may uses HCI over UART. There could be UART over SDIO, or separate UART connector is provided.

If Bluetooth function on the module is UART connected, first you somehow make the UART port able to shown on /dev as a tty device. Then you use "hciattach" command (which should be included in Linux distribution) to create a Bluetooth node (hciX) on that tty port.

Once hci node is created (you can see it from hciconfig -a command), the GUI (GNome Bluetooth-Manager) will automatically detect it so you can configure / add device through the control panel.

View solution in original post

6 Replies
1,584 Views
YS
Contributor IV

Bluetooth HCI (Host controller interface) on SDIO driver should be handled by btsdio.ko. I know it is there (usually /lib/modules/<kernel-version>/kernel/drivers/bluetooth) but I never actually used it, so I don't have much information how to use it.

However, not all the Bluetooth function on SDIO wireless card uses HCI over SDIO. It if you are using WiFi/Bluetooth combo card it is unlikely to have HCI over SDIO, because the SDIO interface is occupied by WiFi function. In this case, it may uses HCI over UART. There could be UART over SDIO, or separate UART connector is provided.

If Bluetooth function on the module is UART connected, first you somehow make the UART port able to shown on /dev as a tty device. Then you use "hciattach" command (which should be included in Linux distribution) to create a Bluetooth node (hciX) on that tty port.

Once hci node is created (you can see it from hciconfig -a command), the GUI (GNome Bluetooth-Manager) will automatically detect it so you can configure / add device through the control panel.

1,583 Views
janardhanabokka
Contributor I

Thanks for our information  :smileyhappy: . I modified bluetooth.c file in bluedroid , which will be used for SDIO interface .

0 Kudos
1,583 Views
akshayithal
Contributor I

Hi Janadhana Bokka,

Can you please let us know what change you added in bluetooth.c (or bluedroid) such that it works with SDIO? I am using Atheros AR6233G on IMX6 Sabresd platform with Android 4.2.2.

Regards,

Akshay

0 Kudos
1,583 Views
Rodrigue
NXP Employee
NXP Employee

Dear Akshay,

Looking at the Atheros AR622X chipset and the Silex Module, it seems to me that BT uses only the UART, and SDIO pins are reserved for WLAN. In this case, you have no possibility to do UART over SDIO to use the BT. I do not think the combo chipset form Atheros enables that. This is why you have separate connector for BT on the Silex module.

Overwise, it would have been more convenient and cheaper to do everything over SDIO as you suggest.

br,

Rod

0 Kudos
1,583 Views
YS
Contributor IV

By default Android 4.2 Jerry Bean does not support ATH3K HCI driver.

It only supports generic HCI over UART protocol, called "H4".

AR3001/3002 requires special initialization process, uploading firmware

(RamPatch.txt) and calibration data (PS_ASIC.pst) . After the initialization

completed, it works as generic H4 Bluetooth device.

You can refer to hciattach_ath3k.c included in BlueZ source package how to

initialize AR3001/3002, if you don't mind GPL issue.

0 Kudos
1,583 Views
MarekVasut
Senior Contributor I

What board / CPU do you use really?