AT cmds for Mirage Talon from MangoH Red board AT port

Hi,

Are there any AT commands which can initiate the Mirage Talon Wifi IOT card from the MangoH Red Board AT cmd port ?

There was a similar AT cmd doc for BX310x which helps initiate Wifi client.
Is there any doc for Mirage Talon Wifi IOT card ?

You need to write a legato application which will create a custom AT command server so that when you enter some custom AT command, the application can call wifi to start. You can see the following example:

thanks. Tried building on the 19.02 legato the default app to check on building steps.

Tried the below step. Got le_mcc.api file not found. Is there some steps missed ?

tjayaprakash@IM-RT-SR-002:~/wp/legato-19.02.0$ mkapp -t wp76 apps/test/atServices/atServerIntegrationTest/atServerIntegrationTest.adef
** ERROR:
/home/tjayaprakash/wp/legato-19.02.0/apps/test/atServices/atServerIntegrationTest/atServerTestComp/Component.cdef:6:8: error: Couldnā€™t find file ā€˜le_mcc.api.ā€™
tjayaprakash@IM-RT-SR-002:~/wp/legato-19.02.0$

Suggest you importing the test application to developer studio to compile.
I remember it works on my pc.

//from terminal you can run the following
//to initiate a wlon0
/sbin/ifup wlan0
//to scan
/usr/sbin/iw dev wlan0 scan

if you want it on you code
use system() and/or popen()
It works

Another way is to use the following command:

mkapp -t wp76xx -o Target_Legato_Debug -w Target_Legato_Debug -i ā€œ/home/owner/legato/packages/legato.framework.19.2.0.wp76xx-201906171244/resources/legato/interfaces/modemServicesā€ atServerIntegrationTest.adef

Was able to succesfully build & install the default application on MangoH red board.

Started the app,
root@swi-mdm9x28-wp:~# app start atServerIntegrationTest
root@swi-mdm9x28-wp:~# app status
[running] atAirVantage
[running] atQmiLinker
[running] atService
[running] audioService
[running] avcService
[running] cellNetService
[running] dataConnectionService
[running] atServerIntegrationTest

Tried to run the sample at cmnd ā€œAT+testā€ in the default at port.

But gave error.

AT
OK
at+test
ERROR

i guess i am doign something wrong here.

It is not using the default AT port, instead you need to enter AT!mapuart=17,1 to set UART1 to be data mode.

After module reboots, type the following in console:
app runProc atServerIntegrationTest --exe=atServerTest ā€“ tty /dev/ttyHS0

Now you can enter those AT commands in UART1.

If the UART1 port setting is changed to 17,1 will the default AT commands work ?

Also will there be any changes to the board? We want it to work for modem as well as try to add new at commands.

Also, can the AT!mapuart settings be changed or reverted to original?

Currently,

AT!MAPUART?
!MAPUART: 1,16

OK
at!mapuart=?
!MAPUART: (0-17),(1-2)

OK

at!mapuart?
!MAPUART: 1,16

No, this application will not make any change on USB modem port. (i.e. AT+TEST will not work on USB modem port)

i changed the setting of at!mapuart as suggested, but it is setting to 17,16 after reboot.

Something wrong in setting it?

at!mapuart=17,1
OK
at!mapuart?
!MAPUART: 17,16

OK

please read the AT command guide, when you do AT!MAPUART?, 17 is for UART1 and 16 is for UART2

Followed this link : https://source.sierrawireless.com/resources/legato/howtos/customizeuart/#sthash.8VPN578C.dpbs

where it mentions
AT!MAPUART=a,b

Where

  • a is the service type
  • b is the UART number, either 1 or 2 .

Hereā€™s a code sample setting 17 for the service type and 1 for the UART number:

AT!MAPUART=17,1

but when you do query, the meaning is different.

Oh, i dint realize that !! Ok my bad. Thanks for the input. i got it.

17 is for uart1 while 16 for uart2.

AFter the setting, rebooting the board.

FYI, the diag port on the board is disabled. So get only /dev/ttyUSB0, ttyUSB1, ttyUSB2.
USB0 - debug terminal
USB2 - AT cmd terminal

Followed the below steps :

  1. Started the app, ā€œapp start atServerIntegrationTestā€
  2. Ran ā€œapp runProc atServerIntegrationTest --exe=atServerTest ā€“ tty /dev/ttyHS0ā€ , but it just hangs and not come out.
  3. On the host pc running ubuntu, tried to enter at+test cmd from the USB1 port , but does not work

You can use my attached application as reference.
Steps:

  1. enter the following AT commands in AT command port:
    AT!ENTERCND=ā€œA710ā€
    AT!USBCOMP=1,1,8014D
    at!RESET

  2. compile and download the application

  3. in console type the following:
    app runProc atServerIntegrationTest --exe=atServerTest ā€“ tty /dev/ttyGS1

in the new raw data port (check in device manager), type ATE1, you should see the following response:


E TYPE: PARA
E PARAM 0: 1

OK


at+bridge=ā€œOPENā€

+BRIDGE TYPE: PARA
+BRIDGE PARAM 0: OPEN

OK
at+bridge=ā€œADDā€

+BRIDGE TYPE: PARA
+BRIDGE PARAM 0: ADD

OK
ati3

Manufacturer: Sierra Wireless, Incorporated
Model: WP7607-1
Revision: SWI9X07Y_02.28.03.03 000000 jenkins 2019/05/21 03:33:04
IMEI: 359780080500170
IMEI SV: 6
FSN: V2842570321010
+GCAP: +CGSM

OK
AT+KHTTPCFG=0,ā€œ116.66.221.43ā€,80,1

+KHTTPCFG PARAM 0: 0
+KHTTPCFG PARAM 1: 116.66.221.43
+KHTTPCFG PARAM 2: 80
+KHTTPCFG PARAM 3: 1

OK
UART_KHTTP_Demo1.rar (405.8 KB)

Is the port /dev/ttyGS1 or /dev/ttyHS0.

On the Windows pc i do see a raw port that comes up.
On ubuntu i am unable to find this raw port.

When starting the app, using the command suggested in step 2, the app stops.
When read the logread, there is failure in setting the baud rate to 115200, but tries to set to 4089 baud which is not standard and stops the app.

/dev/ttyGS1 is a new port in module

In ubuntu, there should be a new port called /dev/ttyUSB3

Lastly i have no idea what 4089 baud rate is ā€¦
In line 1124 of atServerTest.c, it should set the baud rate to 115200.


if (LE_OK != le_tty_SetBaudRate(fd,LE_TTY_SPEED_115200))


yes in the atServerTest.c file, the baud is set to 115200.

in the logread, below, it fails telling cant set to the baud rate 4098. It shud have actually been 115200.

root@swi-mdm9x28-wp:~# logread -f
Jan 6 05:41:56 swi-mdm9x28-wp user.info Legato: INFO | supervisor[2840]/supervisor T=main | supervisor.c HandleRebootExpiry() 534 | Expired reboot timer
Jan 6 05:42:08 swi-mdm9x28-wp user.info Legato: INFO | supervisor[2840]/supervisor T=main | app.c app_Create() 3207 | Creating app ā€˜atServerIntegrationTestā€™
Jan 6 05:42:08 swi-mdm9x28-wp user.info Legato: INFO | supervisor[2840]/supervisor T=main | app.c app_Start() 3420 | Starting app ā€˜atServerIntegrationTestā€™
Jan 6 05:42:08 swi-mdm9x28-wp user.info Legato: INFO | supervisor[2840]/supervisor T=main | app.c CreateFileLink() 2104 | Created file link ā€˜/legato/systems/current/apps/atServerIntegrationTest/read-only/lib/libComponent_atServerTestComp.soā€™ to '/legato/systems/current/apps
Jan 6 05:42:08 swi-mdm9x28-wp user.info Legato: INFO | supervisor[2840]/supervisor T=main | app.c CreateFileLink() 2104 | Created file link ā€˜/legato/systems/current/apps/atServerIntegrationTest/read-only/bin/atServerTestā€™ to '/legato/systems/current/appsWriteable/atServerIn
Jan 6 05:43:03 swi-mdm9x28-wp user.warn Legato: -WRN- | supervisor[2840]/supervisor T=main | proc.c GetWatchdogAction() 359 | atServerTest@0 watchdogAction ā€˜ā€™ in proc section
Jan 6 05:43:03 swi-mdm9x28-wp user.info Legato: INFO | supervisor[2840]/supervisor T=main | resourceLimits.c SetRLimitValue() 282 | Setting resource limit maxCoreDumpFileBytes to value 8192.
Jan 6 05:43:03 swi-mdm9x28-wp user.info Legato: INFO | supervisor[2840]/supervisor T=main | resourceLimits.c SetRLimitValue() 282 | Setting resource limit maxFileBytes to value 90112.
Jan 6 05:43:03 swi-mdm9x28-wp user.info Legato: INFO | supervisor[2840]/supervisor T=main | resourceLimits.c SetRLimitValue() 282 | Setting resource limit maxLockedMemoryBytes to value 8192.
Jan 6 05:43:03 swi-mdm9x28-wp user.info Legato: INFO | supervisor[2840]/supervisor T=main | resourceLimits.c SetRLimitValue() 282 | Setting resource limit maxFileDescriptors to value 256.
Jan 6 05:43:03 swi-mdm9x28-wp user.info Legato: INFO | supervisor[2840]/supervisor T=main | resourceLimits.c SetRLimitValue() 282 | Setting resource limit maxMQueueBytes to value 512.
Jan 6 05:43:03 swi-mdm9x28-wp user.info Legato: INFO | supervisor[2840]/supervisor T=main | resourceLimits.c SetRLimitValue() 282 | Setting resource limit maxThreads to value 20.
Jan 6 05:43:03 swi-mdm9x28-wp user.info Legato: INFO | supervisor[2840]/supervisor T=main | resourceLimits.c SetRLimitValue() 282 | Setting resource limit maxQueuedSignals to value 100.
Jan 6 05:43:03 swi-mdm9x28-wp user.info Legato: INFO | supervisor[2840]/supervisor T=main | proc.c proc_Start() 1390 | Starting process ā€˜atServerTest@0ā€™ with pid 3300
Jan 6 05:43:03 swi-mdm9x28-wp user.info Legato: INFO | supervisor[3300]/supervisor T=main | proc.c proc_Start() 1355 | Execing ā€˜atServerTestā€™
Jan 6 05:43:03 swi-mdm9x28-wp user.warn Legato: -WRN- | UNKNOWN[3300]/framework T=main | LE_FILENAME le_fdMonitor_Create() 667 | FD Monitor object name ā€˜atServerTest.atServerTestComp.le_atServerā€™ truncated to ā€˜atServerTest.atServerTestComp.lā€™.
Jan 6 05:43:03 swi-mdm9x28-wp user.warn Legato: -WRN- | UNKNOWN[3300]/framework T=main | LE_FILENAME le_fdMonitor_Create() 667 | FD Monitor object name ā€˜atServerTest.atServerTestComp.le_mccā€™ truncated to ā€˜atServerTest.atServerTestComp.lā€™.
Jan 6 05:43:03 swi-mdm9x28-wp user.info Legato: INFO | atServerTest@0[3300]/atServerTestComp T=main | atServerTest.c _atServerTestComp_COMPONENT_INIT() 1229 | ============== AT server test starts =================
Jan 6 05:43:03 swi-mdm9x28-wp user.err Legato: =ERR= | atServerTest@0[3300]/framework T=main | LE_FILENAME le_tty_SetBaudRate() 284 | TEJASWI Started this @ function setBaudrate in tty.c file
Jan 6 05:43:03 swi-mdm9x28-wp user.err Legato: =ERR= | atServerTest@0[3300]/framework T=main | LE_FILENAME le_tty_SetBaudRate() 290 | TEJASWI Started this @222 after function setBaudrate in tty.c file
Jan 6 05:43:03 swi-mdm9x28-wp user.err Legato: =ERR= | atServerTest@0[3300]/framework T=main | LE_FILENAME le_tty_SetBaudRate() 309 | TEJASWI : value of Output speed = 4105 input speed = 4105
Jan 6 05:43:03 swi-mdm9x28-wp user.err Legato: =ERR= | atServerTest@0[3300]/framework T=main | LE_FILENAME le_tty_SetBaudRate() 329 | Speed rate was not setted, 17/4098 not supported
Jan 6 05:43:03 swi-mdm9x28-wp user.err Legato: =ERR= | atServerTest@0[3300]/atServerTestComp T=main | atServerTest.c TtyLink() 1126 | Failed to configure TTY baud rate
Jan 6 05:43:03 swi-mdm9x28-wp user.emerg Legato: EMR | atServerTest@0[3300]/atServerTestComp T=main | atServerTest.c TtyLink() 1167 | Failed to connect to /dev/ttyGS1
Jan 6 05:43:03 swi-mdm9x28-wp user.info Legato: INFO | supervisor[2840]/supervisor T=main | proc.c proc_SigChildHandler() 2051 | Process ā€˜atServerTest@0ā€™ (PID: 3300) has exited with exit code 1.
Jan 6 05:43:03 swi-mdm9x28-wp user.warn Legato: -WRN- | supervisor[2840]/supervisor T=main | app.c app_SigChildHandler() 4015 | Process ā€˜atServerTest@0ā€™ in app ā€˜atServerIntegrationTestā€™ faulted: Ignored.
Jan 6 05:43:03 swi-mdm9x28-wp user.info Legato: INFO | supervisor[2840]/supervisor T=main | app.c app_StopComplete() 4686 | app ā€˜atServerIntegrationTestā€™ has stopped.
Jan 6 05:43:03 swi-mdm9x28-wp user.info Legato: INFO | supervisor[2840]/supervisor T=main | apps.c DeactivateAppContainer() 374 | Application ā€˜atServerIntegrationTestā€™ has stopped.

you can install my .update as I donā€™t see problem with my program.

Jul 29 13:11:55 swi-mdm9x28-wp user.info Legato: INFO | atServerTest@0[18417]/atServerTestComp T=main | atServerTest.c _atServerTestComp_COMPONENT_INIT() 1634 | ============== AT server test starts =================
Jul 29 13:11:55 swi-mdm9x28-wp user.info Legato: INFO | atServerTest@0[18417]/atServerTestComp T=main | atServerTest.c OpenPort() 1438 | Opening serial /dev/ttyGS1 at 115200 bps^M
Jul 29 13:11:55 swi-mdm9x28-wp user.info Legato: INFO | atServerTest@0[18417]/atServerTestComp T=main | atServerTest.c OpenPort() 1471 | set serial at 115200 bps (default)^M
Jul 29 13:11:55 swi-mdm9x28-wp user.info Legato: INFO | atServerDaemon[1353]/atServer T=main | le_atServer.c le_atServer_Open() 2838 | created device
atServerIntegrationTest.wp76xx.update (66.3 KB)