AnsweredAssumed Answered

Bluetooth USB dongle in IMX6 / SabreLite

Question asked by Kari Kauppi on May 9, 2013
Latest reply on Feb 6, 2014 by Eric Nelson

Has someone been able to get Bluetooth USB dongle working on SabreLite Nitrogen6x  board in non Android builds?

I've been trying to achieve this with fsl-ubuntu (L3.0.35.1.1.0 / L3.0.35.1.1.1)  and with Yocto build with these instructions How to Test Yocto for i.MX6 .

 

For me it looks like that rfkill soft blocking is being enabled due some automatic event, either from kernel or Bluetoothd.

I tried to build kernel without rfkill driver but then I'm not able to see any devices with hciconfig.

With quick look there is no build flag in Bluetooth driver to disable  rfkill as there is in Andoroid.

 

 

I can see following behaviour when trying to set rfkill unblock all.

 

Initial Situation

0: hci0: bluetooth

  Soft blocked: yes

  Hard blocked: no

 

After rfkill unblock all

0: hci0: bluetooth

  Soft blocked: no

  Hard blocked: no

 

About 0,5sec after rfkill unblock all

0: hci0: bluetooth

  Soft blocked: yes

  Hard blocked: no

 

 

Below is the /var/log/messages for Bluetooth events

 

May  7 02:01:33 imx6qsabreauto daemon.info bluetoothd[717]: Bluetooth daemon 4.101

May  7 02:01:33 imx6qsabreauto daemon.debug bluetoothd[717]: src/main.c:parse_config() parsing main.conf

May  7 02:01:33 imx6qsabreauto daemon.debug bluetoothd[717]: src/main.c:parse_config() discovto=0

May  7 02:01:33 imx6qsabreauto daemon.debug bluetoothd[717]: src/main.c:parse_config() pairto=0

May  7 02:01:33 imx6qsabreauto daemon.debug bluetoothd[717]: src/main.c:parse_config() pageto=8192

May  7 02:01:33 imx6qsabreauto daemon.debug bluetoothd[717]: src/main.c:parse_config() auto_to=60

May  7 02:01:33 imx6qsabreauto daemon.debug bluetoothd[717]: src/main.c:parse_config() name=%h-%d

May  7 02:01:33 imx6qsabreauto daemon.debug bluetoothd[717]: src/main.c:parse_config() class="0x000100"

May  7 02:01:33 imx6qsabreauto daemon.debug bluetoothd[717]: src/main.c:parse_config() Key file does not have key 'DeviceID'

May  7 02:01:33 imx6qsabreauto daemon.info bluetoothd[718]: Starting SDP server

May  7 02:01:33 imx6qsabreauto daemon.debug bluetoothd[718]: src/plugin.c:plugin_init() Loading builtin plugins

May  7 02:01:33 imx6qsabreauto daemon.debug bluetoothd[718]: src/plugin.c:add_plugin() Loading audio plugin

May  7 02:01:33 imx6qsabreauto daemon.debug bluetoothd[718]: src/plugin.c:add_plugin() Loading input plugin

May  7 02:01:33 imx6qsabreauto daemon.debug bluetoothd[718]: src/plugin.c:add_plugin() Loading serial plugin

May  7 02:01:33 imx6qsabreauto daemon.debug bluetoothd[718]: src/plugin.c:add_plugin() Loading network plugin

May  7 02:01:33 imx6qsabreauto daemon.debug bluetoothd[718]: src/plugin.c:add_plugin() Loading service plugin

May  7 02:01:33 imx6qsabreauto daemon.debug bluetoothd[718]: src/plugin.c:add_plugin() Loading hciops plugin

May  7 02:01:33 imx6qsabreauto daemon.debug bluetoothd[718]: src/plugin.c:add_plugin() Loading mgmtops plugin

May  7 02:01:33 imx6qsabreauto daemon.debug bluetoothd[718]: src/plugin.c:add_plugin() Loading formfactor plugin

May  7 02:01:33 imx6qsabreauto daemon.debug bluetoothd[718]: src/plugin.c:add_plugin() Loading storage plugin

May  7 02:01:33 imx6qsabreauto daemon.debug bluetoothd[718]: src/plugin.c:add_plugin() Loading adaptername plugin

May  7 02:01:33 imx6qsabreauto daemon.debug bluetoothd[718]: src/plugin.c:plugin_init() Loading plugins /usr/lib/bluetooth/plugins

May  7 02:01:33 imx6qsabreauto daemon.debug bluetoothd[718]: plugins/service.c:register_interface() path /org/bluez/717/any

May  7 02:01:33 imx6qsabreauto daemon.debug bluetoothd[718]: plugins/service.c:register_interface() Registered interface org.bluez.Service on path /org/bluez/717/any

May  7 02:01:33 imx6qsabreauto daemon.debug bluetoothd[718]: network/manager.c:read_config() /etc/bluetooth/network.conf: Key file does not have key 'DisableSecurity'

May  7 02:01:33 imx6qsabreauto daemon.debug bluetoothd[718]: network/manager.c:read_config() Config options: Security=true

May  7 02:01:33 imx6qsabreauto daemon.debug bluetoothd[718]: input/manager.c:input_manager_init() input.conf: Key file does not have key 'IdleTimeout'

May  7 02:01:33 imx6qsabreauto daemon.debug bluetoothd[718]: audio/manager.c:audio_manager_init() audio.conf: Key file does not have key 'AutoConnect'

May  7 02:01:33 imx6qsabreauto daemon.debug bluetoothd[718]: plugins/hciops.c:hciops_init()

May  7 02:01:33 imx6qsabreauto daemon.debug bluetoothd[718]: plugins/hciops.c:hciops_setup()

May  7 02:01:33 imx6qsabreauto daemon.debug bluetoothd[718]: src/main.c:main() Entering main loop

May  7 02:01:33 imx6qsabreauto daemon.debug bluetoothd[718]: src/rfkill.c:rfkill_event() RFKILL event idx 0 type 2 op 0 soft 1 hard 0

May  7 02:01:33 imx6qsabreauto daemon.debug bluetoothd[718]: plugins/hciops.c:init_known_adapters()

May  7 02:01:33 imx6qsabreauto daemon.debug bluetoothd[718]: plugins/hciops.c:init_device() hci0

May  7 02:01:33 imx6qsabreauto daemon.info bluetoothd[718]: Listening for HCI events on hci0

May  7 02:01:33 imx6qsabreauto daemon.debug bluetoothd[718]: plugins/hciops.c:init_device() child 719 forked

May  7 02:01:33 imx6qsabreauto daemon.err bluetoothd[719]: Can't init device hci0: Operation not possible due to RF-kill (132)

May  7 02:01:33 imx6qsabreauto daemon.debug bluetoothd[718]: plugins/hciops.c:child_exit() child 719 exited

May  7 02:04:23 imx6qsabreauto daemon.debug bluetoothd[718]: src/rfkill.c:rfkill_event() RFKILL event idx 0 type 2 op 2 soft 0 hard 0

May  7 02:04:23 imx6qsabreauto daemon.debug bluetoothd[718]: src/rfkill.c:rfkill_event() RFKILL event idx 0 type 2 op 2 soft 1 hard 0

May  7 02:04:34 imx6qsabreauto daemon.debug bluetoothd[718]: src/rfkill.c:rfkill_event() RFKILL event idx 0 type 2 op 2 soft 0 hard 0

 

 

Outcomes