Hi all,
I too am experiencing the occasional data connection issue.
They are seemingly random - sometimes after a few minutes, though most often occurs after a number of days.
Firmware Version: SWI9X15Y_07.11.22.00 r33729 CARMD-EV-FRMWR1 2017/01/11 18:04:06
Framework Version: 16.10.1_aaeaccf56a618be69da2be9aad4a2a04_modified
Linux Version: 3.14.29ltsi-a00e464379_b0ce579abb #2 PREEMPT Wed Dec 7 20:56:58 PST 2016
Module: WP85
Unfortunately, I haven’t been able to capture a system log of when the issue first begins but what I do know is that my app releases the data connection but the interface never actually disconnects. When I connect to the system the log is continually updating with the messages as shown below:
May 11 06:36:32 | Legato | =ERR= | modemDaemon[623]/swiQmi T=main | swiQmi.c swiQmi_CheckResponse() 781 | Sending QMI_WDS_START_NETWORK_INTERFACE_REQ_V01 failed: rc=0 (), resp.result=1.[0x01], resp.error=14.[0x0e]
May 11 06:36:32 | Legato | =ERR= | modemDaemon[623]/le_pa T=main | pa_mdc_qmi.c StartSession() 1690 | Data connection failure Call End provided 45, Code 1
May 11 06:36:32 | Legato | =ERR= | modemDaemon[623]/le_pa T=main | pa_mdc_qmi.c StartSession() 1701 | Data connection failure Verbose Call End provided Type 2, Verbose 210
May 11 06:36:32 | Legato | =ERR= | modemDaemon[623]/modemDaemon T=main | le_mdc.c le_mdc_StartSession() 919 | Get Connection failure 45, 1, 2, 210
May 11 06:36:32 | Legato | =ERR= | modemDaemon[623]/swiQmi T=main | swiQmi.c swiQmi_CheckResponse() 781 | Sending QMI_WDS_GET_RUNTIME_SETTINGS_REQ_V01 failed: rc=0 (), resp.result=1.[0x01], resp.error=15.[0x0f]
May 11 06:36:32 | Legato | -WRN- | dcsDaemon[615]/dataConnectionService T=main | dcsServer.c SetDefaultGateway() 1010 | Default gateway or interface is empty
May 11 06:36:32 | Legato | -WRN- | dcsDaemon[615]/dataConnectionService T=main | dcsServer.c LoadSelectedTechProfile() 786 | No value set for 'SSID'!
May 11 06:36:32 | Legato | -WRN- | dcsDaemon[615]/dataConnectionService T=main | dcsServer.c TryStartWifiSession() 1633 | Impossible to use Wifi profile, result -1 (LE_NOT_FOUND)
May 11 06:36:32 | Legato | DBUG | wifiService[633]/daemon T=main | le_wifiClient.c le_wifiClient_Disconnect() 1198 | Disconnect
May 11 06:36:32 | Legato | INFO | modemDaemon[623]/le_pa T=main | pa_mrc_qmi.c pa_mrc_GetNetworkRegState() 2040 | called
May 11 06:36:32 | Legato | INFO | wifiService[633] | WIFICLIENT_DISCONNECT
May 11 06:36:32 | Legato | =ERR= | wifiService[633] | Failed to connect to non-global ctrl_ifname: wlan0 error: No such file or directory
May 11 06:36:32 | Legato | =ERR= | wifiService[633]/daemon T=main | pa_wifi_client_ti.c pa_wifiClient_Disconnect() 1041 | WiFi Client Command Failed: (24832)wlan0 WIFICLIENT_DISCONNECT
May 11 06:36:32 | Legato | DBUG | wifiService[633]/framework T=main | le_wifiClient_server.c Handle_le_wifiClient_Disconnect() 1228 | Sending response to client session 0x27dcc : 4 bytes sent
May 11 06:36:32 | Legato | =ERR= | dcsDaemon[615]/dataConnectionService T=main | dcsServer.c TryStopWifiSession() 1851 | Impossible to disconnect wifi client
May 11 06:36:32 | Legato | =ERR= | modemDaemon[623]/swiQmi T=main | swiQmi.c swiQmi_CheckResponse() 781 | Sending QMI_WDS_START_NETWORK_INTERFACE_REQ_V01 failed: rc=0 (), resp.result=1.[0x01], resp.error=14.[0x0e]
May 11 06:36:32 | Legato | =ERR= | modemDaemon[623]/le_pa T=main | pa_mdc_qmi.c StartSession() 1690 | Data connection failure Call End provided 14, Code 2
May 11 06:36:32 | Legato | =ERR= | modemDaemon[623]/le_pa T=main | pa_mdc_qmi.c StartSession() 1701 | Data connection failure Verbose Call End provided Type 3, Verbose 2000
May 11 06:36:35 | Legato | -WRN- | app[5175]/appCtrl T=main | appCtrl.c PrintedAppInfoFile() 744 | No /legato/systems/current/apps/wifiWebAp/info.properties file for app wifiWebAp.
May 11 06:36:37 | Legato | =ERR= | modemDaemon[623]/swiQmi T=main | swiQmi.c swiQmi_CheckResponse() 781 | Sending QMI_WDS_START_NETWORK_INTERFACE_REQ_V01 failed: rc=0 (), resp.result=1.[0x01], resp.error=14.[0x0e]
May 11 06:36:37 | Legato | =ERR= | modemDaemon[623]/le_pa T=main | pa_mdc_qmi.c StartSession() 1690 | Data connection failure Call End provided 45, Code 1
May 11 06:36:37 | Legato | =ERR= | modemDaemon[623]/le_pa T=main | pa_mdc_qmi.c StartSession() 1701 | Data connection failure Verbose Call End provided Type 2, Verbose 210
May 11 06:36:37 | Legato | =ERR= | modemDaemon[623]/modemDaemon T=main | le_mdc.c le_mdc_StartSession() 919 | Get Connection failure 45, 1, 2, 210
May 11 06:36:37 | Legato | =ERR= | modemDaemon[623]/swiQmi T=main | swiQmi.c swiQmi_CheckResponse() 781 | Sending QMI_WDS_GET_RUNTIME_SETTINGS_REQ_V01 failed: rc=0 (), resp.result=1.[0x01], resp.error=15.[0x0f]
May 11 06:36:37 | Legato | -WRN- | dcsDaemon[615]/dataConnectionService T=main | dcsServer.c SetDefaultGateway() 1010 | Default gateway or interface is empty
May 11 06:36:37 | Legato | -WRN- | dcsDaemon[615]/dataConnectionService T=main | dcsServer.c LoadSelectedTechProfile() 786 | No value set for 'SSID'!
May 11 06:36:37 | Legato | -WRN- | dcsDaemon[615]/dataConnectionService T=main | dcsServer.c TryStartWifiSession() 1633 | Impossible to use Wifi profile, result -1 (LE_NOT_FOUND)
May 11 06:36:37 | Legato | DBUG | wifiService[633]/daemon T=main | le_wifiClient.c le_wifiClient_Disconnect() 1198 | Disconnect
May 11 06:36:37 | Legato | INFO | modemDaemon[623]/le_pa T=main | pa_mrc_qmi.c pa_mrc_GetNetworkRegState() 2040 | called
May 11 06:36:37 | Legato | INFO | wifiService[633] | WIFICLIENT_DISCONNECT
May 11 06:36:37 | Legato | =ERR= | wifiService[633] | Failed to connect to non-global ctrl_ifname: wlan0 error: No such file or directory
May 11 06:36:37 | Legato | =ERR= | wifiService[633]/daemon T=main | pa_wifi_client_ti.c pa_wifiClient_Disconnect() 1041 | WiFi Client Command Failed: (24832)wlan0 WIFICLIENT_DISCONNECT
May 11 06:36:37 | Legato | DBUG | wifiService[633]/framework T=main | le_wifiClient_server.c Handle_le_wifiClient_Disconnect() 1228 | Sending response to client session 0x27dcc : 4 bytes sent
May 11 06:36:37 | Legato | =ERR= | dcsDaemon[615]/dataConnectionService T=main | dcsServer.c TryStopWifiSession() 1851 | Impossible to disconnect wifi client
May 11 06:36:38 | Legato | =ERR= | modemDaemon[623]/swiQmi T=main | swiQmi.c swiQmi_CheckResponse() 781 | Sending QMI_WDS_START_NETWORK_INTERFACE_REQ_V01 failed: rc=0 (), resp.result=1.[0x01], resp.error=14.[0x0e]
May 11 06:36:38 | Legato | =ERR= | modemDaemon[623]/le_pa T=main | pa_mdc_qmi.c StartSession() 1690 | Data connection failure Call End provided 14, Code 2
May 11 06:36:38 | Legato | =ERR= | modemDaemon[623]/le_pa T=main | pa_mdc_qmi.c StartSession() 1701 | Data connection failure Verbose Call End provided Type 3, Verbose 2000
May 11 06:36:42 | Legato | =ERR= | modemDaemon[623]/swiQmi T=main | swiQmi.c swiQmi_CheckResponse() 781 | Sending QMI_WDS_START_NETWORK_INTERFACE_REQ_V01 failed: rc=0 (), resp.result=1.[0x01], resp.error=14.[0x0e]
May 11 06:36:42 | Legato | =ERR= | modemDaemon[623]/le_pa T=main | pa_mdc_qmi.c StartSession() 1690 | Data connection failure Call End provided 45, Code 1
May 11 06:36:42 | Legato | =ERR= | modemDaemon[623]/le_pa T=main | pa_mdc_qmi.c StartSession() 1701 | Data connection failure Verbose Call End provided Type 2, Verbose 210
May 11 06:36:42 | Legato | =ERR= | modemDaemon[623]/modemDaemon T=main | le_mdc.c le_mdc_StartSession() 919 | Get Connection failure 45, 1, 2, 210
May 11 06:36:42 | Legato | =ERR= | modemDaemon[623]/swiQmi T=main | swiQmi.c swiQmi_CheckResponse() 781 | Sending QMI_WDS_GET_RUNTIME_SETTINGS_REQ_V01 failed: rc=0 (), resp.result=1.[0x01], resp.error=15.[0x0f]
May 11 06:36:42 | Legato | -WRN- | dcsDaemon[615]/dataConnectionService T=main | dcsServer.c SetDefaultGateway() 1010 | Default gateway or interface is empty
May 11 06:36:42 | Legato | -WRN- | dcsDaemon[615]/dataConnectionService T=main | dcsServer.c LoadSelectedTechProfile() 786 | No value set for 'SSID'!
May 11 06:36:42 | Legato | -WRN- | dcsDaemon[615]/dataConnectionService T=main | dcsServer.c TryStartWifiSession() 1633 | Impossible to use Wifi profile, result -1 (LE_NOT_FOUND)
May 11 06:36:42 | Legato | DBUG | wifiService[633]/daemon T=main | le_wifiClient.c le_wifiClient_Disconnect() 1198 | Disconnect
May 11 06:36:42 | Legato | INFO | modemDaemon[623]/le_pa T=main | pa_mrc_qmi.c pa_mrc_GetNetworkRegState() 2040 | called
May 11 06:36:42 | Legato | INFO | wifiService[633] | WIFICLIENT_DISCONNECT
May 11 06:36:42 | Legato | =ERR= | wifiService[633] | Failed to connect to non-global ctrl_ifname: wlan0 error: No such file or directory
May 11 06:36:42 | Legato | =ERR= | wifiService[633]/daemon T=main | pa_wifi_client_ti.c pa_wifiClient_Disconnect() 1041 | WiFi Client Command Failed: (24832)wlan0 WIFICLIENT_DISCONNECT
May 11 06:36:42 | Legato | DBUG | wifiService[633]/framework T=main | le_wifiClient_server.c Handle_le_wifiClient_Disconnect() 1228 | Sending response to client session 0x27dcc : 4 bytes sent
May 11 06:36:42 | Legato | =ERR= | dcsDaemon[615]/dataConnectionService T=main | dcsServer.c TryStopWifiSession() 1851 | Impossible to disconnect wifi client
May 11 06:36:43 | Legato | =ERR= | modemDaemon[623]/swiQmi T=main | swiQmi.c swiQmi_CheckResponse() 781 | Sending QMI_WDS_START_NETWORK_INTERFACE_REQ_V01 failed: rc=0 (), resp.result=1.[0x01], resp.error=14.[0x0e]
May 11 06:36:43 | Legato | =ERR= | modemDaemon[623]/le_pa T=main | pa_mdc_qmi.c StartSession() 1690 | Data connection failure Call End provided 14, Code 2
May 11 06:36:43 | Legato | =ERR= | modemDaemon[623]/le_pa T=main | pa_mdc_qmi.c StartSession() 1701 | Data connection failure Verbose Call End provided Type 3, Verbose 2000
...and so on
My App uses a cellular connection and I’ve explicitly set the technology ranks as follows:
le_data_SetTechnologyRank(0, LE_DATA_CELLULAR);
le_data_SetTechnologyRank(1, LE_DATA_WIFI);
However, from the system logs, it would appear as though the wifiService
plays a part in the problem. My thought is it that at some point the dataConnectionService
decides to fall-back and try the WiFi connection (which is not configured) and ends up in the perpetual state as seen in the system logs?
It prevents my app from establishing a data connection from here forth. I’ve tried checking for an active data connection, removing registration handlers and releasing the connection before requesting a new one but that doesn’t seem to work. Restarting the App resolves the issue. Also, stopping the running wifiService
app causes my app to fault and restart which also resolves the issue.
I’ve tried removing the cellular antenna, SIM card in an attempt to instigate the fall-back to the second rank technology (WiFi) to no avail.
I wasn’t able to find the source code for the wifiService
. I’ve noticed these occasional system log entries when the system is running without issue:
May 12 03:21:17 | Legato | INFO | wifiService[558] | WIFICLIENT_DISCONNECT
May 12 03:21:17 | Legato | =ERR= | wifiService[558] | Failed to connect to non-global ctrl_ifname: wlan0 error: No such file or directory
May 12 03:21:17 | Legato | =ERR= | wifiService[558]/daemon T=main | pa_wifi_client_ti.c pa_wifiClient_Disconnect() 1041 | WiFi Client Command Failed: (24832)wlan0 WIFICLIENT_DISCONNECT
May 12 03:21:17 | Legato | DBUG | wifiService[558]/framework T=main | le_wifiClient_server.c Handle_le_wifiClient_Disconnect() 1228 | Sending response to client session 0x27dcc : 4 bytes sent
May 12 03:21:17 | Legato | =ERR= | dcsDaemon[523]/dataConnectionService T=main | dcsServer.c TryStopWifiSession() 1851 | Impossible to disconnect wifi client
May 12 03:21:18 | Legato | INFO | modemDaemon[527]/le_pa T=main | pa_mrc_qmi.c pa_mrc_GetNetworkRegState() 2040 | called
May 12 03:21:20 | Legato | =ERR= | modemDaemon[527]/swiQmi T=main | swiQmi.c swiQmi_CheckResponse() 781 | Sending QMI_WDS_START_NETWORK_INTERFACE_REQ_V01 failed: rc=0 (), resp.result=1.[0x01], resp.error=14.[0x0e]
May 12 03:21:20 | Legato | =ERR= | modemDaemon[527]/le_pa T=main | pa_mdc_qmi.c StartSession() 1690 | Data connection failure Call End provided 45, Code 1
May 12 03:21:20 | Legato | =ERR= | modemDaemon[527]/le_pa T=main | pa_mdc_qmi.c StartSession() 1701 | Data connection failure Verbose Call End provided Type 2, Verbose 204
Any thoughts on what could be causing this? Perhaps there’s a race conditon when the system is sevicing whatever is causing those system log messages to appear while my app is requesting a connection or is already connected?
Cheers,
Raf