lwip-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE : RE : RE : [lwip-users] netconn_connct returning always ERR_OK


From: Frédéric BERNON
Subject: RE : RE : RE : [lwip-users] netconn_connct returning always ERR_OK
Date: Mon, 21 Jan 2008 15:15:32 +0100

I think you a inverted both sizes: the sys_mbox_new's "size" parameter is the number of elements in the queue, and not the size of these elements (which are always a pointer size, 4 bytes on 32bit targets).
 
In all cases, traces will help more informations.
 
 
====================================
Frédéric BERNON
HYMATOM SA
Chef de projet informatique
Microsoft Certified Professional
Tél. : +33 (0)4-67-87-61-10
Fax. : +33 (0)4-67-70-85-44
Email : address@hiddenr
Web Site : http://www.hymatom.fr
====================================
P Avant d'imprimer, penser à l'environnement
 
-----Message d'origine-----
De : address@hidden [mailto:address@hidden De la part de Marko Panger
Envoyé : lundi 21 janvier 2008 15:11
À : Mailing list for lwIP users
Objet : RE : RE : [lwip-users] netconn_connct returning always ERR_OK

Here is my sys_mbox_new() function implementation. AS you can see my queue size is 10 and each queue size TCPIP_MBOX_SIZE which is 4 in my case. Yes, I misunderstood the meaning of the definition which refers to the queue size, but anyway at the end should be fine as I did it, assuming 10 is enough.

sys_mbox_t sys_mbox_new(int size) {
    HANDLE mbx;   
    mbx = MBX_dCreate(&LWIP_HEAP, FIFO_BASED_QUEUE, 10, size);
    MBX_Init(mbx);
   
    return mbx;
}
marko

Frédéric BERNON wrote:
#define TCPIP_MBOX_SIZE    (sizeof(void*))

It's a little strange: in this case, on a 32bit target, you have TCPIP_MBOX_SIZE = 4 which is too small to my point of view. Can you test to increase it ?
 
  
====================================
Frédéric BERNON 
HYMATOM SA 
Chef de projet informatique 
Microsoft Certified Professional 
Tél. : +33 (0)4-67-87-61-10 
Fax. : +33 (0)4-67-70-85-44 
Email : address@hidden 
Web Site : http://www.hymatom.fr 
====================================
P Avant d'imprimer, penser à l'environnement
 


-----Message d'origine-----
De : address@hidden [mailto:address@hidden] De la part de Marko Panger
Envoyé : lundi 21 janvier 2008 11:18
À : Mailing list for lwIP users
Objet : Re: RE : RE : [lwip-users] netconn_connct returning always ERR_OK


Hi,

I'm using a slip interface.

I'll add a trace and send the results by tonight as I'm unable to do it 
right now.

My lwipopts.h is here:

#define LWIP_DEBUG (0)
//#define LWIP_ERROR (0)
#define LWIP_NOASSERT (1)

#define LWIP_PROVIDE_ERRNO 1

#define LWIP_ARP            0
#define ARP_QUEUEING        0

#define    MEMP_NUM_RAW_PCB    1
#define MEMP_NUM_UDP_PCB    1
#define MEMP_NUM_TCP_PCB    1
#define MEMP_NUM_TCP_PCB_LISTEN    1
#define MEMP_NUM_NETCONN    1


#define MEM_ALIGNMENT     4
#define LWIP_SOCKET        0
#define LWIP_NETIF_API    1

#define MEM_SIZE        3200
#define MEMP_NUM_NETBUF    4

#define MEMP_NUM_SYS_TIMEOUT    5

#define LWIP_DBG_MIN_LEVEL    LWIP_DBG_LEVEL_WARNING
#define LWIP_DBG_TYPES_ON    LWIP_DBG_ON

#define PPP_DEBUG            LWIP_DBG_OFF
#define ICMP_DEBUG            LWIP_DBG_ON

#define LWIP_SO_RCVTIMEO 1

#define NETIF_DEBUG 1
#define API_MSG_DEBUG 1
#define MEM_DEBUG (LWIP_DBG_ON /*| LWIP_DBG_HALT*/)
#define MEMP_DEBUG (LWIP_DBG_ON /*| LWIP_DBG_HALT*/)
#define TCP_DEBUG LWIP_DBG_ON
#define TCP_OUTPUT_DEBUG LWIP_DBG_ON

#define TCPIP_MBOX_SIZE    (sizeof(void*))

Thanks for your time,
marko

Frédéric BERNON wrote:
  
Do you use a ethernet interface or a slip one?

Can you add a trace in do_connected and in err_tcp (api_msg.c), and in 
tcpip_apimsg (tcpip.c). Do the test with only one netconn to be sure.

Can you send your lwipopts.h please?


  
====================================
Frédéric BERNON
HYMATOM SA 
Chef de projet informatique 
Microsoft Certified Professional 
Tél. : +33 (0)4-67-87-61-10 
Fax. : +33 (0)4-67-70-85-44 
Email : address@hidden 
Web Site : http://www.hymatom.fr 
====================================
P Avant d'imprimer, penser à l'environnement
 


-----Message d'origine-----
De : address@hidden 
[mailto:address@hidden] De 
la part de Marko Panger Envoyé : lundi 21 janvier 2008 10:08 À : 
address@hidden Objet : RE: RE : [lwip-users] netconn_connct 
returning always ERR_OK


Hi again,

I'm still unable to reproduce the proper behavior or the behavior as
Frédéric described below. The point is still that netconn_connect() 
returns ERR_OK even if there is nobody listening on the other side.

I've tried to debug the code a little bit and found that
netconn_connect() returns ERR_OK even BEFORE the SYN packet is being 
sent out by  ip_output() which is pretty strange. I'm also quite sure it 
must be me doing something wrong or there is a bad setting in the 
lwipopts.h file leading in the faulty behavior.

If someone has some experience any comment would help.

Thanks,
marko

-------- Original Message --------
Subject: 	RE: RE : [lwip-users] netconn_connct returning always ERR_OK
Date: 	Thu, 17 Jan 2008 00:11:14 +0100
From: 	Marko Panger <address@hidden>
Reply-To: 	Mailing list for lwIP users <address@hidden>
To: 	Mailing list for lwIP users <address@hidden>
References: 	<address@hidden> 
<address@hidden> 
<address@hidden>



Hi,

I've upgraded to the last CVS HEAD and it still doesn't work for me.
I've tried to dig into the code but I easy lost the track down the stack.

If you can instruct me at what to look or what to check I can do it.

However maybe is related to the fact I'm running the SLIP interface 
and
maybe it has something to do with a race condition with the conn->err 
variable in the netconn_connect() function due to the setting of task 
priorities. Off course I might be totally wrong.

Btw. how should be task priorities of the "tcpip_thread", 
"slipif_loop"
and "my_application" tasks related ?

marko

Frédéric BERNON wrote:
  
    
I have test with this code (after tcpip_init_done is called):
 
static void
connect_thread(void *arg)
{ /* Connect to server */
  struct ip_addr server_ip;
  struct netconn* conn;
  IP4_ADDR(&server_ip, 192,168,0,1);
 
  conn = netconn_new_with_proto_and_callback(NETCONN_TCP, 6, NULL);
  while(netconn_connect(conn, &server_ip, 4576) != ERR_OK)
    { printf("error connect\n");
      sys_msleep(100);
    }
   printf("retry connected?\n");
   sys_msleep(-1);
}
 
When I execute this code, after some seconds, I got lot of "error 
connect", showing the netconn_connect doesn't return ERR_OK. Note I'm 
not sure it is supported to retry to call netconn_connect once you 
got an error. Perhaps you could test your code with last CVS HEAD ?
 
 
----- Original Message -----
From: "Marko Panger" <address@hidden 
<mailto:address@hidden>>
To: "Mailing list for lwIP users" <address@hidden
<mailto:address@hidden>>
Sent: Tuesday, January 15, 2008 2:27 PM
Subject: Re: RE : [lwip-users] netconn_connct returning always ERR_OK

    
      
Hi Frédéric,

I'm sorry but I really don't know how to determine the version. Is
it from the CVS head. I'm attaching a snippet from the changelog 
file:

HISTORY

(CVS HEAD)

 * [Enter new changes just after this line - do not remove this
line]

 ++ New features:

 2007-09-15 Frédéric Bernon
 * udp.h, udp.c, sockets.c: Changes for "#20503 IGMP Improvement".
Add IP_MULTICAST_IF
   option in socket API, and a new field "multicast_ip" in "struct 
udp_pcb" (for
   netconn and raw API users), only if LWIP_IGMP=1. Add getsockopt 
processing for
   IP_MULTICAST_TTL and IP_MULTICAST_IF.

marko

Frédéric BERNON wrote:
      
        
Which lwIP release do you use ?


 
====================================
Frédéric BERNON
HYMATOM SA
Chef de projet informatique
Microsoft Certified Professional
Tél. : +33 (0)4-67-87-61-10
Fax. : +33 (0)4-67-70-85-44
Email : address@hidden
<mailto:address@hidden>
Web Site : http://www.hymatom.fr
====================================
P Avant d'imprimer, penser à l'environnement



-----Message d'origine-----
De : address@hidden
        
          
<mailto:address@hidden>
[mailto:address@hidden] De
la part de Marko Panger
    
      
Envoyé : mardi 15 janvier 2008 13:12
À : Mailing list for lwIP users
Objet : [lwip-users] netconn_connct returning always ERR_OK


Hi all,

I'm writing a client app. which connects to a remote server. I'm
        
          
running
    
      
lwip under an rtos with

#define NO_SYS 0

I'm using the netconn sequential api and there is something about
the
netconn_connect() call which is confusing me.
If I try to connect to a non-existing server (nobody is listening on
that ip on that port) the call still returns with ERR_OK.

Shouldn't be some other error code ?

In general how do I know that the other side has received the data
        
          
send
    
      
by the client with netconn_write() ?

Please find attached the code snipped below for reference.

Thanks in advance for your help and comments,
marko

    IP4_ADDR(&local_ip, 192, 168, 3, 2);
    IP4_ADDR(&net_mask, 255, 255, 255, 0);
    IP4_ADDR(&gateway, 192, 168, 3, 1);
    IP4_ADDR(&server_ip, 192, 168, 3, 1);
  
    netif_add(&slip_if, &local_ip, &net_mask, &gateway, NULL,
slipif_init, tcpip_input);
    netif_set_default(&slip_if);
    netif_set_up(&slip_if);
  
  
    /* Connect to server */
    conn = netconn_new_with_proto_and_callback(NETCONN_TCP, 6,
server_conn_clb);
  
    while(netconn_connect(conn, &server_ip, RVA_PORT) != ERR_OK)
        TSK_Sleep(100);

    while(1) {
        while(!(buf = netconn_recv(conn)))
            TSK_Sleep(10);
      
        netbuf_data(buf, (void*)&p, &len);
      
        payload_len = *p++;      
        /* Ping */
        switch(*p) {
            case 6:
                netconn_write(conn, p-1, len, true);
                netbuf_delete(buf);
                break;
        }
      
    }




_______________________________________________
lwip-users mailing list
address@hidden <mailto:address@hidden>
        
          
http://lists.nongnu.org/mailman/listinfo/lwip-users
    
      
 
_______________________________________________
lwip-users mailing list
address@hidden <mailto:address@hidden>
http://lists.nongnu.org/mailman/listinfo/lwip-users
        
          
_______________________________________________
lwip-users mailing list
address@hidden <mailto:address@hidden>
http://lists.nongnu.org/mailman/listinfo/lwip-users

      
        
__________ NOD32 2798 (20080116) Information __________

This message was checked by NOD32 antivirus system.
http://www.eset.com
----------------------------------------------------------------------
--

_______________________________________________
lwip-users mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/lwip-users


__________ NOD32 2798 (20080116) Information __________

This message was checked by NOD32 antivirus system.
http://www.eset.com
  
    
      
_______________________________________________
lwip-users mailing list
address@hidden 
http://lists.nongnu.org/mailman/listinfo/lwip-users
  
_______________________________________________
lwip-users mailing list
address@hidden 
http://lists.nongnu.org/mailman/listinfo/lwip-users
    



_______________________________________________
lwip-users mailing list
address@hidden http://lists.nongnu.org/mailman/listinfo/lwip-users



__________ NOD32 2811 (20080121) Information __________

This message was checked by NOD32 antivirus system.
http://www.eset.com
  
_______________________________________________
lwip-users mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/lwip-users


__________ NOD32 2811 (20080121) Information __________

This message was checked by NOD32 antivirus system.
http://www.eset.com
  

Attachment: Frédéric BERNON.vcf
Description: Frédéric BERNON.vcf


reply via email to

[Prev in Thread] Current Thread [Next in Thread]