Take the 2-minute tour ×
Android Enthusiasts Stack Exchange is a question and answer site for enthusiasts and power users of the Android operating system. It's 100% free, no registration required.

Is there any way to add Bluetooth USB dongle support to Android OS? My version that I use for an embedded device doesn't contain any BT dongle support I think. What has to be done to add this feature?

Note: My device is ATMEL SAM9x5 EV Board. So Atmel, provide an Android BSP for this. But i think it's so simple adaptation for board. I'm not able to use "hciconfig" or "hcitool" commands even. 2 months ago, i contacted them but i can't reach correct man. Also i bought a bluetooth Uart module from CC&C (RTL8723) and i ported it to my Android BSP and Kernel but same result. Nothing worked. USB or UART not important for my project. So i'm not kernel specialist or system. My application is almost okay. EXcept bluetooth side. I have already done, I2C, GPIO and UART side. All are working. Also i'm able to change some kernel and framework specific things but not more. Just LCD customization and UART, GPIO stuff.And i decided to ask some stupid question to understand somethings.

share|improve this question
    
You'll have to recompile the kernel and flash it to the board (or start it via other means); you also have to find the hciconfig/hcitool programs or compile them yourself, they're probably not part of the SDK kit. –  ce4 Nov 24 '12 at 12:42
add comment

1 Answer

Its possible by changing kernel to another one with support of features, needed to you.

You most probably need to recompile your own kernel. Since the Bluetooth card is connected to the USB subsystem, you will need to enable USB support in your kernel. This is what probably needs to be enabled:

Device Drivers → USB support → Support for Host-side USB (CONFIG_USB)
Device Drivers → USB support → [*]USB device file system (CONFIG_USB_DEVICEFS)
Choose an appropriate USB host driver, one of:
Device Drivers → USB support → EHCI HCD (USB 2.0) support (CONFIG_USB_EHCI_HCD)
Device Drivers → USB support → UHCI HCD support (CONFIG_USB_UHCI)
Device Drivers → USB support → OHCI HCD support (CONFIG_USB_OHCI)
Enable Bluetooth subsystem and drivers:
Networking → <*>Bluetooth subsystem support (CONFIG_BT)
Networking → Bluetooth subsystem support → <*>L2CAP protocol support (CONFIG_BT_L2CAP)
Networking → Bluetooth subsystem support → <*>SCO links support (CONFIG_BT_SCO)
Networking → Bluetooth subsystem support → <*>RFCOMM protocol support (CONFIG_BT_RFCOMM)
Networking → Bluetooth subsystem support → [*]RFCOMM TTY support (CONFIG_BT_RFCOMM_TTY)
Networking → Bluetooth subsystem support → <*>BNEP protocol support (CONFIG_BT_BNEP)
Networking → Bluetooth subsystem support → <*>HID protocol support (CONFIG_BT_HID)
Networking → Bluetooth subsystem support → Bluetooth device drivers → HCI USB driver (CONFIG_BT_HCIUSB)
Networking → Bluetooth subsystem support → Bluetooth device drivers → [*]SCO (voice) support (CONFIG_BT_HCIUSB_SCO)

share|improve this answer
    
It's a standard linux procedure to enable it. You need to recompile it yourself however if those modules are missing. –  ce4 Nov 23 '12 at 19:56
    
For a lot of android devices available custom precompiled kernels from enthusiasts. Unfortunately author of question don't written, which device he use. –  Penguinolog Nov 24 '12 at 6:48
    
With the latest information you gave, result is same. I have already similar kernel config except _USB_DEVICEFS. Now i have ordered a specific chipset BT module. This may be ok. Or my Android has lots of hole. Thanks. –  babur Nov 26 '12 at 16:10
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.