Hi all
Im trying to connect to a server with a tcp client on my FXT009. This is the code relevant:
/*Configuration of the server to connect*/
u16 port = 1883;
//ascii IP[] = "10.128.0.190";
ascii IP[] = "test.mosquitto.org";
ascii APN[] = "machinetohuman.ts.m2m";
ascii DNS1[] = "10.128.0.190";
ascii DNS2[] = "10.128.0.190";
wip_bearer_t myBearer = NULL;
s8 ret = 0;
/*Channel ID for the client socket*/
wip_channel_t channel;
void clientEventHandler(wip_event_t *event, void *context){
TRACE (( 1, "Inside TCP_Handler"));
switch(event->kind){
case WIP_CEV_READ: {
TRACE ((1,"GOT SOMETHING TO READ"));
}
case WIP_CEV_OPEN: {
TRACE (( 1, "Inside WIP_CEV_OPEN"));
TRACE (( 1, "CLIENT IS CONNECTED!!"));
adl_atSendResponse(ADL_AT_UNS,"Client is connected\r\n");
//channel = event->channel;
//PREPARE THE CONNECT PACKET
TRACE((1,"GONNA PREPARE THE CONNECT PACKET"));
int size = prepareConnect(outBuffer);
TRACE((1, "SIZE OF CONNECT PACKET = %d",size));
wip_write(channel, &outBuffer.buffer, size);
break;
}
case WIP_CEV_WRITE: {
TRACE((1,"WIP_CEV_WRITE"));
break;
}
case WIP_CEV_DONE: {
TRACE((1,"WIP_CEV_DONE"));
break;
}
case WIP_CEV_ERROR: {
TRACE((1,"WIP_CEV_ERROR"));
TRACE((3, "WIP_CEV_ERROR %d\n",
event->content.error.errnum));
//wip_closeAndClear(&event->channel);
break;
}
case WIP_CEV_PING: {
TRACE((1,"WIP_CEV_PING"));
break;
}
case WIP_CEV_PEER_CLOSE: {
TRACE((1,"WIP_CEV_PEER_CLOSE"));
//wip_closeAndClear(&event->channel);
break;
}
}
}
void bearerHandler(wip_bearer_t bearer, s8 event, void *context){
switch(event){
case WIP_BEV_IP_CONNECTED: {
TRACE (( 1, "bearerHandler: <WIP_BEV_IP_CONNECTED>"));
TRACE((1, "TIME TO MQTT CONNECT"));
channel = wip_TCPClientCreate(IP, port, clientEventHandler, NULL);
break;
}
case WIP_BEV_CONN_FAILED: {
TRACE (( 1, "bearerHandler: <WIP_BEV_CONN_FAILED>"));
break;
}
case WIP_BEV_STOPPED: {
TRACE (( 1, "bearerHandler: <WIP_BEV_STOPPED>"));
wip_bearerStop(myBearer);
break;
}
default: {
TRACE (( 1, "bearerHandler: <DEFAULT>"));
break;
}
}
}
void simHandler (u8 event){
switch(event){
case ADL_SIM_EVENT_FULL_INIT:{
TRACE((1, "ADL_SIM_EVENT_FULL_INIT"));
if( (ret = wip_bearerOpen(&myBearer, "GPRS", bearerHandler, NULL)) != 0){
TRACE((1,"CANNOT OPEN BEARER: %d",ret));
return;
} else {
TRACE((1,"SUCCESS OPEN BEARER: %d",ret));
}
if((ret = wip_bearerSetOpts(myBearer,
WIP_BOPT_GPRS_APN, APN,
WIP_BOPT_LOGIN, "",
WIP_BOPT_PASSWORD, "",
//WIP_BOPT_IP_DNS1, DNS1,
//WIP_BOPT_IP_DNS2, DNS2,
WIP_BOPT_DEBUG_PKT, TRUE,
WIP_BOPT_END)) != 0){
TRACE((1,"CANNOT SET BEARER OPTS: %d",ret));
return;
} else {
TRACE((1,"SUCCESS SET OPTS: %d",ret));
}
if((ret = wip_bearerStart(myBearer)) != 0 && ret != WIP_BERR_OK_INPROGRESS){
TRACE((1,"CANNOT START BEARER: %d",ret));
return;
} else {
TRACE((1,"SUCCESS START BEARER: %d",ret));
}
break;
}
default: {
TRACE((1, "IN DEFAULT"));
break;
}
}
}
void MainTask ( void ) {
init();
TRACE((1,"IN MAIN"));
//wip_netInit();
adl_simSubscribe((adl_simHdlr_f) simHandler, NULL);
wip_netInitOpts(WIP_NET_OPT_DEBUG_PORT, WIP_NET_DEBUG_PORT_TRACE, WIP_NET_OPT_DEBUG_PKT_MAXLEN, 1500,WIP_NET_OPT_END);
}
And here are the traces:
2013-06-05 10:19:33:212 1 ADL 1 Binary header at 002A0000
2013-06-05 10:19:33:217 1 ADL 16 [ADL PORT] subs (002A3579) : 0
2013-06-05 10:19:33:218 1 ADL 16 [ADL PORT] subs (002A519F) : 1
2013-06-05 10:19:33:218 2 ADL 22 [ADL] flash subs 2 : -4
2013-06-05 10:19:33:219 1 ADL 22 Flh Obj 0000 Len : 4
2013-06-05 10:19:33:220 1 ADL 22 Read Flh Obj 0000 (4) : 0
2013-06-05 10:19:33:222 1 ADL 16 [ADL PORT] event : 0 (port 80 state 0)
2013-06-05 10:19:33:223 1 ADL 16 [ADL PORT] event : 0 (port 01 state 0)
2013-06-05 10:19:33:223 2 ADL 22 Flh Obj 0000 Len : 4
2013-06-05 10:19:33:223 3 ADL 16 [ADL PORT] unsubs (1) : 0
2013-06-05 10:19:33:231 1 ADL 1 IN MAIN
2013-06-05 10:19:33:231 2 ADL 20 [ADL] tmr subs id 0 hdlr 002AA075 val 5 cycl 2
2013-06-05 10:19:33:259 1 ADL 16 [ADL PORT] event : 0 (port 03 state 0)
2013-06-05 10:19:33:261 1 ADL 1 IN DEFAULT
2013-06-05 10:19:33:653 1 ADL 1 IN DEFAULT
2013-06-05 10:19:38:905 1 ADL 1 ADL_SIM_EVENT_FULL_INIT
2013-06-05 10:19:38:905 2 ADL 1 [GPRS]: open: -> DISCONNECTED
2013-06-05 10:19:38:905 3 ADL 1 SUCCESS OPEN BEARER: 0
2013-06-05 10:19:38:905 4 ADL 1 SUCCESS SET OPTS: 0
2013-06-05 10:19:38:905 5 ADL 27 Call subs 002B0B41 : 0
2013-06-05 10:19:38:905 6 ADL 31 [ADL] Gprs subs 002AD221 : 0
2013-06-05 10:19:38:905 7 ADL 16 [ADL port] IsAvailable(80) : 1
2013-06-05 10:19:38:920 1 ADL 31 [ADL] Gprs setup 1 : 0
2013-06-05 10:19:38:920 2 ADL 1 [GPRS]: start: -> CONNECTING
2013-06-05 10:19:38:920 3 ADL 1 SUCCESS START BEARER: -27
2013-06-05 10:19:38:920 4 ADL 1 [GPRS]: GPRS CTX (cid=1) found
2013-06-05 10:19:38:920 5 ADL 1 [GPRS]: GPRS EVENT SETUP OK (cid=1): GPRS activate
2013-06-05 10:19:38:920 6 ADL 16 [ADL port] IsAvailable(80) : 1
2013-06-05 10:19:41:889 1 ADL 1 [GPRS]: GPRS CTX (cid=1) found
2013-06-05 10:19:41:889 2 ADL 1 [GPRS]: GPRS EVENT: 27 (cid=1)
2013-06-05 10:19:42:717 1 ADL 1 [GPRS]: GPRS CTX (cid=1) found
2013-06-05 10:19:42:717 2 ADL 1 [GPRS]: GPRS EVENT ACTIVATE OK (cid=1)
2013-06-05 10:19:42:733 1 ADL 1 [GPRS]: GPRS: -> CONNECTED
2013-06-05 10:19:42:733 2 ADL 1 bearerHandler: <WIP_BEV_IP_CONNECTED>
2013-06-05 10:19:42:733 3 ADL 1 TIME TO MQTT CONNECT
2013-06-05 10:19:42:733 4 ADL 1 [WIP] new TCPCLIENT 0x1810a5d8
2013-06-05 10:20:21:155 1 ADL 1 Inside TCP_Handler
2013-06-05 10:20:21:155 2 ADL 1 WIP_CEV_ERROR
2013-06-05 10:20:21:155 3 ADL 3 WIP_CEV_ERROR -986<LF>
I understand the WIP_CEV_ERROR -986, “Timeout (for DNS request, TCP connection, PING response…)”
I always get the -27 code (Connection started, an event will be sent after completion) when Im trying to start the bearer and not 0, dont know why…
I just want some help if someone can that my bearer and tcp client code is wrong in any way.
Best regards