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

Get Disconnect Reason 0x0008

Hi there,

When I tried to send data chunk (it's about 8K) to phone side according to this, the speed is much slower than 1K/s, and what's more, it's disconnected with reason 0x0008 after some time. Per the document here, it means BLE_HCI_CONNECTION_TIMEOUT. Would you please tell me what might cause this error?

Thanks & Regards, Stanley

  • This usually indicates that the supervision timeout has expired for your connection. So, no data has been sent up the link for whatever you have the timeout set to. What are you setting your CONN_SUP_TIMEOUT define to? What is your algorithm for sending packets up the connection? BLE isn't fast, but you should be able to do better than less than 1K/s.

  • Thanks John for the reply. I updated my code, and found some issue, now the disconnection issue should have gone away. With the USB dongle, I can get the 12 package every second, which contains 20 bytes. So the speed should be 240 bytes per second. But this might be caused by the logic I added to pre-process the data before they are sent out. For now, the speed should be fine for the case.

    BTW, I wrote my code referring to HRS example in SDK, almost there is no change for the service. And the logic to send data is referring to the example from above link. So pre-processing data should be the critical reason.

Related