-
Notifications
You must be signed in to change notification settings - Fork 93
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SARA-R510S keeps CTS line sporadically high if DTR is used for power saving #192
Comments
Hi @eeFLis: can't say this is something we've noticed, @philwareublox is going to check internally. |
@eeFLis: some questions. You say that the module allows the |
Hi I have attached the salea capture. However, this was already recorded some time ago with the module fw version 03.15, A00.01, but should show the problem |
Can you confirm that you are using the default value for U_CELL_PWR_UART_POWER_SAVING_GSM_FRAMES, so
|
Yes, we use the default value. Were you able to gather all the information from the salea capture or do you need additional information? |
I've been staring at it with the relevant expert internally. If you look at the picture below, at the green marker is where the module emits a 12 seconds later comes the problematic part, focusing on that: You can see, in the middle of the picture, that the module has allowed Pure speculation, of course, but a guess would be that something to do with the fact that the module is autonomously coming out of [EDIT: I meant going into] 32 kHz sleep at the same moment as Will continue to investigate... |
you mean > at the same moment as |
Sorry, yes at the same moment as |
Out of interest, are you able to read the state of the |
If you have additional Saleae captures of the problem then we could check if they look the same but no matter if you don't. |
Unfortunately I have no additional capture. |
Yes, not exactly sure what the workaround would be really. Haven't been able to think of anything yet that would not introduce a new problem. Will carry on thinking... |
One more question: do you know if the problem goes away if you set |
It already goes away when we set the |
Thanks for confirming, understood, the aim is of course to retain the power-saving goodness, just wanted to be sure of the problem. |
Just for my information, if you set Is this an approach you have tried? |
Yes we are using this approach. That's what I tried to say with "we set The additional consumption is mainly noticeable after RRC connection ist released and the timer T3324 is running. I understand that the extra consumption doesn't look like much but if you're focusing on low power it's a crucial. |
For my own clarity, are you saying without using the DTR line to drop the consumption of the UART you're then seeing the basic 6 second timeout for the UART. Whereas if you were able to use the DTR line successfully every time without this CTS issue, you can immediately control the UART on/off state as you want to. |
yes. As an example: during the active time (T3324) when data can still be received, the ubxlib is polling for new incomning data. If the DTR line is used for power saving control the module can switch to power save mode immediately after the response. |
@philwareublox and I have been discussing this, maybe there is a way forward. Background first:
A fix, then, might be to offer a function something like Could that work? |
I think ubxlib already offers a solution for this. We use |
However, this only solves the problem for the example I mentioned. |
or do you see a problem with the use of |
It should work, I guess the only problem might be if there is a lag between when the URC arrived to updated the number and when the application called We will continue thinking. |
OK thanks. In the meantime, are there any further findings as to where the error comes from when DTR is active? |
The expert internally is trying to reproduce the problem, just now looking to find the same FW version as you are using, to be quite sure about it. It is a strange case: the |
FYI, the expert internally has your FW version now and is trying to script some form of sliding-delay-window of " Wondering idly: I guess you have a callback hooked into uCellNetSetBaseStationConnectionStatusCallback()? I understand that the |
thanks for the update |
True: if it is the case [as I think it is] that SARA-R5 cannot run the UART from a 32 kHz clock then every AT communication pulls the modem out of 32 kHz sleep and the only way to get back in is by letting I was think that, if you could know that the module was not going to enter 32 kHz sleep anyway (which might be after All a bit complex, and vague, I know. |
I have done a few more tests. |
Hi @eeFLis: that's an excellent question. I've been prodding the HW people periodically and the last thing they said was that they would arrange a meeting with me to discuss the right way forward. I've just asked them again and added this question to the agenda. I can only apologize for the extreme delay here, will try to increase the pressure. |
Many thanks for your help. |
Just had a call with one of the project managers on the HW side and some of the module SW team. Not a huge update but guess is that SARA-R52 won't make a difference to the problem, since the problem appears to be on the baseband side and that is not changed in SARA-R52. One thing that one of the SW guys has proposed is that maybe an external HW circuit could provide a fix: something which would gate DTR according to the state of CTS and delay the onwards transmission of DTR towards the module, a kind of HW workaround, hiding the problem from the module. It would likely require something like this: https://www.digikey.co.uk/en/products/detail/onsemi/MC74HC02ADR2G-Q/23329595 Of course, we have not actually tried this ourselves yet, just wondering if it is something that you could do within the constraints of your product or not? |
To be honest I don't understand how this should help, since the error occurs without the level of DTR altering. |
Hmmm, I had forgotten that case; the expert here made the problem state occur by toggling DTR constantly. When he did this he found a window in which the module would fail to return from sleep (indicated by CTS staying high). The implication of your trace is that something about being in "sleep if DTR lets you" mode can cause the problem, irrespective of the state of DTR, though I guess that would be more difficult to reproduce reliably. I will add this specific data point to the internal ticket. |
[lack of an] update: another internal meeting, no significant progress to report I'm afraid, am persisting... |
@eeFLis: question - do you happen to recall if, when the problem occurs, the device ever spontaneously reboots (due to a watchdog timer going off) after a minute or not? |
I don't think I've ever seen a reboot but I can't say that for sure as I cropped all my recordings. The longest time recorded after the problem occurred was 20 seconds. |
Hi, |
In our testing we are finding the watch dog resets the 'hung' module when in this state. The watch dog timer is about 45-60 seconds. Could you retest and wait for 90 seconds to see if the module automatically recovers? |
Hi @philwareublox |
If you are happy with your resetting of the module within 20 seconds then this doesn't matter. |
Unfortunately, we can't use either option. Resetting the module or having the watchdog expire could cause issues in the upper layers of the communication protocol. Could a firmware update for the module resolve this problem? |
Thanks for confirming. Yes it would be expensive and annoying to have to go through the communication yet-again because of a random reboot. We are still looking into this. |
Hi @eeFLis, We have some low level improvements which show our reproduction of the issue is reduced, and continue to investigate. I will ask R&D if this is in a state we could share an ENG version with you. Out-of-interest, can I ask what the application is? What is the protocol to send the data over the UBXLIB Socket API? |
I can provide details about our application, but it would need to be done through a private channel to comply with company policy. We use LWM2M at the application layer, and I'm concerned that any workaround at this level would increase power consumption, which is the opposite of our goal for this Module feature. |
On the subject of the WatchDog, we can check what the reset/reboot reason was and then know if what you are seeing is the same thing we are seeing in R&D. |
Sorry for jumping in, but I have the exact same issue as reported by @eeFLis with a SARA-R510 when using UPSV=3 and the DTR line. We are not using ubxlib, but we implemented the same workaround as U_CELL_PWR_UART_POWER_SAVING_DTR_HYSTERESIS_MS with some extra toggling of the DTR line when detecting that the modem is not waking up. This helps in some cases, but the modem still gets unresponsive a few times per day, which leads to annoying resets. We do not have such issues with the other u-blox modems or when disabling UPSV on the R5 (which is not a viable option for us). If I understand correctly, you could have a FW update to mitigate that issue ? I would be more than happy to test on my side if this can help you. Do not hesitate to reach out to me if you need any information or more testing, since it is one of the biggest issue that we have with this modem. |
Thank you @philwareublox I will try to do that today, but this needs some adaptations in our firmware. |
Hi @vaussard - sorry, it seems these commands are for development and not available/working for production devices. |
I still gave it a try, but it has indeed no effect with my production modem. Even the watchdog does not seem to be enabled because there is no activity on the RX line after 5 minutes on "unresponsiveness". Here is an example capture of this issue; The last 2 commands before the modem becomes unresponsive. Even if DTR is toggled multiple times, the CTS line stays high forever: Last command before becoming unresponsive: The last command was a AT+COPS? with a "OK" response, although we see the issue happening after pretty much any command: @philwareublox what could we do to move forward with that issue ? |
Thanks for the update. We have a meeting tomorrow about this issue. |
Hi @philwareublox |
Unfortunately there are no plans for new firmware on the -01B modules. We are continuing to investigate this issue on the R510-02B and R520 modules. |
Hello @philwareublox Thank you for your answer, even if it is not what I was hoping for. We will look into the -02B once it is available. Regarding the existing -01B modules, do you know of any workaround? We are currently using |
In this case, we will equip the upcoming prototypes with the SARA-R520 series, as it appears to be pin-compatible with the SARA-R510. Or is there anything specific we should take into account? @RobMeades |
Yes, it is. |
I saw in the half-year results report that u-blox has stopped the development of their own cellular chips. |
Hi
maybe no ubxlib related problem, but perhaps you have already observed this behavior
If the DTR pin is used for power saving, the SARA R510 s module sporadically holds the CTS line high and no longer releases it.
the module is then no longer responsive.
we had the problem several times with the module firmware version 03.15, A00.01.
We hoped that this problem would be solved with the current module firmware version 03.30, A00.01, but the problem still occurs, even if it is much less frequent (after hours ).
Have you observed such behavior in your test environment?
The text was updated successfully, but these errors were encountered: