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

Disconnect Reason = HCI Error Code 0x2A(Updated)

Hi,
i am using nrf51822 to develop our product. I'll try to describe more details to make you understand more clearly.

STEPS:

  1. While testing my project, I had trouble with bluetooth disconnecting too much.

  2. I turn on trace switch, and get the log that's attached.

log.txt

There I see DIFFERENT TRANSACTION COLLISION (0X2A) "The Different Transaction Collision error code indicates that an LMP transaction was started that collides with an ongoing transaction."

  1. I try to change a couple of connection parameters, and there are the 2 different results:
  1. Either the conn update event happens, the problem still exists (after random time)
  2. Or the conn update event does not happens (The current conn interval is 25ms as default when connected, update to min=25ms max=1000ms. So conn update event does not come. And the problem does not come out during testing -- at least after one hour of testing.
  1. Could it only be happening in my project? I also tested the examples
  1. Nordic\nrf51822\Board\nrf6310\s110\ble_app_proximity -- NG (Not good)
  2. an ANCS example got from FAE --NG
  1. The devices I tested against:
  1. Iphone5S(ios8.1.1) --NG(means met the disconnection for reason 0x2A)
  2. iPhone 6 (iOS 8.1.1) --NG
  3. iPhone 5 (iOS 8.1.1) --NG
  4. iPhone 4S (iOS8.1.1) --OK(means never happen disconnect reason 0x2A during test)
  5. iPad 4 (iOS7.1.2) --OK

Other information:

  1. SDK v6.1.0
  2. SoftDevice v7.0.0/v7.1.0
  3. Keil 4.71.2.0

I hope I have explained my problem clearly. How does the HCI error happen? Help me to solve it, please?

Thanks!

**Update 2014.11.28 :

sd v7.0.0

  1. Board\nrf6310\s110\ble_app_hids_keyboard -- modify conn_params to min_interval=100ms, max_interval=1000 ms, disconnect as hci_error 0x2A
  2. Board\nrf6310\s110\ble_app_hids_mouse -- modify conn_params to min_interval=100ms, max_interval=1000 ms, disconnect as hci_error 0x2A

sd v6.0.0
i modified my project to sd v6.0.0. the problem doesnt' exist any more. i have monitored the test for 1.5 hour now, and it is still OK.

Have you received the report related with this problem from anybody else?**

Parents
  • I'm currently running into this problem with nRF51 SDK 8.1.0 and an iPhone 5 running iOS 8.4.

    After being connected for a few minutes (and no data transfer for 2-3 minutes) the iPhone sends LL_PING_REQ, and there's no response from the nRF.

    0.9 seconds later iOS sends LL_CHANNEL_MAP_REQ, the nRF then sends LL_UNKNOWN_RSPwith the Unknown Type set to 0x12 (LL_PING_REQ)

    At the same time, the connection is closed with the nRF disconnection reason being BLE_HCI_DIFFERENT_TRANSACTION_COLLISION (0X2A)

    Was this supposed to have been fixed in iOS 8.3?

  • This problem has gone away for me--previously my app was both using the Device Manager and handling events like BLE_GAP_EVT_SEC_PARAMS_REQUEST, BLE_GATTS_EVT_SYS_ATTR_MISSING, BLE_GAP_EVT_SEC_INFO_REQUEST. This was incorrect behavior, the Device Manager handles these events and having my own handlers for them was causing problems. Since I removed those handlers, it's been working much better.

Reply Children
No Data
Related