This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

USB HCI adapter disconnects automatically after successful connection.

Hi all,

I am trying to test an nRF52840 as a USB HCI using the Zephyr hci_usb sample project. I'm running into an issue in which devices I attempt to connect to will disconnect themselves after about 30 seconds, every time I attempt to connect. When I watch btmon, I see this:

< ACL Data TX: Handle 0 flags 0x00 dlen 7                  #15 [hci0] 17.698158
      ATT: Exchange MTU Request (0x02) len 2
        Client RX MTU: 517
< HCI Command: Disconnect (0x01|0x0006) plen 3             #16 [hci0] 49.737234
        Handle: 0
        Reason: Remote User Terminated Connection (0x13)

it appears that the device never receives or never responds to the Exchange MTU Request. I'm using bluetoothctl to establish the connection. I've tried two different device types and both exhibit the problem, and when I attempt to use the internal adapter on my host, I do not have this problem with either device. My host is an x86_64 machine running Ubuntu 16.04.4, kernel version 4.13.0-39, and BlueZ version 5.49. I've attempted it with both a Nordic PCA10056 board and a Rigado BMD-340 dev board. Has anyone seen this before? I'm not entirely sure what steps to take next to debug this. I can provide any additional info necessary.

Parents
  • Despite this post being 6 years old I'm seeing the same issue!

    hci_usb example connected to peripheral_hr sample, from ubuntu linux host and bluez stack.

    Thing is on a second attempt it always works, and then proceeds to download and cache the gatt table, upon which further connections do succeed. But if I delete the bluetooth cache from linux host it's back to failing first connection attempt again. Can't seem to figure out why.

Reply
  • Despite this post being 6 years old I'm seeing the same issue!

    hci_usb example connected to peripheral_hr sample, from ubuntu linux host and bluez stack.

    Thing is on a second attempt it always works, and then proceeds to download and cache the gatt table, upon which further connections do succeed. But if I delete the bluetooth cache from linux host it's back to failing first connection attempt again. Can't seem to figure out why.

Children
Related