AT cmds for Mirage Talon from MangoH Red board AT port

Great. Can you share me the source of this app.

Was using the Default one obtained in 19.02 legato.

didn’t i already share with you above?

appreciate the patience u have got in answering silly questions.
Thanks, for now the attached app works.

Will get the attached source and check with what i have.

2 questions

  1. on ubuntu i dont get another port /dev/ttyUSB3 which is the raw port, while on windows i get it and able to communicate too. Is there any driver that needs to be installed on the ubuntu ?

  2. the diag port is not enabled in the mangoh red board. Does that mean i cant use swiflash tool to install or update any .spk image on this ?

  1. you need to go to source.sierrawireless and download the latest GobiSerial driver and install it in your ubuntu.

  2. I am not sure as i never have one module that does not have the diag port.
    You might give a try on swiflash.

Was able to install GobiSerial driver and get working on ubuntu.

Thank you.

Was able to get user AT cmds working from Ubuntu PC after installing GobiSerial Drivers.

Just wanted to know if i want to get GobiSerial driver up on the Qualcomm platform, is there support provided for the same.
I dont see any GobiSerial Driver cmng up, while i see only GobiNet.

Do you mean you want to connect the USB of the mangOH board with WP76 module to another Qualcomm platform with ARM core?
If so, you need to cross compile the GobiSerial driver with the correct toolchain and run the driver in the qualcomm platform.

thank, got the gobiserial.c file. Able to communicate.

i was able to write sample AT application to get custom at commands working.

Is it possible to auto run the below command during boot up and run in background ?
I did write a script in the /etc/rcS.d but it does not run it.

Command,

apps runProc atServerIntegrationTest --exe=atserverTest – tty /dev/ttyGS1

you can write a unsandboxed legato application to call this line by system() API.
Another method is you modify your application to make it automatically run during power on (set start:auto in .adef file), and hardcoded the port to be /dev/ttyGS1 in the source code.

thanks i have done below steps,

  1. in .adef file set to auto so when the system reboots, then under apps, i see the atServerIntegrationTest app running.
  2. in the COMPONENT_INIT, hardcoded the value /dev/ttyGS1 and also made tty and disabled socket.

But it does not run

what did you mean it does not run?
Does it run the COMPONENT_INIT() function?
Probably you need to add some debug message to your application and see what is going on.

when i try to send at commands frm the raw port , non of them are recievd.

also when i tried to run manually, i get below error.

root@swi-mdm9x28-wp:~# app runProc atServerIntegetrationTest --exe=atServerTest
– tty /dev/ttyGS1
Failed to create proc in app atServerIntegetrationTest.

Then can you roll back to the working one and then create a unsandboxed helloworld application to call system(“apps runProc atServerIntegrationTest --exe=atserverTest – tty /dev/ttyGS1”) during power on?
This seems to be the easiest way to solve your problem instead of debugging your code.

Thank you for the inputs.

One more thing, is there some place where i can set the order of execution.
We want atServerIntegration app to run first and then execute hello app, which does the runProc.

You don’t need to run atServerIntegration app , just let helloworld to call it

I wrote the below code, and ran it, but none of the atserverIntegrationTest app command are run.

i get all the success logs, mentioned in the code below, but the the command for the atServerIntegrationTest app does not work.

Code :
COMPONENT_INIT
{
FILE *fp;
char path[128];
LE_INFO(“Hello, world.”);
LE_INFO("@@@@@@@@ hello world starting \n");
fp = popen("/legato/systems/current/bin/app start atServerIntegrationTest",“r”);
if (fp == NULL) {
LE_ERROR(“TEJASWI Failed to run the ATSERVERINTEGRATION TEST\n” );
exit(EXIT_FAILURE);
}
else
LE_ERROR(“STARTED the atServerIntegrationTEst app”);
while (fgets(path, sizeof(path), fp) != NULL) {
LE_ERROR(" Output START = %s", path);
}

pclose(fp);
    LE_INFO("@@@@@@@@@@@ after starting the app \n");

fp = popen("/legato/systems/current/bin/app runProc atServerIntegrationTest --exe=atServerTest – tty /dev/ttyGS1 &",“r”);
if (fp == NULL) {
LE_ERROR(“TEJASWI Failed to run the runProc ATSERVERINTEGRATION TEST\n” );
exit(EXIT_FAILURE);
}
else
LE_ERROR(“STARTED the runProc atServerIntegrationTEst app”);
while (fgets(path, sizeof(path), fp) != NULL) {
LE_ERROR(“Output runProc = %s”, path);
}
pclose(fp);

    LE_INFO("@@@@@@@@@@@@@ runProc Finished  \n");

}

Have you unsandboxed the app?
Can you try with system() api instead of popen()?

In the .adef file i have made sandboxed:false.

Wrote a new application and that works to some extent.

So the new app, atServerStart is made to start automatically , start:auto.

But after the system boots up, i have to restart the app and then it works fine.

Can you let me know if there is something to be done to fix this ? Like start after the system boots up completely.

I just tested on WP77 R9 with attached two applications.
After reboots, I can immediately use the RAWDATA port as AT command port.
If you run it in WP76, you might need to change hello1Component.c to use /dev/ttyGS1 instead of /dev/ttyGS0.

hello1.rar (77.3 KB) atServerIntegrationTest.rar (394.9 KB)

1 Like