2 Replies Latest reply on Oct 1, 2015 2:02 PM by vagrant4ever

    Adding a second bluetooth radio to Intel Edison

    vagrant4ever

      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.

       

      20150929_095831.jpg

       

      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?)