AT command passthrough stopped working

My device manager show this

and in EasyFlash I get a Warning service interface locked!
The Backup of legacy NV objects seems to hang

I installed the driver with the Ethernet option, is that correct?
Any other ideas?

@Uta

What is the sketch on your board while trying to update the firmware?
Can you try it with the At passthrough sketch?

The AT_passthrough has been used. I just doublechecked.
I tried now on another PC and see also just the
Qualcomm HS-USB MDM Diagnostics 90B2

Update: without AT_passthrough sketch the Qualcomm devices does not appear in the Device Manager at all

I have the rev. 2 board and soldered an USB cable to the ublox usb port

@Uta,

The only suggestion I have left is that you try to run EasyFlash as administrator.

Best regards,
Jan

Seems not too make any difference.
What do you think about that the modem port does not correctly appear in the device manager, but only the diagnostic port?
I could not find any hint in the ublox documentation either.

Hi, same issue here, can’t send at commands using the R4 module. Firmware version L0.0.00.00.05.06,A.02.00
Is it worth trying to update the firmware?

Regards,

Raymond

Hi everyone,

I have been able to fix the AT issue without updating the firmware.

  1. Remove your simcard.
  2. Upload the passthrough software to your board.
  3. Send the command AT+CFUN=15
    Sending the AT+CFUN=15 command may take a few tries since some boards only react for a few seconds.

Best regards,
Jan

Hi @Jan,

I got my SODAQ SFF a couple of days ago. After some testing the AT cmds stopped working.
I never get a response from the modem since two days.

I already tried your hint with AT+CFUN=15, but it is not working.

Can you send me the latest firmware and the easyflash software, so I can see if updating the modem firmware helps?

EDIT:

I tried it again a couple of times and the modem seems to work again for a couple of seconds.

After the initialization script in the m - center software I cant send any other cmd?
I also have problems with connection to a cellular network…

AT+CGMM
AT
ATE0

ATE0

OK
AT+CMEE=2


OK
AT+CGMI


u-blox

OK

AT+CGMM


SARA-R412M-02B

OK

AT+CGMR


M0.10.00 [Mar 28 2019 17:13:41]

OK

ATI9


M0.10.00,A.02.14

OK

AT+CLCK="SC",2


+CLCK: 0

OK

AT+CPIN?


+CPIN: READY

OK

AT+UPSV?



+UPSV: 0 


OK

AT+CCLK?


+CCLK: "80/01/06,00:15:47"

OK

AT+CGSN


354679091063761

OK

AT+COPS?


+COPS: 1

OK

AT+CEREG=2


OK

AT+CEREG?


+CEREG: 2,0

OK

AT+CEREG=0


OK

AT+CSQ


+CSQ: 99,99

OK

AT+CSQ
AT+CCLK="19/09/02,11:34:11+00"
AT+CCLK?

Best regards,
Tim

Hi Tim,

In the latest firmware PSM and eDRX are enabled by default.
If you wait a bit then the module goes to sleep and does not react anymore,

You can disable the PSM and eDRX with the following commands:
“AT+CPSMS=0”
“AT+CEDRXS=0”

Best regards,
Jan

@Jan
I was able to set everything. Do I have to set these settings every time the device gets turned on or are they stored permanently?

And while using the m-center software I’m able to connect the board to a cellular network. But if I try a simple example (nbIOT_test.ino) it always fails to connect?

Best regards.
Tim

Hi @T1mS,

The Sodaq_nbIOT library is deprecated. Can you use the Sodaq_R4X library for the R412M you have?

Best regards,
Jan

@Jan
Yes I also tried this library and tried the mqtt and http example. I also use a 1nce.com SIM in Germany.
I tried to change the APN to “iot.1nce.net” but I always get “Network connection failed”.

I just don’t understand why I get a signal with the m-center software, but never with a normal sketch… :smiley:

@T1mS,

I see that v2.0.0 is not available from the Arduino Library Manager.
Can you manually update it from the GitHub?

Best regards,
Jan

Hi @Jan,

I enabled debbuging in the .ccp file and this is my result for the mqtt test sketch:

 14:13:38.769 -> [init] started.
14:13:38.769 -> [initBuffer]
14:13:40.767 -> >> AT
14:13:40.767 -> 
<< timed out
14:13:41.278 -> >> AT
14:13:41.278 -> 
<< timed out
14:13:41.752 -> >> AT
14:13:41.752 -> 
<< timed out
14:13:42.261 -> >> AT
14:13:42.261 -> 
<< timed out
14:13:42.770 -> >> AT
14:13:42.770 -> 
<< timed out
14:13:43.248 -> >> AT
14:13:43.248 -> 
<< timed out
14:13:43.759 -> >> AT
14:13:43.759 -> 
<< AT

14:13:43.759 -> << OK
14:13:44.268 -> << timed out
14:13:45.519 -> << timed out
14:13:45.519 -> >> AT+CMEE=2
14:13:45.519 -> 
<< AT+CMEE=2

14:13:45.519 -> << OK
14:13:45.519 -> >> AT+UGPIOC=16,255
14:13:45.519 -> 
<< AT+UGPIOC=16,255

14:13:45.519 -> << OK
14:13:45.519 -> >> ATE0
14:13:45.519 -> 
<< ATE0

14:13:45.519 -> << OK
14:13:45.519 -> >> AT+CFUN?
14:13:45.519 -> 
<< +CFUN: 1
14:13:45.553 -> << OK
14:13:45.553 -> >> AT+UMNOPROF?
14:13:45.553 -> 
<< +UMNOPROF: 100
14:13:45.553 -> << OK
14:13:45.553 -> >> AT+URAT?
14:13:45.553 -> 
<< +URAT: 8
14:13:45.553 -> << OK
14:13:45.553 -> >> AT+COPS=3,2
14:13:45.553 -> 
<< OK
14:13:45.553 -> >> AT+COPS?
14:13:45.553 -> 
<< +COPS: 0
14:13:45.553 -> << OK
14:13:45.553 -> >> AT+CGDCONT?
14:13:45.553 -> 
<< +CGDCONT: 1,"IP","iot.1nce.net","100.116.224.1",0,0,0,0
14:13:45.587 -> << OK
14:13:45.587 -> >> AT+CSQ
14:13:45.587 -> 
<< +CSQ: 99,99
14:13:45.587 -> << OK
14:13:46.096 -> >> AT+CSQ
14:13:46.096 -> 
<< +CSQ: 99,99
14:13:46.096 -> << OK
14:13:47.589 -> >> AT+CSQ
14:13:47.589 -> 
<< +CSQ: 99,99
14:13:47.589 -> << OK
14:13:50.101 -> >> AT+CSQ
14:13:50.101 -> 
<< +CSQ: 99,99
14:13:50.101 -> << OK
14:13:53.596 -> >> AT+CSQ
14:13:53.596 -> 
<< +CSQ: 14,99
14:13:53.596 -> << OK
14:13:53.596 -> >> AT+CPIN?
14:13:53.596 -> 
<< +CPIN: READY
14:13:53.596 -> << OK
14:13:53.596 -> Network connected
14:13:53.596 -> >> AT+UMQTT=2,"test.mosquitto.org",1883
14:13:53.596 -> 
<< 

14:13:53.630 -> << +UMQTT: 2,1

14:13:53.630 -> << OK
14:13:53.630 -> >> AT+UMQTTC=1
14:13:53.630 -> 
<< 

14:14:29.645 -> << +UMQTTC: 1,0

14:14:29.645 -> << OK
14:14:29.645 -> MQTT failed
14:14:29.645 -> Setup done

So I get a connection to the cellular network quite fast. Then the mqtt fails. If I use the http test it also fails after I get connected to the network.

Hi @T1mS,

We only have tested the mqtt_test with LTE-M.
The http_test is tested with both NB-IoT and LTE-M.
Can you share the debug output with the http_test?

At the moment we don’t have simcards to test the mqtt with NB-IoT.

We have updated the example with some default operator settings this morning.

I know that for some operators you need to white-list certain IPs before you can communicate with them.

Best regards,
Jan

Hi @Jan ,

This is the result in the serial monitor with lte-m and http:

15:31:10.061 -> [init] started.
15:31:10.061 -> [initBuffer]
15:31:12.066 -> >> AT
15:31:12.066 -> 
<< timed out
15:31:12.574 -> >> AT
15:31:12.574 -> 
<< timed out
15:31:13.091 -> >> AT
15:31:13.091 -> 
<< timed out
15:31:13.588 -> >> AT
15:31:13.588 -> 
<< timed out
15:31:14.084 -> >> AT
15:31:14.084 -> 
<< timed out
15:31:14.585 -> >> AT
15:31:14.585 -> 
<< AT

15:31:14.585 -> << OK
15:31:15.075 -> << timed out
15:31:16.347 -> << timed out
15:31:16.347 -> >> AT+CMEE=2
15:31:16.347 -> 
<< AT+CMEE=2

15:31:16.347 -> << OK
15:31:16.347 -> >> AT+UGPIOC=16,255
15:31:16.347 -> 
<< AT+UGPIOC=16,255

15:31:16.347 -> << OK
15:31:16.347 -> >> ATE0
15:31:16.347 -> 
<< ATE0

15:31:16.347 -> << OK
15:31:16.347 -> >> AT+CFUN?
15:31:16.347 -> 
<< +CFUN: 1
15:31:16.347 -> << OK
15:31:16.347 -> >> AT+UMNOPROF?
15:31:16.347 -> 
<< +UMNOPROF: 100
15:31:16.347 -> << OK
15:31:16.347 -> >> AT+URAT?
15:31:16.347 -> 
<< +URAT: 7
15:31:16.394 -> << OK
15:31:16.394 -> >> AT+COPS=0,2
15:31:16.394 -> 
<< OK
15:31:16.394 -> >> AT+CGDCONT?
15:31:16.394 -> 
<< +CGDCONT: 1,"IP","iot.1nce.net","0.0.0.0",0,0,0,0
15:31:16.394 -> << OK
15:31:16.394 -> >> AT+CSQ
15:31:16.394 -> 
<< +CSQ: 99,99
15:31:16.394 -> << OK
15:31:16.894 -> >> AT+CSQ
15:31:16.894 -> 
<< +CSQ: 99,99
15:31:16.894 -> << OK
15:31:18.413 -> >> AT+CSQ
15:31:18.413 -> 
<< +CSQ: 99,99
15:31:18.413 -> << OK
15:31:20.931 -> >> AT+CSQ
15:31:20.931 -> 
<< +CSQ: 99,99
15:31:20.931 -> << OK
15:31:24.424 -> >> AT+CSQ
15:31:24.424 -> 
<< +CSQ: 99,99
15:31:24.424 -> << OK
15:31:28.911 -> >> AT+CSQ
15:31:28.911 -> 
<< +CSQ: 99,99
15:31:28.911 -> << OK
15:31:34.420 -> >> AT+CSQ
15:31:34.420 -> 
<< +CSQ: 99,99
15:31:34.420 -> << OK
15:31:39.936 -> >> AT+CSQ
15:31:39.936 -> 
<< +CSQ: 22,99
15:31:39.936 -> << OK
15:31:39.936 -> >> AT+CGATT?
15:31:39.936 -> 
<< +CGATT: 0
15:31:39.936 -> << OK
15:31:40.443 -> >> AT+CGATT?
15:31:40.443 -> 
<< +CGATT: 0
15:31:40.443 -> << OK
15:31:41.931 -> >> AT+CGATT?
15:31:41.931 -> 
<< +CGATT: 1
15:31:41.931 -> << OK
15:31:41.931 -> >> AT+CGDCONT?
15:31:41.931 -> 
<< +CGDCONT: 1,"IP","iot.1nce.net","0.0.0.0",0,0,0,0
15:31:41.965 -> << OK
15:31:41.965 -> >> AT+CGACT=1
15:31:41.965 -> 
<< OK
15:31:42.202 -> >> AT+CGDCONT?
15:31:42.202 -> 
<< +CGDCONT: 1,"IP","iot.1nce.net","100.116.224.1",0,0,0,0
15:31:42.236 -> << OK
15:31:42.236 -> >> AT+CPIN?
15:31:42.236 -> 
<< +CPIN: READY
15:31:42.236 -> << OK
15:31:42.236 -> Network connected
15:31:42.236 -> Setup done
15:31:42.236 -> >> AT+UHTTP=0
15:31:42.236 -> 
<< OK
15:31:42.641 -> >> AT+UDELFILE="http_last_response_0"
15:31:42.641 -> 
<< OK
15:31:42.641 -> >> AT+UHTTP=0,1,"time.sodaq.net"
15:31:42.641 -> 
<< OK
15:31:42.641 -> >> AT+UHTTPC=0,1,"/",""
15:31:42.641 -> 
<< OK
15:31:42.674 -> >> AT
15:31:42.674 -> 
<< OK
15:31:42.707 -> >> AT
15:31:42.707 -> 
<< OK
15:31:43.044 -> >> AT
15:31:43.044 -> 
<< OK
15:31:43.560 -> >> AT
15:31:43.560 -> 
<< OK
15:31:44.395 -> >> AT
15:31:44.395 -> 
<< +UUHTTPCR: 0,1,1
15:31:44.395 -> Unsolicited: UUHTTPCR: 1: 1
15:31:44.395 -> << OK
15:31:44.395 -> >> AT+ULSTFILE=2,"http_last_response_0"
15:31:44.395 -> 
<< +ULSTFILE: 187
15:31:44.395 -> << OK
15:31:44.395 -> >> AT+ULSTFILE=2,"http_last_response_0"
15:31:44.395 -> 
<< +ULSTFILE: 187
15:31:44.395 -> << OK
15:31:44.395 -> >> AT+URDBLOCK="http_last_response_0",0,64
15:31:44.395 -> 
<< OK
15:31:44.551 -> >> AT+URDBLOCK="http_last_response_0",64,64
15:31:44.551 -> 
<< OK
15:31:44.707 -> >> AT+URDBLOCK="http_last_response_0",128,64
15:31:44.707 -> 
<< OK
15:31:44.847 -> [httpGet] header size: 176
15:31:44.847 -> >> AT+URDBLOCK="http_last_response_0",176,2048
15:31:44.847 -> 
<< OK
15:31:45.035 -> Read bytes: 11
15:31:45.035 -> Buffer:
15:31:45.035 -> 1568727102
15:31:45.035 -> 

Looks like it’s working, right?

So I will start working with the http and a protocol to send my data.
Do you know a good example or tutorial to get the data to Google Cloud PubSub using the HTTP POST method?

Thanks.
Tim

Hi @T1mS,

This looks good!
I don’t have any experience Google Cloud. Hopefully someone else can help you out here

Best regards,
Jan

HI @Jan,

Thanks for the help.

I try to figure it out on my own with the GCP.

Another thing, I looked at the low_power example and I don’t understand how the device wakes up after a certain period of time or in other words how do I define the sleep period?

Thanks,
Tim

Hi @T1mS,

In the low power example we turn everything off.
It will sleep forever.

Most onboard sensors are used in the Universal Tracker software.
You can also see how we wake the device every 8sec to reset the watchdog and every 59th second of a minute to run events.

Let me know if you have questions.
Best regards,
Jan