I'm connecting a König CSBLUEKEY200 Bluetooth LE adapter to my Edison, since I can't get a combination of central and peripheral roles to work simultaneously using the built-in Broadcom adapter (https://github.com/robotastic/ble-ancs/issues/3 bug). I hope it will work when I use two separate adapters. This particular adapter from König is listed as working under Linux at https://github.com/sandeepmistry/noble/wiki/Compatible-devices Noble: Compatible Devices. I have connected it to the OTG port of a Sparkfun board, which previously worked to connect UART and audio devices. The Edison doesn't seem to make the Bluetooth adapter available for use though. In Ubuntu 14.04 the same adapter worked fine. Any idea how this could be fixed?
The `hciconfig` output:hci0: Type: BR/EDR Bus: UART BD Address: 98:4F:EE:03:9F:22 ACL MTU: 1021:8 SCO MTU: 64:1 UP RUNNING PSCAN RX bytes:948 acl:0 sco:0 events:42 errors:0 TX bytes:1491 acl:0 sco:0 commands:42 errors:0
The hci0 is the built-in device. I would expect a second device hci1 to be added for the external adapter.
The `lsusb` output:Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 002: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode) Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
The `dmesg` output after plugging it in (I also tried booting Edison with the device already plugged in):[ 1307.728397] pmic_ccsm pmic_ccsm: USB ID Detected. Notifying OTG driver [ 1308.591616] dwc3-host dwc3-host.2: xHCI Host Controller [ 1308.592371] dwc3-host dwc3-host.2: new USB bus registered, assigned bus number 1 [ 1308.592670] dwc3-host dwc3-host.2: irq 34, io mem 0xf9100000 [ 1308.592813] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002 [ 1308.592838] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 1308.592858] usb usb1: Product: xHCI Host Controller [ 1308.592877] usb usb1: Manufacturer: Linux 3.10.17-poky-edison+ dwc-xhci [ 1308.592895] usb usb1: SerialNumber: dwc3-host.2 [ 1308.593682] xHCI xhci_add_endpoint called for root hub [ 1308.593703] xHCI xhci_check_bandwidth called for root hub [ 1308.593993] hub 1-0:1.0: USB hub found [ 1308.594040] hub 1-0:1.0: 1 port detected [ 1308.594545] dwc3-host dwc3-host.2: xHCI Host Controller [ 1308.599964] dwc3-host dwc3-host.2: new USB bus registered, assigned bus number 2 [ 1308.600146] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003 [ 1308.600171] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 1308.600192] usb usb2: Product: xHCI Host Controller [ 1308.600211] usb usb2: Manufacturer: Linux 3.10.17-poky-edison+ dwc-xhci [ 1308.600230] usb usb2: SerialNumber: dwc3-host.2 [ 1308.600935] xHCI xhci_add_endpoint called for root hub [ 1308.600955] xHCI xhci_check_bandwidth called for root hub [ 1308.601849] hub 2-0:1.0: USB hub found [ 1308.601900] hub 2-0:1.0: 1 port detected [ 1308.659207] pmic_ccsm pmic_ccsm: USB VBUS Detected. Notifying OTG driver [ 1308.911527] usb 1-1: new full-speed USB device number 2 using dwc3-host [ 1309.073450] usb 1-1: New USB device found, idVendor=0a12, idProduct=0001 [ 1309.073482] usb 1-1: New USB device strings: Mfr=0, Product=2, SerialNumber=0 [ 1309.073503] usb 1-1: Product: CSR8510 A10
Even though the manufacturer has stated that this Bluetooth adapter is compatible with Linux, it may not be compatible with kernel 3.10.17 which is the one Edison uses. In order to use this adapter with your Edison, you will have to check if that specific adapter is compatible with the module's kernel, and if so, you will have to look for the adapter's driver and manually add it to a custom image. In order to learn how to create your own image and add drivers to it, you will have to read and understand the http://www.intel.com/support/edison/sb/CS-035278.htm Edison's BSP.