Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [mosquitto-dev] eDRX and MQTT

john rubis <john.rubis@xxxxxxxxxxx> writes:

> Yes, that is what I mean. The modem is only checking for messages at
> the set eDRX interval. In between intervals, the device is not
> reachable. When the modem does check in with the network, the
> application processor remains asleep. The application processor is
> only woken up if a message was received. This is a very quick (very
> low power) check-in with the network. The eDRX interval is settable
> from 5.12s to 10485.76s in 16, non-linear steps.

That sounds pretty useful for power saving.

> eDRX differs from PSM (Power Save Mode) where the application
> processor wakes up and drives a connection to check for messages
> pending on the broker or to post a message to it. This connection
> process takes longer and consumes a lot more power.

In that case, I think it makes sense to use eDRX, but to keep the sleep
interval well under the TCP timeout.

I wonder if you are able to measure power use, and how much benefit you
get from eDRX at 60s vs 600s.  It is surely diminishing returns to
double the interval as the eDRX wakeup cost is merely amortize over
twice as long, and all other power use remains.  My guess is that you
can find a wakeup time that is good relative to power but still avoids
timeouts.

Really, for a packet delivery mechanism like eDRX, where sometimes
latency is normal, and sometimes it is minutes, but loss is low, TCP is
not the right approach.   However, I can't in good faith advise you to
invent a new transport.

> I was able to log the TCP traffic on my server today and observed the retries occurring with the exponential backoff that you mention.

It's good to know that's what is actually happening.  As things get more
complicated I don't like to take anything for granted.


>
> -----Original Message-----
> From: Greg Troxel <gdt@xxxxxxxxxx> 
> Sent: Monday, February 25, 2019 6:57 PM
> To: john rubis <john.rubis@xxxxxxxxxxx>
> Cc: Frank Pagliughi <fpagliughi@xxxxxxxxxxxxxx>; General development discussions for the mosquitto project <mosquitto-dev@xxxxxxxxxxx>
> Subject: Re: [mosquitto-dev] eDRX and MQTT
>
> john rubis <john.rubis@xxxxxxxxxxx> writes:
>
>> I am currently using a normal TCP connection and my hope was to keep 
>> that open between eDRX cycles because that is the connection I 
>> expected a message would be received on that will wake the device up. 
>> So yes, at the eDRX interval the modem would detect the inbound 
>> traffic and wake up the device.
>
> I think you are saying:
>
>   modem goes to sleep
>
>   packet is sent by server
>
>   (time passes)
>
>   modem wakes up on schedule
>
>   more or less immediately, the packet that was sent is received
>   whatever back and forth happens
>
>
> Is that what you mean?
>
>
> I think Frank was asking if the sent packet would cause a wakeup not on the regular schedule.


Back to the top