CC2340R5: Link Layer response timeout

Part Number: CC2340R5

Tool/software:

Hello, we can observe a number of disconnection which are reported as  LL_STATUS_ERROR_LL_TIMEOUT and from our diagnostic system we observe this issue when the device is connected to Windows machine only (not ios, Android, macos).

The behaviour we observe is that the connection last for a time from 30 to 60 seconds and then the device disconnect reporting this link layer timeout.

Is there any explainable reason for this behavior?

SDK used is 8.20.00.119

  • Hi, 

    Link layer timeouts occurs when two connected devices fail to exchange a valid packet within a specified timeframe (the supervision timeout perioid), leading to a connection supervision timeout and termination of the link. You could try to use a sniffer to determine if the device responsible for not sending any packet is the peripheral or the central. Since you claim that it works with other centrals, I would assume that the problem comes from Windows itself.

    Kind regards,
    Maxence

  •  

    Thank you for your reply.

    Base on your experience, have you a list of chipset/system which are familiar with that kind of issue?

  •  I forgot to mention, but with we can observe that with different system the time between connection established and disconenction is always of 40 seconds.

  • Hi Luca,

    That's really useful information, because 40 seconds is exactly the timeout value in the BLE specification for link layer operations like param updates. 
    Quote from the chapter 5.2 PROCEDURE RESPONSE TIMEOUT of the BLE specification :

    This section specifies procedure timeout rules that shall be applied to all the
    Link Layer control procedures specified in Section 5.1, except for the
    Connection Update and Channel Map Update procedures for which there are
    no timeout rules.


    To be able to detect a non-responsive Link Layer Control procedure, both the
    Central and the Peripheral shall use a procedure response timeout timer, T PRT .
    Upon the initiation of a procedure, the procedure response timeout timer shall
    be reset and started.


    Each LL Control PDU that is queued for transmission resets the procedure
    response timeout timer.


    When the procedure completes, the procedure response timeout timer shall be
    stopped.


    If the procedure response timeout timer reaches 40 seconds, the ACL
    connection is considered lost (see Section 4.5.12). The Link Layer exits the
    Connection state and shall transition to the Standby state. The Host shall be
    notified of the loss of connection.

    This indicates that the failing procedure is part of the table from section 5.1.

    However I do not have a list of chipset that fail with this status.

    Kind regards,
    Lea