This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/CC2564C: HCI layer stalls when GATT Server is Advertising, HCI LE SCAN is being performed in parallel and a GATT connection timed out with error code 110

Part Number: CC2564C

Tool/software: Linux

Processes running:

1. Gatt Server + Advertisements

2. LE SCAN

Steps.

1. Start GATT Server with a service and characteristic 

2. Start Advertisements 

3. Start LE SCAN with no duplicates

4. Using LightBlue on OSX, connect to the GATT Server

5. Wait until the connection times out in the GATT Server with error code [Connection timed out (110)]

6. LE Scan stops and cannot be restarted again even though BTMON shows that the scan params were successfully applied

7. Gatt Server stops advertising even though BTMON shows that the advertisement params were successfully applied

Unacceptable Steps for recovery:

1. Reboot 

or

2. Kill the existing hciattach process . Re-do hciattach and restart the LE scan, GATT Server and Advertisements

Any help would be greatly appreciated.

  • We found predictable steps to reproduce:

    1. Start a GATT Service with two characteristics - one for WRITE and one for NOTIFY
    2. Start Advertisements
    3. Start LE Scan
    4. Using LightBlue connect to GATT Service, subscribe to notifications, and write some random - we have been writing 4 bytes
    5. Wait for 11 minutes and the GATT connection will timeout

    att: Physical link disconnected: Connection timed out
    Connection timed out (110)

    6. Advertisements will stop
    7. LE Scan will stop and not provide any data back
  • Omar,

    Could you please provide the CC2564C firmware logs for this procedure?
    User's Guide : www.ti.com/.../swau058

    Best regards,
    Vihang
  • Vihag, thanks for the reply. We dont have access to the TX_DBG_PIN as I believe our ODM did not bring that out on to the PCBA; we will have to double check with them. Is there any other way to get the firmware logs you are looking for? Will a btmon or some other hci dump output help?
  • Vihag, we are still waiting for our ODM to reply. In the mean while our issue seems similar to this old support case e2e.ti.com/.../373054 . Following is the event from BTMON. And when this happens the Advertisement and Scanning stops and requires to reboot or reload the TI drivers using hciattach. Any help will be greatly appreciated as the code we are using is well tested code which has been running on a different chip provider for over 7 month now.



    > HCI Event: Disconnect Complete (0x05) plen 4 #37601 [hci0] 689.282033
    Status: Success (0x00)
    Handle: 1025
    Reason: Connection Timeout (0x08)

  • Vihag - We finally have the Firmware logs  Seems like *.lgr file extension is not allowed to be uploaded. How and where would you like me to upload the logs?

  • 5238.logs.zipVihang - Find the attached firmware logs. We did two runs and two log files are included with the BTS file. We are going towards production soon. Any help on this matter will be greatly appreciated.

  • TI support - we are still waiting for a response on this. Any help from anyone will be greatly appreciated.
  • Hi .

    I have read all the mail / E2E threads, 1 important question:

    If you didn't perform the LE scan, just use the advertising action, will this issue occur?

    BTW, what's the fail rate of your original issue (I mean the  LE scan + LE advertising).

    Can you also post the kernel log + hci dump log?

    Thanks.

    BR Rio 

  • Hi Rio, 

        Thank you very much for looking in to this issue and following up. The fail rate is guaranteed to be 100% when doing LE SCAN + LE Advertising and accepting a GATT connection. Around the 12th to 13 minutes time frame the HCI layer guarantees stalls and stops responding every single time. Its very easily reproducible. The TI Debug logs zip was attached in my last post. I have attached the zip again, let me know if you need anything else. Moreover we have also tried only doing LE Advertising and NO LE Scan - In this case the HCI stack remains good for around 30-40 minutes. We have not tested this case beyond 30-40 minutes as this is not what we intend our environment to do. Any help on this issue will be greatly appreciated.  Lastly you will notice in the attached logs that the HCI layer seems to fail after "Assert - Invalid dtr line" log message is seen in the TI Debug firmware logs.

    thanks!

    HCI_STALL_LOGS.zip