LLPM questions

Dear Nordic engineers

I ask a question about LLPM some time ago and I accidentally closed the discussion.Now there is a new follow up.

devzone.nordicsemi.com/.../llpm-questions

1、This issues has a FAE is working on it.We intercepted the packet and found that communication packet in the air is normal.This problem is because the callback function is not entered.Please give me some  good suggestions for this problem.  

2、Because this issues was only discovered during their internal testing, and there are no related complaints about products currently on the market, we suspect it is a problem with the test computer.Can be put on hold for now.

Now they have some new questions and need your help.

1、How to modify the connection interval of LLPM?We try to use function call set_conn_params in ble_conn_params.c to increase the connection interval  when received USB_DC_SUSPEND event.This is correct.When LLPM mode is enabled,the connection interval parameter ranges from 1000us to 7000us.Now we hope that the power consumption can be lower,so we would like to set the connection interval to be larger,but if modify the larger parameter ,it will not take effect.Is there any other way to modify the connection interval?

2、The LLPM mode communicates with the dongle.When there is a lot of communicates data,the event queue will overflow,causing the connection to be disconnected.Please tell me,how to increase the size of the event queue?

Thank you for your support and best regards~

Parents
  • /** @brief Connection Interval in microseconds. Valid range is 7,500 us to 4,000,000 us in 1,250
    * us steps. If LLPM mode is enabled, parameters in the range 1,000 us to 7,000 us in
    * 1,000 us steps are also accepted.

    1. From your screenshot from the SDC documentation i can see connection intervals specified by Bluetooth (from 7.5 ms increadsed with 1.25 ms step) should work fine too. What value do you use? What was the error code that you observed?

    2. What is the disconnection reason? How you know that the disconnection is related to the event queue overflow? We have not seen anything similar on our dongles, do you introduce additional functionalities to the dongle (so that it performs more operations that could delay Bluetooth processing)?

    Best regards,
    Kenneth

  • Dear Kenneth

    1、The following TXT file is the LOG printed after we failed to modify the connection interval.

    2、In addition, we have solved the problem of event queue overflow. Thanks again for your support.

    3、About the problem of abnormal CAP and NUM indicators,We intercepted the packet and found that communication packet in the air is normal.This problem is because the callback function is not entered.

    Please give me some  good suggestions for this problem.  

    Best regards.

  • 1. Is there any on-air sniffer log you can share to show what may be happening here on-air? For instance I can find the following limitation, but I don't see how that apply here:

    DRGN-11297: Maximum connection interval of 10 ms before entering LLPM-mode

    The maximum connection interval that can be active when switching to a connection interval of 1 ms is 10 ms.

    Workaround: An application that needs to use a higher interval than 10 ms must perform two connection updates to use 1 ms connection interval:

    • A first update to 10 ms connection interval.

    • A second update to 1 ms connection interval.

    https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrfxlib/softdevice_controller/limitations.html# 

    It says (Connection lost), but do you have any indication of the disconnect reason on peripheral and central?

    2. I will ping the team again if there is any update.

  • Dear Kenneth

    Yesterday,I went to customers office.Now I understand why they need to modify the connection interval of LLPM.

    1、After the computer goes to sleep, if the connection interval is still 1ms, the power consumption of the computer will be particularly high, which does not meet the specification.So they want to modify the connection interval to 7ms, but after modifying it to 7ms, there will be a timeout and disconnection. This problem has not been resolved.

    So I have an idea: Is it possible to change the connection mode of dongle and keyboard from LLPM mode to BLE mode after the computer goes to sleep, because the power consumption of BLE mode will be lower, and then switch from BLE mode to LLPM after the computer wakes up mode, which solves their troubles. Do you think this will work? And how do I go about switching these two modes, by the relevant examples?

    2、Finally, they also asked about the problem of abnormal CAP and NUM indicators, is there any new update?

    Best regards.

  • Regarding 1) We don't have any example, but I can see they are trying to use ble_conn_params.c to set connection parameters, and they try to add a custom connection parameter update relying on USB state events (suspend and resume). This seems like a good approach. I have created an internal jira to look into this for future (DESK-1119).

    Regarding 2) No update from the internal jira (NCSDK-13208), it may be related to the zephyr Bluetooth host, so you may ask them to try to update to latest NCS release and see if they experience the same.

    Best regards,
    Kenneth

  • Dear Kenneth

    1. That is to say, my idea is feasible, allowing them to switch between the two modes in the USB event. So I would like to know how to switch between these two modes, or just need to update the connection interval. They tried updating a longer connection interval, which works to switch from LLPM mode to BLE mode, but switching from BLE mode to LLPM mode fails. Please give me some good advice.

    2. I would suggest that they use NCS1.9.1 for testing.

    Best regards.

  • 1) If it works switching from LLPM->BLE, but fails to switch from BLE->LLPM then ask them to check if they have done this in two steps as written in the Limitations:
    https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrfxlib/softdevice_controller/limitations.html# 

    "DRGN-11297: Maximum connection interval of 10 ms before entering LLPM-mode
    The maximum connection interval that can be active when switching to a connection interval of 1 ms is 10 ms.

    Workaround: An application that use a higher interval than 10 ms must perform two connection updates to use 1 ms connection interval:

    A first update to 10 ms connection interval.

    A second update to 1 ms connection interval."

    Best regards,
    Kenneth

Reply Children
Related