mDash can't get config remotely from device

#1

I’ve set up a couple of ESP32 devices with SIM800L modules and the pppos library, the devices also work on AWS, the only issue is I can’t seem to be able to pull the device configurations remotely.

When I click on “Config” in mDash the device gets the Config.Get RPC and sends the configuration but mDash always shows “recv timeout” and doesn’t show the config.

[Jul 12 00:43:14.212] mg_rpc.c:376            '2' '' '' 'Config.Get'
[Jul 12 00:43:14.218] mgos_rpc.c:364          Called 'Config.Get', acl for it: '*'
[Jul 12 00:43:14.224] mg_rpc.c:293            Config.Get via WSS_out 148.251.54.236:443
[Jul 12 00:43:14.262] mg_rpc.c:612            0x3ffcaf4c SEND FRAME (4663): {CONFIG IS HERE}
[Jul 12 00:43:14.668] mg_rpc.c:508            0x3ffcaf4c FRAME SENT (1)

I’ve set up devices like these before (a couple of months ago, before the mDash facelift) and it has always worked but now none of them do.

Any idea what could be causing it?

#2

I see this in the log:

[Jul 12 00:43:14.262] mg_rpc.c:612            0x3ffcaf4c SEND FRAME (4663): {CONFIG IS HERE}

The {CONFIG IS HERE} is not a valid JSON string. Please try with some other RPC functions, do they send valid frames or not.

#3

{CONFIG IS HERE} is my way of redacting the config since it contains sensitive information, sorry I haven’t made that clear!

Going through the Config.Get RCP does sometimes get the config, but it never happens via the Config tab.

#4

Thank you! How about other functions? Do they work properly?
Do you see any errors if you open browser’s developer tools?

#5

Other functions seem to be a bit hit-or-miss:

In the Control tab I don’t always get the list or RPC functions.

When I open the Config tab I get the following in the console:

minitour.js:4 Uncaught TypeError: Cannot read property 'id' of null
    at minitour.js:4

When I open the Control tab I get the following:

Failed to load resource: the server responded with a status of 500 (Internal Server Error)

util.js:84 recv timeout

util.errorHandler @ util.js:84
axios.min.js:8
GET https://dash.mongoose-os.com/api/v2/devices/d3/rpc/RPC.List 500 (Internal Server Error)
(anonymous) @ axios.min.js:8
e.exports @ axios.min.js:8
e.exports @ axios.min.js:8
Promise.then (async)
r.request @ axios.min.js:8
r.<computed> @ axios.min.js:8
(anonymous) @ axios.min.js:2
refresh @ main.js:1
componentDidMount @ main.js:1
_ @ preact.min.js:1
C @ preact.min.js:1
r @ preact.min.js:1
Promise.then (async)
o @ preact.min.js:1
setState @ preact.min.js:1
onClick @ main.js:1
s @ preact.min.js:1

util.js:84 recv timeout
#6

The “read timeout” means the communication with a device gets lost.
Please switch to the Info tab, and disconnect a device (yellow button). That gets a device reconnected.

#7

That I understand, although I know for a fact the device is connected, working, and sending the config over the network.

I used to have a similar issue over GSM with the OTA update functionality, where I would get the “recv timeout” even thought the update actually went through and got committed.

Also I still get the internal server error which makes me think the issue might not be the device’s connection.

#8

Could you let us know the mdash username and device ID, please? We’ll take a look.

#9

After a few days of testing I figured out the problem was with the SIMs, this operator uses a different network architecture and I believe that was causing the issue.

Thanks for the help though!

#10

Thanks for letting us know!