Switch Command mode to data mode



I developed on tcp_client application using open AT suite. And now i able to connect my Server and client,and able to transfer data from server to client, but i can’t able to send data from client to server, because the client side(modem) is getting input only in command modem, So i want to know how to switch to data mode.

In hyperterminal…


Main cfg_gprs appli.c

+WIND: 1
[GPRS]: start: -> CONNECTING
[GPRS]: GPRS CTX (cid=1) found
[GPRS]: GPRS EVENT SETUP OK (cid=1): GPRS activate
[GPRS]: GPRS CTX (cid=1) found
[GPRS]: GPRS EVENT: 27 (cid=1)
[GPRS]: GPRS CTX (cid=1) found
evh_bearer cfg_gprs.c
Entry Point
[SAMPLE]: connecting to client ***.***.***.***…
[WIP] new TCPCLIENT 0x180c70d4
After TCP Client
case value 2
[SAMPLE] Connection established successfully
case value 6
[SAMPLE] Can send more data
[SAMPLE] Everything has been sent, won’t send more.
case value 5
[SAMPLE] Some data arrived
[SAMPLE] Wrote 21 bytes of data from network to rcv_buffer. 10219 bytes remain available in rcv_buffer

Recieved data : Server:- Test data


but when i type anything in hyperterminal it shows error
but i type AT and hit enter it say OK.
So its in command mode…

Please give any suggestion…


Read the section about the Flow Control Manager (FCM) in the ADL User Guide.

Then see this example: https://forum.sierrawireless.com/t/simple-uart-echo-program/4739/1


thanks it will helpful to me.


Have you actually studied the FCM description in the ADL User Guide?

Have you looked at that example?

Have you reviewed the other examples provided with the Developer Studio?


program to send Echo is very helpful to me


This is really basic software development - nothing specifically to do with Open-AT:

your source of data needs to feed data into a buffer, and your sink reads data from the buffer:

Source —> Buffer —> Sink




You said you have already “developed” a TCP client?

Surely, a fundamental part of that “develoment” must have been to “develop” a means for sending & receiving data…?!

Again, have you looked at the examples provided with the Developer Studio?

Have you looked at the examples in the WIP User Guide?




yes i developed a tcp_client using developer studio sample application under wip.Through that i can able to transfer data from server running in my pc to modem and seen through…Console window(using wipdebug)

wip_debug("\n Test data : %s\n",rcv_buffer);

but i can’t able to reply any data to server…

I know we can able to send data to server using

nwrite = wip_write( ev->channel, snd_buffer,1024);

This send_buffer to be read from UART?..
I think you may got my question…

And i can transfer data from client to server and server to client using direct WIP AT commands in hyperterminal.(9.1.2 TCP Client SOcket)


Yes - and I answered it!

You use FCM to get the data from the UART into your application, and you write code to put that data into your buffer.

Where is the difficulty?


In this case, FCM is the source, and WIP is the sink…


ya absolutely, now i can able switch to data mode with the help of your example, now i want to get that data from which function i can get data from hyper-terminal.


The ADL User Guide tells you this;

The example illustrates it.

What more can be said?


ok i will try…


New to what, exactly?

This is just a basic programming task of putting the two pieces together.

I’m afraid that a complete course to teach basic programming is beyond the scope of an internet forum.


hmm ok ,

i will try…


I would honestly suggest that Open-AT is not an appropriate place for a novice to start.

And internet (TCP/IP) is not a novice project on any platform.

I really think you would be much better to spend time learning to program on a PC.

‘C’ is a very widely-used and long-established programming language - there’s a vast wealth of books, sites, and training courses available to help you to learn the language; eg,

amazon.co.uk/C-Programming-L … 523&sr=1-1



The following lists some books & training providers focussed on embedded programming - they are not all specific to Keil:


vey much thanx to u sir…


Now i stored the data coming from UART in buffer(snd_buffer), now i want to send that buffer value to server through wip_write. but i doesn’t goto WIP_CEV_WRITE case in static void evh( wip_event_t *ev, void *ctx) function.