problem with TX on UART2 ( sending data over GSM)



I am browsing this forum but I cannot find answer to my problem.

I am using Q2686, and over GSM I want to send & receive data to/from UART2.

I am using following code:

void adl_main ( adl_InitType_e  InitType ) {

  returned_value = adl_atCmdCreate ("AT+WMFM=0,1,2\r", FALSE,(adl_atRspHandler_t) HandleWmfmUART2,"*",NULL);

bool HandleWmfmUART2(adl_atResponse_t *response) 
HelloWorld_TimerHandler2(0); return(FALSE);  

void HelloWorld_TimerHandler2 ( u8 ID )

    adl_atCmdCreate ("AT+IPR=9600\r", ADL_AT_PORT_TYPE(ADL_PORT_UART2,FALSE), (adl_atRspHandler_t) NULL,NULL);
   adl_atSendResponse ( ADL_AT_UNS, "Set to 9600\32\r\n" );
   adl_callSubscribe (Call_Handler);

In call event handler (ADL_CALL_EVENT_ANSWER_OK) I subscribe for GSM flow & UART2 flow
My GSM & UART2 handlers are following:

bool GSM_DATA_DataHandler (u16 DataLen, u8 * Data) {
  adl_fcmSendData(FCMHandler,Data, DataLen);

 return TRUE;

bool FcmDataHandler (u16 DataLen, u8 * Data) {

    adl_fcmSendData (GSM_DATA_Handle,Data,DataLen);

return TRUE;

Well, with this code I can send over GSM to UART2 characters. On TX2 on UART2 I can see on oscilloscope charactes I have send over GSM(from another wavecom Modem).

Next I did loop on UART2 to get echo, by connecting RX2 to TX2 and CTS2 to RTS2

But I don’t get any echo.

The same configuration & code has been working fine on UART1 (I only replace UART2 with UART1 in code) & over GSM I could get echo…

Another strange thing I don’t understand. I subscribed to UART2 and GSM flow control. But When I am typing in HyperTerminal connected to UART1, data are send to GSM port and send to another modem. I didn’t subscirbe for UART1 - GSM flow control… Why UART1 sends data to GSM data port?

Thanks in advance,


I have moved this topic to FCM: viewtopic.php?f=5&t=3548