Problem with FCM


#1

Dear colleagues,

I have the following problem.

I have created an application with Multiapp library and while it works as it should when I connect to the modem running the application from a remote modem (csd Data connection) then the data flow instead of going to the uart is going to my application (I guess) and doesn’t show on my monitor.

The weird thing is that I have made no FCM subscriptions.

This is normal behaviour? What am I doing wrong?

What should I do to make the data flow go to modems uart (external application).

Thank you in advance. Any help is highly appreciated.

BR


#2

You’re not saying anything about what version you are using or how you are outputting the data.


#3

Tobias I really thank you for dealing with my problem. Let me explain a little better the situation.

I use OPEN-AT 3.01 with 650a software in Q2406b.

I made some tests and realised that this problem (behaviour) appears in every sample application I have tried.

I will try to describe it again more clear I hope.

I have two modems A and B. In modem A I have a very small OPEN-AT application running (its a demo appl that handles sim events). In modem B I have no application running.

So what I do is: With Hyperterminal I make a data call (atdxxxxxx) from modem B to modem A. The call is answered (autoanswer - ats0=2)and I see Connected 9600 in both hyperterminal windows.

My problem is that While connected:

In modem B I write something i.e. “hello” but doesn’t appear in modem A

In modem A I am trying to send a string i.e. “hello” but I realise I am still in at mode (instead of circuit switched -CSD data mode) and everything I write is not transmitted to modem B. I tried to go to data mode with “ato” but nothing … still in at mode :frowning:

Why this is happening??? I haven’t made any fcm subscriptions. Is it standard behaviour and how can I avoid it?
While CSD connected I need to have a direct channel from uart1 of modemA to uart1 of modem B. Which is the standard behaviour when no OPEN-AT application is running on any modem.

Please. Can Wavecom OPEN-AT more Advanced Programmers help a newer member like me? It would be really helpful :blush: .

Should I try fcm subscriptions to GSM flow and Serial Flow and copy the data from the one flow to the other???

My simple demo application is the following, but the behaviour is the same with every sample I have tried (hello_world, telemetry):

#include “adl_global.h”

/***************************************************************************
Mandatory variables

wm_apmCustomStack
wm_apmCustomStackSize

****************************************************************************/

u32 wm_apmCustomStack [ 256 ];
const u16 wm_apmCustomStackSize = sizeof ( wm_apmCustomStack );

/***************************************************************************
Function : SimCard

Description: Display the SimCard Events

Variable Name |IN |OUT|GLB| Utilisation
----------------------±–±--±–±----------------------------------------
Event | | | | Sim Card Events
----------------------±–±--±–±----------------------------------------
****************************************************************************/

void SimCard (u8 Event){

switch(Event){

//Normal Events
case ADL_SIM_EVENT_PIN_OK:
adl_atSendResponse ( ADL_AT_UNS, “PIN Code Ok\n\rConnecting to network…”);
break;
case ADL_SIM_EVENT_REMOVED:
adl_atSendResponse ( ADL_AT_UNS, “SimCard Removed\n\r”);
break;
case ADL_SIM_EVENT_INSERTED:
adl_atSendResponse ( ADL_AT_UNS, “SimCard Inserted\n\r”);
break;
case ADL_SIM_EVENT_FULL_INIT:
adl_atSendResponse ( ADL_AT_UNS, “Ok SIM Full Init Succeded\n\r”);
break;
//Error Events
case ADL_SIM_EVENT_PIN_ERROR:
adl_atSendResponse ( ADL_AT_UNS, “PIN Code Incorreto\n\r”);
break;

case ADL_SIM_EVENT_PIN_WAIT:
adl_atSendResponse ( ADL_AT_UNS, “Please insert PIN Code\n\r”);
break;

}
}

/***************************************************************************
Function : adl_main

Description: Main function

Variable Name |IN |OUT|GLB| Utilisation
----------------------±–±--±–±----------------------------------------
InitType | | | | Application start mode reason
----------------------±–±--±–±----------------------------------------
****************************************************************************/

void adl_main ( adl_InitType_e InitType )
{

TRACE (( 1, “Embedded Application : Main” ));

adl_simSubscribe(SimCard,NULL); //Simcard events

}


#4

After spending all night trying to solve the problem with various ways …
FCM subscription and copy from GSM Handle to UART1 handle and vice versa … as well as a lot of other failed tries…

I came to the solution :smiley:

I found out that the problem is solved with at command

“at+wmfm=1,1,0,0”

that activates incoming data from GSM DATA to be attached to UART1.
(check documentation for more info)

Before issuing the command the GSM Data port was redirected dynamically so maybe the data was handled by my open-at application

I hope my post will save somebody else from all this search to the wrong direction …

I salut you from Athens