Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Novice
951 Views

Adding a second bluetooth radio to Intel Edison

Jump to solution

Hello,

I would like to add a second bluetooth radio to the Intel Edison. I am attempting to accomplish this by adding a bluetooth dongle via the USB OTG connection. How ever I am running a few problems, and was hoping for some advice.

I have a micro USB OTG cable connected to the OTG port. A Pluggable BT 4.0 dongle in plugged into the cable.

First thing I did was plug the usb cable into a running system. Blue light appears on dongle so at least it is powered up. Check dmesg and the dongle appears there.

Output from lsusb

Bus 001 Device 002: ID 0a5c:21e8 Broadcom Corp. BCM20702A0 Bluetooth 4.0

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

So it appears there. I verify bluetooth is not blocked by rfkill and that the adapter is present:

0: phy0: wlan

Soft blocked: no

Hard blocked: no

1: brcmfmac-wifi: wlan

Soft blocked: no

Hard blocked: no

2: bcm43xx Bluetooth: bluetooth

Soft blocked: no

Hard blocked: no

3: hci0: bluetooth

Soft blocked: no

Hard blocked: no

"bcm43xx" is the dongle and it is present. However I cannot access this device with either hcitool or hciconfig.

I thought perhaps there is a conflict with the usb ethernet connection in ifconfig:

lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

UP LOOPBACK RUNNING MTU:65536 Metric:1

RX packets:0 errors:0 dropped:0 overruns:0 frame:0

TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

usb0 Link encap:Ethernet HWaddr 5e:ad:17:eb:11:f9

inet addr:192.168.99.15 Bcast:192.168.99.255 Mask:255.255.255.0

UP BROADCAST MULTICAST MTU:1500 Metric:1

RX packets:0 errors:0 dropped:0 overruns:0 frame:0

TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

wlan0 Link encap:Ethernet HWaddr fc:c2:de:43:b0:85

inet addr:10.42.1.17 Bcast:10.42.1.255 Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:28 errors:0 dropped:0 overruns:0 frame:0

TX packets:48 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:2989 (2.9 KiB) TX bytes:6257 (6.1 KiB)

So I took the connection down:

ifconfig usb0 down

However, I still cannot use the hcitool and hciconfig commands on the dongle.

hciconfig -a hci1 up

Can't get device info: No such device

(Most linux systems I have run across enumerate bluetooth devices as hci0, hci1, ....)

However that may not be the same on this version of Linux. I even tried using 'bcm43xx Bluetooth' and 'bcm43xx' with the same results.

I built this version of linux from the latest intel sources in the Yocto environment with two added recipes, log4cxx and the Paho MQTT C++ libraries.

This could be as simple as what is the device name I should be using for the second BT adapter, or there could be other issues.

Any help/advice on getting this working would be greatly appreciated.

Thanks

Message was edited by: Steve Benton After doing some more testing with another Edison loaded with the same image and not adding the second adapter it looks like the bcm43xx device is the Edison's internal bluetooth adapter. Once you unblock bluetooth the hci0 device is available. So it looks like the system sees the second adapter in dmesg and in the output of the lsusb command, however it does not show up in the rfkill list or is it available to the hcitool and hciconfig commands. Any steps I can take to resolve this? Thanks (BTW what is the systemctl command to disable USB TCP/IP networking?)


Accepted Solutions
Highlighted
Employee
28 Views

Hi vagrant4ever,

The problem seems to be related with the driver of the device BCM20702A0. In order to add this drivers I suggest you to build a custom image and include the drivers required for 0a5c:21e8.

http://cateee.net/lkddb/web-lkddb/BT.html Linux Kernel Driver DataBase: CONFIG_BT: Bluetooth subsystem support

http://cateee.net/lkddb/web-lkddb/BT_HCIBTUSB.html Linux Kernel Driver DataBase: CONFIG_BT_HCIBTUSB: HCI USB driver

Regards,

Charlie

View solution in original post

2 Replies
Highlighted
Employee
29 Views

Hi vagrant4ever,

The problem seems to be related with the driver of the device BCM20702A0. In order to add this drivers I suggest you to build a custom image and include the drivers required for 0a5c:21e8.

http://cateee.net/lkddb/web-lkddb/BT.html Linux Kernel Driver DataBase: CONFIG_BT: Bluetooth subsystem support

http://cateee.net/lkddb/web-lkddb/BT_HCIBTUSB.html Linux Kernel Driver DataBase: CONFIG_BT_HCIBTUSB: HCI USB driver

Regards,

Charlie

View solution in original post

Highlighted
Novice
28 Views

That was the ticket. I added the driver and built a custom image. I now have two bluetooth devices working with the Edison.

Thanks for the help!