Unable to Connect To AirVantage Consistently When Current Operator Set to Telus

I am working on making our data connection to AirVantage robust by automatically reconnecting if it drops out without rebooting or restarting the app.

Today I can’t seem to get a connection to AirVantage. My logs keeping saying the following:

May 24 17:53:46 swi-mdm9x15 user.info Legato: INFO | sensorToCloud[29484]/avPublisher T=main | avPublisher.c sessionTimerHandler() 1128 | AirVantage Connection Controller started. May 24 17:53:47 swi-mdm9x15 user.err Legato: =ERR= | avcDaemon[1195]/avcDaemon T=main | osUdp.c ResolveIpAddress() 188 | IP bs.airvantage.net not resolved: Temporary failure in name resolution May 24 17:53:48 swi-mdm9x15 user.err Legato: =ERR= | avcDaemon[1195]/avcDaemon T=main | osUdp.c ResolveIpAddress() 188 | IP bs.airvantage.net not resolved: Temporary failure in name resolution ^FMay 24 17:54:46 swi-mdm9x15 user.err Legato: =ERR= | modemDaemon[1066]/modemDaemon T=main | le_sms.c CloseSessionEventHandler() 2181 | SessionRef (0xb70723cc) has been closed May 24 17:54:48 swi-mdm9x15 user.err Legato: =ERR= | avcDaemon[1195]/avcDaemon T=main | avcClient.c EventHandler() 544 | Session failure May 24 17:54:48 swi-mdm9x15 user.err Legato: =ERR= | avcDaemon[1195]/avcDaemon T=main | avcClient.c EventHandler() 552 | Session failure on bootstrap server May 24 17:54:48 swi-mdm9x15 user.info Legato: INFO | avcDaemon[1195]/avcDaemon T=main | avcServer.c ProcessUserAgreement() 1472 | Broadcast notification to applications May 24 17:54:48 swi-mdm9x15 user.err Legato: =ERR= | avcDaemon[1195]/avcDaemon T=main | osTimer.c lwm2mcore_TimerStop() 173 | Unable to stop the timer May 24 17:54:48 swi-mdm9x15 user.err Legato: =ERR= | avcControl[1014]/avcControl T=main | avcControl.c StatusHandler() 165 | Air Vantage agent reported unexpected update status: 16

Then after a few minutes it’s fine and the session is restored. I did notice that when a session couldn’t be established the results of cm data had different IP and Gateway addresses than when it was able to establish a session, see below. The after a few successful data pushes the connection dropped again and was unable to establish a new connection for 3 hours at which time I reset the unit.

Not Able to Establish a Session
cm radio Power: ON Current Network Operator: TELUS Current RAT: UMTS network (LE_MRC_RAT_UMTS) Status: Registered to a roaming network (LE_MRC_REG_ROAMING) Signal: Strong signal strength (4) PS: Packet Switched Registered to a roaming network (LE_MRC_REG_ROAMING)

cm data Index: 1 APN: internet.sierrawireless.com PDP Type: IPV4 Connected: yes Interface: rmnet0 Family[IPv4]: inet IP[IPv4]: 100.71.156.120 Gateway[IPv4]: 100.71.156.121 Dns1[IPv4]: 8.8.8.8 Dns2[IPv4]: 4.2.2.2

Able to Establish a Session
cm radio Power: ON Current Network Operator: TELUS Current RAT: UMTS network (LE_MRC_RAT_UMTS) Status: Registered to a roaming network (LE_MRC_REG_ROAMING) Signal: Strong signal strength (4) PS: Packet Switched Registered to a roaming network (LE_MRC_REG_ROAMING)

cm data Index: 1 APN: internet.sierrawireless.com PDP Type: IPV4 Connected: yes Interface: rmnet0 Family[IPv4]: inet IP[IPv4]: 100.71.177.17 Gateway[IPv4]: 100.71.177.18 Dns1[IPv4]: 8.8.8.8 Dns2[IPv4]: 4.2.2.2

Hey @dbeckwith,

What happens when you force the device into GSM only mode using AT!SELRAT=02?

@nick No I haven’t tried that but I’m curious how that helps a system that can’t seem to get a network connection.

Hey @dbeckwith,

Telus UTMS should refer to a specific type of 3G network. I believe each WP85 has more than one adapter for each type of network (to my knowledge it at-least has GSM and WCDMA). I’ve seen power failures on the WCDMA transmit band before so that could be an issue here. That AT command will force the target to connect to a GSM network and not use any other cell adapters.

I have seen this happen as well (on different operator) but it is difficult to reproduce so not sure what is best procedure when this happens. Waiting for it to work is not a solution it seems. Disconnect and connect again?
Restart app? Reboot?

DcsStateHandler() 1268 | CONNECTION STATE HANDLER
DcsStateHandler() 1271 | CONNECTED
ResolveIpAddress() 188 | IP bs.airvantage.net not resolved: Temporary failure in name resolution
getaddrinfo failed for addr *******.com with rc -3
*******.com is not a valid IP address
mqttClientService.c mqtt_Connect() 281 | Socket error

@nilsarve I updated our connection algorithm to be state machine based and it now flips the radio off an off after a period of not having a data session.

1 Like