# Switch Command mode to data mode

**URL:** <https://forum.sierrawireless.com/t/switch-command-mode-to-data-mode/5087>\
**Category:** Open AT\
**Created:** [May 30, 2011, 11:25am UTC](https://forum.sierrawireless.com/t/switch-command-mode-to-data-mode/5087 "2011-05-30T11:25:23Z")\
**Posts on this page:** 18\
**Page:** 1

<div class="post-metadata">

**Author:** ![prakash1987](https://avatars.discourse-cdn.com/v4/letter/p/b19c9b/32.png) [@prakash1987](https://forum.sierrawireless.com/u/prakash1987)\
**Post date:** [May 30, 2011, 11:25am UTC](https://forum.sierrawireless.com/t/switch-command-mode-to-data-mode/5087/1 "2011-05-30T11:25:23Z")

</div>

HI,

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**  
**cfg\_gprs.c**

+WIND: 1  
[GPRS]: open: -\> DISCONNECTED  
[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  
[GPRS]: GPRS EVENT ACTIVATE OK (cid=1)  
[GPRS]: GPRS: -\> CONNECTED  
**evh\_bearer cfg\_gprs.c**  
**Entry Point**  
[SAMPLE]: connecting to client \*\*\*.\*\*\*.\*\*\*.\*\*\*…  
[WIP] new TCPCLIENT 0x180c70d4  
**After TCP Client**  
**evh**  
case value 2  
[SAMPLE] Connection established successfully  
**evh**  
case value 6  
[SAMPLE] Can send more data  
[SAMPLE] Everything has been sent, won’t send more.  
**evh**  
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…

---

<div class="post-metadata">

**Author:** ![awneil](https://avatars.discourse-cdn.com/v4/letter/a/49beb7/32.png) [@awneil](https://forum.sierrawireless.com/u/awneil)\
**Post date:** [May 30, 2011, 12:05pm UTC](https://forum.sierrawireless.com/t/switch-command-mode-to-data-mode/5087/2 "2011-05-30T12:05:02Z")

</div>

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](https://forum.sierrawireless.com/t/simple-uart-echo-program/4739/1)

---

<div class="post-metadata">

**Author:** ![prakash1987](https://avatars.discourse-cdn.com/v4/letter/p/b19c9b/32.png) [@prakash1987](https://forum.sierrawireless.com/u/prakash1987)\
**Post date:** [May 31, 2011, 5:15am UTC](https://forum.sierrawireless.com/t/switch-command-mode-to-data-mode/5087/3 "2011-05-31T05:15:22Z")

</div>

thanks it will helpful to me.

---

<div class="post-metadata">

**Author:** ![awneil](https://avatars.discourse-cdn.com/v4/letter/a/49beb7/32.png) [@awneil](https://forum.sierrawireless.com/u/awneil)\
**Post date:** [May 31, 2011, 6:34am UTC](https://forum.sierrawireless.com/t/switch-command-mode-to-data-mode/5087/4 "2011-05-31T06:34:47Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![prakash1987](https://avatars.discourse-cdn.com/v4/letter/p/b19c9b/32.png) [@prakash1987](https://forum.sierrawireless.com/u/prakash1987)\
**Post date:** [May 31, 2011, 8:08am UTC](https://forum.sierrawireless.com/t/switch-command-mode-to-data-mode/5087/5 "2011-05-31T08:08:58Z")

</div>

program to send Echo is very helpful to me

---

<div class="post-metadata">

**Author:** ![awneil](https://avatars.discourse-cdn.com/v4/letter/a/49beb7/32.png) [@awneil](https://forum.sierrawireless.com/u/awneil)\
**Post date:** [May 31, 2011, 8:34am UTC](https://forum.sierrawireless.com/t/switch-command-mode-to-data-mode/5087/6 "2011-05-31T08:34:38Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![prakash1987](https://avatars.discourse-cdn.com/v4/letter/p/b19c9b/32.png) [@prakash1987](https://forum.sierrawireless.com/u/prakash1987)\
**Post date:** [May 31, 2011, 8:41am UTC](https://forum.sierrawireless.com/t/switch-command-mode-to-data-mode/5087/7 "2011-05-31T08:41:13Z")

</div>

ok

---

<div class="post-metadata">

**Author:** ![awneil](https://avatars.discourse-cdn.com/v4/letter/a/49beb7/32.png) [@awneil](https://forum.sierrawireless.com/u/awneil)\
**Post date:** [May 31, 2011, 9:04am UTC](https://forum.sierrawireless.com/t/switch-command-mode-to-data-mode/5087/8 "2011-05-31T09:04:15Z")

</div>

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?

[https://forum.sierrawireless.com/t/keeping-tcp-socket-alive/5033/1](https://forum.sierrawireless.com/t/keeping-tcp-socket-alive/5033/1)

[https://forum.sierrawireless.com/t/keeping-tcp-socket-alive/5033/1](https://forum.sierrawireless.com/t/keeping-tcp-socket-alive/5033/1)

---

<div class="post-metadata">

**Author:** ![prakash1987](https://avatars.discourse-cdn.com/v4/letter/p/b19c9b/32.png) [@prakash1987](https://forum.sierrawireless.com/u/prakash1987)\
**Post date:** [May 31, 2011, 10:00am UTC](https://forum.sierrawireless.com/t/switch-command-mode-to-data-mode/5087/9 "2011-05-31T10:00:17Z")

</div>

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)

---

<div class="post-metadata">

**Author:** ![awneil](https://avatars.discourse-cdn.com/v4/letter/a/49beb7/32.png) [@awneil](https://forum.sierrawireless.com/u/awneil)\
**Post date:** [May 31, 2011, 10:39am UTC](https://forum.sierrawireless.com/t/switch-command-mode-to-data-mode/5087/10 "2011-05-31T10:39:43Z")

</div>

> [@prakash1987](#):
>
> This send\_buffer to be read from UART?..  
> I think you may got my question…

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?

Again:

> [@](#):
>
> Source —\> Buffer —\> Sink

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

---

<div class="post-metadata">

**Author:** ![prakash1987](https://avatars.discourse-cdn.com/v4/letter/p/b19c9b/32.png) [@prakash1987](https://forum.sierrawireless.com/u/prakash1987)\
**Post date:** [May 31, 2011, 5:56pm UTC](https://forum.sierrawireless.com/t/switch-command-mode-to-data-mode/5087/11 "2011-05-31T17:56:48Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![awneil](https://avatars.discourse-cdn.com/v4/letter/a/49beb7/32.png) [@awneil](https://forum.sierrawireless.com/u/awneil)\
**Post date:** [May 31, 2011, 6:46pm UTC](https://forum.sierrawireless.com/t/switch-command-mode-to-data-mode/5087/12 "2011-05-31T18:46:08Z")

</div>

The ADL User Guide tells you this;

The example illustrates it.

What more can be said?

---

<div class="post-metadata">

**Author:** ![prakash1987](https://avatars.discourse-cdn.com/v4/letter/p/b19c9b/32.png) [@prakash1987](https://forum.sierrawireless.com/u/prakash1987)\
**Post date:** [June 1, 2011, 5:06am UTC](https://forum.sierrawireless.com/t/switch-command-mode-to-data-mode/5087/13 "2011-06-01T05:06:50Z")

</div>

ok i will try…

---

<div class="post-metadata">

**Author:** ![awneil](https://avatars.discourse-cdn.com/v4/letter/a/49beb7/32.png) [@awneil](https://forum.sierrawireless.com/u/awneil)\
**Post date:** [June 1, 2011, 6:04am UTC](https://forum.sierrawireless.com/t/switch-command-mode-to-data-mode/5087/14 "2011-06-01T06:04:21Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![prakash1987](https://avatars.discourse-cdn.com/v4/letter/p/b19c9b/32.png) [@prakash1987](https://forum.sierrawireless.com/u/prakash1987)\
**Post date:** [June 1, 2011, 6:35am UTC](https://forum.sierrawireless.com/t/switch-command-mode-to-data-mode/5087/15 "2011-06-01T06:35:12Z")

</div>

hmm ok ,

i will try…

---

<div class="post-metadata">

**Author:** ![awneil](https://avatars.discourse-cdn.com/v4/letter/a/49beb7/32.png) [@awneil](https://forum.sierrawireless.com/u/awneil)\
**Post date:** [June 1, 2011, 7:16am UTC](https://forum.sierrawireless.com/t/switch-command-mode-to-data-mode/5087/16 "2011-06-01T07:16:18Z")

</div>

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](http://www.amazon.co.uk/C-Programming-Language-2nd/dp/0131103628/ref=sr_1_1?s=books&ie=UTF8&qid=1306912523&sr=1-1)

[publications.gbdirect.co.uk/c\_book/](http://publications.gbdirect.co.uk/c_book/)

[eskimo.com/~scs/cclass/](http://www.eskimo.com/~scs/cclass/)

The following lists some books & training providers focussed on embedded programming - they are not all specific to Keil:  
[keil.com/books/](http://www.keil.com/books/)  
[keil.com/events/links.asp](http://www.keil.com/events/links.asp)

---

<div class="post-metadata">

**Author:** ![prakash1987](https://avatars.discourse-cdn.com/v4/letter/p/b19c9b/32.png) [@prakash1987](https://forum.sierrawireless.com/u/prakash1987)\
**Post date:** [June 1, 2011, 8:29am UTC](https://forum.sierrawireless.com/t/switch-command-mode-to-data-mode/5087/17 "2011-06-01T08:29:50Z")

</div>

vey much thanx to u sir…

---

<div class="post-metadata">

**Author:** ![prakash1987](https://avatars.discourse-cdn.com/v4/letter/p/b19c9b/32.png) [@prakash1987](https://forum.sierrawireless.com/u/prakash1987)\
**Post date:** [June 2, 2011, 4:24am UTC](https://forum.sierrawireless.com/t/switch-command-mode-to-data-mode/5087/18 "2011-06-02T04:24:07Z")

</div>

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.
