HL7800 FOTA commands not working

Hi All,

I hope you can help me with this issue. I already searched around the forum about this topic, but none worked for me.

I need FOTA update on HL7800 Module.

Here the details of the module I am using (to this firmware version I uploaded through the serial port )

I already added the modem to the portal ( but it does not sync with airvantage):


In order to add the required information I used the commands:

  • AT+KGSN=3 ( for the Serial Number)
  • AT+CGSN=0 ( for the IMEI )

I tried these commands then after connected an APN

AT+WDSI=4479
OK
AT+WDSS=1,1
OK
+WDSI: 7
+WDSI: 8

I have a VODAFONE NBIOT SIM card and I connect to a public APN ( as in the picture ). Here follows more details about the status of the modem:

AT+CGCONTRDP
+CGCONTRDP: 1,5,“lpwa.vodafone.iot.mnc028.mcc901.gprs”,100.93.202.178.255.255.255.252,100.93.202.177,
OK

Searching in the AT Commands Interface Guide Rev11, we have this “Two IP sessions are required…”. How to perform this? How do I make sure of it?

I am new to working with modems. Please, it would be really nice if I could have guidance on troubleshooting step by step with a real example without any assumption of what might seem obvious.

ps.: We are able to communicate with our server ( I don’t know if this helps) :

Thanks,

This event is sent when the server rejects the device connection request. Example of rejection cause: device not registered on server side. It might be caused by the reasons below:

  1. Verify that the module is loaded credential
    AT+WDSG
    +WDSG: 0,0 ==> No credential loaded
    +WDSG: 0,x (x>0) ==> Credential loaded

  2. Verifiy the configuration on ALMS with the steps below

image

image

  • Create system

image

  • Launch the system and activate the system as

System registration is done

  • Go to the module and type the commands below

AT+WDSI=4479
OK
at+wdss=1,1

OK

+WDSI: 4

+WDSI: 6

+WDSI: 23,1

+WDSI: 8
The module sends initiation of a connection to ALMS successfully. The module will be synchronized. Please try and share if you have any concerns
Thanks

Hi @Vianney

Thanks for the reply. I took a new modem and followed the steps. The airvantage already created for me the subscription and gateway.

Here is the subscription:
Should it be different from the one of my modem ?
AT+CCID
+CCID: 89882390000123427406

Here is the Gateway:

The button is greyed out within the Systems menu.

The answer is the same:

AT+WDSS=1,1
OK
+WDSI: 7
+WDSI: 8

I activated the Subscription:

Hi @joao.bino

Are you sure if whether the system is activated?
Are you able to launch the monitor page of the module? I saw the the monitor button was missed on the system page

It should be like this


Pls check it or you can provide your ALMS company name so we can have a look

Thanks @Vianney

Are you sure if whether the system is activated?

Not sure anymore

Please, here are my details:

UID 027d739321834c858fe513dd5d9fb507

Name Pessl

Account Type Unlimited FOTA

Hi @joao.bino,
Also you can share the company where the module is located ? It seems below

@Vianney

Please find it here

Hi @joao.bino,
It looks like monitor tab is missed on your company. The issue seems the topic below.

Please go thru the topic for more detail
Thanks

Thanks @Vianney

But is this missing monitor tab related to the problem?

I could some weeks ago connect a HL7692 to the air vantage and upload the firmware. And I see from the other topic you pointed me to that FOTA account does not have the tab monitor.

What should I do? Are there commands that I could try to manually sync with air vantage? Does FOTA work for NBIOT?

Hi @joao.bino,

The missing monitor might cause your problem as the above topic was mentioned. the issue doesn’t relate CAT-M1 or NB. Did you use the login for HL7692?
Have you tried to go Upgrade tab then take sync from there

Thanks

Thanks @Vianney

The missing monitor might cause your problem as the above topic was mentioned.

Do you suggest that I should have another account type?


I tried Configure, I tried sync. The module don’t even sync. I don’t know why it is being prevented to sync to the airvantage platform.

image

I wish there was a script to follow with all commands necessary to enabling and disabling everything needed for a fresh new modem to be able to do the FOTA. Because we’ve been searching all the way but nothing is working so far

Hi @joao.bino,
As my previous comment, missing Monitor might cause your synchronize issue. I check your company “Pessl” It looks like your company is FOTA edition which doesn’t have the Monitor tab. Please try to contact your administrator who create the another on which have the tab then try again. Or you can do it yourself by going to the link and follow instruction


Try to add the module to new company and repeat your test.
Thanks

Thanks @Vianney

Here are the new attempts. I followed your link in the last post and created a new account with full access including the monitor. in that:

  1. I registered one modem that is with me here in Austria ( NBIoT )
  2. I registered one modem which was in the USA with a coworker under the provider Verizon connected to ( CAT-M)

As you can see in the image ( Both were registered in the network):

  • NBIoT didn’t reach it and the answer of +WDSI was the same 7 and 8

+WDSI:7
+WDSI:8

  • CAT-M was successfull

at+wdss=1,1
OK
+WDSI: 4
+WDSI: 6
+WDSI: 23,0
+WDSI: 4
+WDSI: 6
+WDSI: 23,1

Please, find the FOTA log attached.
FOTA_HL78_Sucess.txt (4.5 KB)

Does that mean we will not be able to use NBIoT here or is this a problem with the provider?

Regards,

Hi @joao.bino
HL7800 support FOTA for both CAT-M and NB

Have you tried to use CAT-M for your module (which fails to communicate with ALMS)? Is it successfully? If yes, it maybe NB has no data. Please check with your provider. Also, ensure you are using latest firmware for testing

1 Like

@Vianney I have a similar problem with the modem, I have tried several things I believe the problem is the the airVantage, have been browsing for a while and havent got much useful information, it would be great if you could help.
The story at tonigh is that I have registered 2 FX30S, I can start the connection from the le_avc legato API and it will always connect successfully but the handler will return NO_UPDATE.
So I have hard reset the target, downloaded the latest firmware and tried with the AT commands (AT+WDSS=1,1) and once again it will connect but will not download the software.

I have read an old post saying that there could be a problem with the timer and this to be a possible reason of missing the updates (I believe this should be solved by now as the post was from 2017), another possible cause if the account type, where mine is trial where I read above this should be unlimited FOTA?

We have been hitting our heads against the wall for a few days, it would be fantastic if you could give us some quality answers as I assume this to be related with some settings on the airVantage server as the target seems connecting successfully.

Thank you in advance for you help on this.

Hi @claudio.baldini,
Have you created the system for your device on ALMS. If yes, please take a screenshot and share. If no, please create it.
Basically, Fota works only when

  1. The device gets WDSI like this
    image
  2. There is generated job on ALMS

    Please check it and share your result. Also I recommend that you should create new topic for tracking the problem
    Thanks

@Vianney I have done so, this is the post I have created:

but after going through several messages I dont see that to get anywhere so I was wondering if was better to follow up on this one which seems having answers more relevant with the problem we are experiencing. Not that we dont appreciate the effort and support of anybody, but at the end this is business for us and we need to sort things out.

The situation is, after hardware resetting the unit and flashing the latest firmware, I started the AT command and I get I get the answer as you have listed,
image

At the meantime I have also logged the logs from the FX30.

Apr 13 01:07:33 fx30s user.err kernel: [ 344.382201] disconnect_to_bam: shutdown completion time was: 5000 msec
Apr 13 01:07:34 fx30s user.err kernel: [ 345.382182] disconnect_to_bam: shutdown completion time was: 5000 msec
Apr 13 01:07:36 fx30s user.err kernel: [ 347.542216] disconnect_to_bam: shutdown completion time was: 5000 msec
Apr 13 01:07:37 fx30s user.err kernel: [ 348.682192] disconnect_to_bam: shutdown completion time was: 5000 msec
Apr 13 01:07:38 fx30s user.err kernel: [ 349.682195] disconnect_to_bam: shutdown completion time was: 5000 msec
Apr 13 01:07:39 fx30s user.debug Legato: DBUG | atQmiLinker[1153]/atQmiLinker T=unknown | atForward.c QmiAtCmdCb() 161 | Received:at+wdsi?^M ' Apr 13 01:07:39 fx30s user.debug Legato: DBUG | atQmiLinker[1153]/atQmiLinker T=Writer | atLinker.c Writer() 334 | cmd: at+wdsi?^M ’
Apr 13 01:07:39 fx30s user.debug Legato: DBUG | atQmiLinker[1153]/atQmiLinker T=Reader | atForward.c SendIntermediateResponse() 416 | ##^M +WDSI: 4479^M ##
Apr 13 01:07:40 fx30s user.err kernel: [ 351.682207] disconnect_to_bam: shutdown completion time was: 5000 msec
Apr 13 01:07:44 fx30s user.err kernel: [ 355.863142] disconnect_to_bam: shutdown completion time was: 5000 msec
Apr 13 01:07:44 fx30s user.err kernel: [ 356.102202] disconnect_to_bam: shutdown completion time was: 5000 msec
Apr 13 01:07:46 fx30s user.err kernel: [ 358.102198] disconnect_to_bam: shutdown completion time was: 5000 msec
Apr 13 01:07:50 fx30s user.debug Legato: DBUG | atQmiLinker[1153]/atQmiLinker T=unknown | atForward.c QmiAtCmdCb() 161 | Received:at+wdss=1,1^M ' Apr 13 01:07:50 fx30s user.debug Legato: DBUG | atQmiLinker[1153]/atQmiLinker T=Writer | atLinker.c Writer() 334 | cmd: at+wdss=1,1^M ’
Apr 13 01:07:50 fx30s user.warn Legato: -WRN- | dcsDaemon[1196]/dcsDaemon T=main | dcsServer.c LoadSelectedTechProfile() 996 | No value set for ‘SSID’!
Apr 13 01:07:50 fx30s user.warn Legato: -WRN- | dcsDaemon[1196]/dcsDaemon T=main | dcsServer.c TryStartWifiSession() 1473 | Impossible to use Wifi profile, result -1 (LE_NOT_FOUND)
Apr 13 01:07:50 fx30s user.debug Legato: DBUG | atQmiLinker[1153]/atQmiLinker T=Reader | atForward.c SendIntermediateResponse() 416 | ####
Apr 13 01:07:50 fx30s user.err kernel: [ 362.102177] disconnect_to_bam: shutdown completion time was: 5000 msec
Apr 13 01:07:51 fx30s user.debug Legato: DBUG | wifiService[1261]/daemon T=main | le_wifiClient.c le_wifiClient_Disconnect() 1373 | Disconnect
Apr 13 01:07:51 fx30s user.info Legato: INFO | wifiService[1261] | WIFICLIENT_DISCONNECT
Apr 13 01:07:51 fx30s user.err Legato: =ERR= | wifiService[1261] | Failed to connect to non-global ctrl_ifname: wlan0 error: No such file or directory
Apr 13 01:07:51 fx30s user.err Legato: =ERR= | wifiService[1261]/daemon T=main | pa_wifi_client_ti.c pa_wifiClient_Disconnect() 1122 | WiFi Client Command Failed: (24832)wlan0 WIFICLIENT_DISCONNECT
Apr 13 01:07:51 fx30s user.err Legato: =ERR= | dcsDaemon[1196]/dcsDaemon T=main | dcsServer.c TryStopWifiSession() 1694 | Impossible to disconnect wifi client
Apr 13 01:07:51 fx30s user.info Legato: INFO | dcsDaemon[1196]/dcsDaemon T=main | dcsServer.c TryStartTechSession() 1563 | Device is attached, ready to start a data session
Apr 13 01:07:51 fx30s user.info Legato: INFO | modemDaemon[1221]/swiQmi T=main | swiQmi.c swiQmi_InitQmiService() 596 | qmi_client_get_service_list num_entries 1 num_services=1
Apr 13 01:07:51 fx30s user.err kernel: [ 363.143150] disconnect_to_bam: shutdown completion time was: 5000 msec
Apr 13 01:07:52 fx30s user.err kernel: [ 363.780458] disconnect_to_bam: shutdown completion time was: 5000 msec
Apr 13 01:07:54 fx30s user.info Legato: INFO | dcsDaemon[1196]/le_pa_dcs T=main | pa_dcs_linux.c AddNameserversToResolvConf() 310 | Set DNS ‘10.5.68.232’ ‘10.5.209.36’
Apr 13 01:07:54 fx30s user.info Legato: INFO | dcsDaemon[1196]/le_pa_dcs T=main | pa_dcs_linux.c AddNameserversToResolvConf() 310 | Set DNS ‘2001:8004:0:e181:7:e1c0:0:10’ ‘2001:8004:0:8181:7:e1c0:0:10’
Apr 13 01:07:54 fx30s user.info Legato: INFO | dcsDaemon[1196]/dcsDaemon T=main | dcsServer.c SetDefaultRouteAndDns() 1330 | DNS configuration is set successfully
Apr 13 01:07:55 fx30s user.err kernel: [ 366.892190] disconnect_to_bam: shutdown completion time was: 5000 msec
Apr 13 01:07:58 fx30s user.err kernel: [ 369.582182] disconnect_to_bam: shutdown completion time was: 5000 msec
Apr 13 01:07:58 fx30s user.err kernel: [ 370.101412] disconnect_to_bam: shutdown completion time was: 5000 msec
Apr 13 01:07:59 fx30s user.err kernel: [ 370.582186] disconnect_to_bam: shutdown completion time was: 5000 msec
Apr 13 01:07:59 fx30s user.info Legato: INFO | avcDaemon[1174]/avcDaemon T=main | avcClient.c BearerEventCb() 251 | Connected 1
Apr 13 01:07:59 fx30s user.err kernel: [ 370.902217] disconnect_to_bam: shutdown completion time was: 5000 msec
Apr 13 01:08:00 fx30s user.err kernel: [ 372.032214] disconnect_to_bam: shutdown completion time was: 5000 msec
Apr 13 01:08:01 fx30s user.info Legato: INFO | avcDaemon[1174]/avcDaemon T=main | avcServer.c ProcessUserAgreement() 1509 | Broadcast notification to applications
Apr 13 01:08:01 fx30s user.debug Legato: DBUG | atQmiLinker[1153]/atQmiLinker T=Reader | atForward.c SendUnsolicitedResponse() 458 | **^M +WDSI: 4^M **
Apr 13 01:08:01 fx30s user.err kernel: [ 372.831174] disconnect_to_bam: shutdown completion time was: 5000 msec
Apr 13 01:08:01 fx30s user.err Legato: =ERR= | avcDaemon[1174]/avcDaemon T=main | osTimer.c lwm2mcore_TimerIsRunning() 213 | Timer reference is NULL
Apr 13 01:08:01 fx30s user.err kernel: [ 373.309324] disconnect_to_bam: shutdown completion time was: 5000 msec
Apr 13 01:08:02 fx30s user.err Legato: =ERR= | avcDaemon[1174]/avcDaemon T=main | osTimer.c lwm2mcore_TimerIsRunning() 213 | Timer reference is NULL
Apr 13 01:08:02 fx30s user.err kernel: [ 374.030212] disconnect_to_bam: shutdown completion time was: 5000 msec
Apr 13 01:08:02 fx30s user.err Legato: =ERR= | avcDaemon[1174]/avcDaemon T=main | osTimer.c lwm2mcore_TimerIsRunning() 213 | Timer reference is NULL
Apr 13 01:08:03 fx30s user.err kernel: [ 374.575200] disconnect_to_bam: shutdown completion time was: 5000 msec
Apr 13 01:08:04 fx30s user.err kernel: [ 375.622174] disconnect_to_bam: shutdown completion time was: 5000 msec
Apr 13 01:08:04 fx30s user.err Legato: =ERR= | avcDaemon[1174]/avcDaemon T=main | osTimer.c lwm2mcore_TimerIsRunning() 213 | Timer reference is NULL
Apr 13 01:08:05 fx30s user.err kernel: [ 376.806219] disconnect_to_bam: shutdown completion time was: 5000 msec
Apr 13 01:08:05 fx30s user.err kernel: [ 377.102215] disconnect_to_bam: shutdown completion time was: 5000 msec
Apr 13 01:08:06 fx30s user.err kernel: [ 378.302178] disconnect_to_bam: shutdown completion time was: 5000 msec
Apr 13 01:08:07 fx30s user.err kernel: [ 378.632502] disconnect_to_bam: shutdown completion time was: 5000 msec
Apr 13 01:08:07 fx30s user.err Legato: =ERR= | avcDaemon[1174]/avcDaemon T=main | avcFs.c ReadFs() 41 | failed to open /avc/packageDownloader/packageUri: LE_NOT_FOUND
Apr 13 01:08:07 fx30s user.err Legato: =ERR= | avcDaemon[1174]/avcDaemon T=main | packageDownloader.c packageDownloader_GetResumeInfo() 323 | Failed to read /avc/packageDownloader/packageUri: LE_NOT_FOUND
Apr 13 01:08:07 fx30s user.warn Legato: -WRN- | avcDaemon[1174]/avcDaemon T=main | assetData.c assetData_GetObj9InstanceList() 1818 | No object 9 instance
Apr 13 01:08:07 fx30s user.info Legato: INFO | avcDaemon[1174]/avcDaemon T=main | avcAppUpdate.c NotifyObj9List() 693 | Found 0 object 9 instances
Apr 13 01:08:07 fx30s user.info Legato: INFO | avcDaemon[1174]/avcDaemon T=main | avcAppUpdate.c NotifyObj9List() 694 | obj9ListLen; 0 obj9List:
Apr 13 01:08:07 fx30s user.info Legato: INFO | avcDaemon[1174]/avcDaemon T=main | push.c push_Retry() 261 | Push Retry
Apr 13 01:08:07 fx30s user.info Legato: INFO | avcDaemon[1174]/avcDaemon T=main | avcServer.c ProcessUserAgreement() 1509 | Broadcast notification to applications
Apr 13 01:08:07 fx30s user.debug Legato: DBUG | atQmiLinker[1153]/atQmiLinker T=Reader | atForward.c SendUnsolicitedResponse() 458 | **^M +WDSI: 6^M **
Apr 13 01:08:07 fx30s user.debug Legato: DBUG | atQmiLinker[1153]/atQmiLinker T=Reader | atForward.c SendUnsolicitedResponse() 458 | **^M +WDSI: 23,1^M **
Apr 13 01:08:07 fx30s user.err Legato: =ERR= | avcDaemon[1174]/avcDaemon T=main | avcFs.c ReadFs() 41 | failed to open /avc/fw/updateState: LE_NOT_FOUND
Apr 13 01:08:07 fx30s user.warn Legato: -WRN- | avcDaemon[1174]/avcDaemon T=main | packageDownloader.c packageDownloader_GetFwUpdateState() 527 | FW update state not found
Apr 13 01:08:08 fx30s user.err Legato: =ERR= | avcDaemon[1174]/avcDaemon T=main | avcFs.c ReadFs() 41 | failed to open /avc/fw/updateState: LE_NOT_FOUND
Apr 13 01:08:08 fx30s user.warn Legato: -WRN- | avcDaemon[1174]/avcDaemon T=main | packageDownloader.c packageDownloader_GetFwUpdateState() 527 | FW update state not found
Apr 13 01:08:08 fx30s user.err Legato: =ERR= | avcDaemon[1174]/avcDaemon T=main | avcFs.c ReadFs() 41 | failed to open /avc/fw/updateResult: LE_NOT_FOUND
Apr 13 01:08:08 fx30s user.warn Legato: -WRN- | avcDaemon[1174]/avcDaemon T=main | packageDownloader.c packageDownloader_GetFwUpdateResult() 572 | FW update result not found
Apr 13 01:08:08 fx30s user.err kernel: [ 379.877174] disconnect_to_bam: shutdown completion time was: 5000 msec
Apr 13 01:08:08 fx30s user.err Legato: =ERR= | avcDaemon[1174]/avcDaemon T=main | avcFs.c ReadFs() 41 | failed to open /avc/fw/updateResult: LE_NOT_FOUND
Apr 13 01:08:08 fx30s user.warn Legato: -WRN- | avcDaemon[1174]/avcDaemon T=main | packageDownloader.c packageDownloader_GetFwUpdateResult() 572 | FW update result not found
Apr 13 01:08:09 fx30s user.err kernel: [ 380.350235] disconnect_to_bam: shutdown completion time was: 5000 msec
Apr 13 01:08:10 fx30s user.err kernel: [ 381.461241] disconnect_to_bam: shutdown completion time was: 5000 msec
Apr 13 01:08:11 fx30s user.err kernel: [ 382.602167] disconnect_to_bam: shutdown completion time was: 5000 msec
Apr 13 01:08:12 fx30s user.err kernel: [ 383.602194] disconnect_to_bam: shutdown completion time was: 5000 msec
Apr 13 01:08:13 fx30s user.err kernel: [ 384.492179] disconnect_to_bam: shutdown completion time was: 5000 msec
Apr 13 01:08:13 fx30s user.err kernel: [ 384.882224] disconnect_to_bam: shutdown completion time was: 5000 msec
Apr 13 01:08:14 fx30s user.err kernel: [ 385.550582] disconnect_to_bam: shutdown completion time was: 5000 msec
Apr 13 01:08:14 fx30s user.err kernel: [ 385.882205] disconnect_to_bam: shutdown completion time was: 5000 msec
Apr 13 01:08:15 fx30s user.err kernel: [ 386.882189] disconnect_to_bam: shutdown completion time was: 5000 msec
Apr 13 01:08:16 fx30s user.err kernel: [ 387.882205] disconnect_to_bam: shutdown completion time was: 5000 msec
Apr 13 01:08:18 fx30s user.err kernel: [ 389.602209] disconnect_to_bam: shutdown completion time was: 5000 msec
Apr 13 01:08:26 fx30s user.err kernel: [ 397.602184] disconnect_to_bam: shutdown completion time was: 5000 msec
Apr 13 01:08:27 fx30s user.info Legato: INFO | avcDaemon[1174]/avcDaemon T=main | avcServer.c ProcessUserAgreement() 1509 | Broadcast notification to applications
Apr 13 01:08:27 fx30s user.err Legato: =ERR= | avcDaemon[1174]/avcDaemon T=main | avcServer.c le_avc_GetUpdateType() 3346 | In AVC_IDLE

Not sure about the couple of errors with the FS, but the handler seems returning NO_UPDATE while on the airVantage I have triggered several actions and all of them stays gray. My account is in trial though, could this be a problem?

this is a snip from the airvantage platform:

none of the tasks gets executed, but the communication works as the Last Seen keeps updating.
And also (occasionally) the configure communication works.

I cant see this problem to be with the firmware as this should be a core part of this product. Also as the communication works, the carrier or data should not be an issue here. The only two things which would make sense, are a time difference between airVantage and FX30 subsystem so the update time doesnt match, or some wrong settings I did in the airVantage backend.

If you have a sample application which you know 100% should work, I can try to install that one instead.
I did try to clone the FX30 R11 firmware and to publish that as an app, then to download to the unit.
Same result.

We really need to get this working or we cant move on with this project, have placed an order for 40 units but cant really field test the first ones unless we get this working.

I saw your comment in the post below

you got
at+wdss=1,1
OK

+WDSI: 4

+WDSI: 5

+WDSI: 7

+WDSI: 8

So what exact value you got when trying WDSS=1,1? Please help to choice one topic and discuss on it for the problem
Thanks

I am troubleshooting this now, trying to see if I can get a consistent result.
Will follow on the other topic then.