>>Also I directly attempts to access the listener using telnet command(telnet 
>>192.2.0.208 5701), but the below error message comes out
Telnet using TCP protocol. Your server  type are  UDP. Connection not possible.
  ----- Original Message ----- 
  From: Jin Won Seo 
  To: Mailing list for lwIP users 
  Sent: Friday, September 20, 2013 12:41 AM
  Subject: Re: [lwip-users] lwip bind fail


  Hi,


  I put a debugging code to see what error no spits out.

    if (!conn) {
        DisplayString(115, 180 - 10, "  ENOBUFS (could not create netconn) ");
      LWIP_DEBUGF(SOCKETS_DEBUG, ("-1 / ENOBUFS (could not create netconn)\n"));
      set_errno(ENOBUFS);
      return -1;
    }

  "  ENOBUFS (could not create netconn) " was displayed on LCD. The meaning of 
ENOBUFS is  /* No buffer space available */


  I think it just says that no connection is made up.


  I don't know what makes this happened, but I feel like something to do with 
configuration to use  lwip-socket since not even lwip-socket conn is assigned.


  Anyone knows about this?





  On Thu, Sep 19, 2013 at 11:42 AM, Jens Nielsen <[email protected]> wrote:

    Hi

    Did you check the value of socket_fd? lwip_socket() returns -1 on error but 
your code tests for == 0

    Also check the value of errno after your call, that might give you a hint

    BR /Jens




    On 2013-09-19 20:19, Jin Won Seo wrote:

      Hi all,


      I posted my issue but I fell like not describing the problem in detail. 
So I re-post it with detail information.

      I am testing listener modules using LM3S9B96, lwip1.3.2, safeRTOS, 
StellarisWare 10636, ccs 5.4.x.


      The listener task running on safeRTOS basically receives message from 
server daemon in Unix using socket(UDP).

      As the server daemon sends messages, the listener seems like not getting 
anything from the server

      Also I directly attempts to access the listener using telnet 
command(telnet 192.2.0.208 5701), but the below error message comes out

      "telnet : Unable to connect to remote host: Connection refused"



      My test scenario is :

      1. Get an IP from Server(Unix) using DHCP

          //
          // Initialize lwIP.
          //
          lwIPInit(pucMAC, 0, 0, 0, IPADDR_USE_DHCP);

          //
          // Setup the remaining services inside the TCP/IP thread's context.
          //
          tcpip_callback(SetupServices, 0);

      2. Init lwip socket in SetupServices().

      lwip_socket_init();

      3. Create listener task to receive packets from server daemon(UDP).

          int socket_fd;
          struct sockaddr_in sa, ra;//sa = sender addr, ra= receiver addr
          NET_MSG *sMsg;
          int length;

          u32_t size;
          size = sizeof(sa);

      //    addr_setup();
      //    portTickType xTime1, xTime2;

          // Setup the local address.
          memset((char *) &ra, 0, sizeof(ra));
          ra.sin_family = AF_INET;
          ra.sin_len = sizeof(ra);
      //    ra.sin_addr.s_addr = lwIPLocalIPAddrGet();
          ra.sin_addr.s_addr = inet_addr("192.2.0.208");
          ra.sin_port = htons(S_PORT);//#define S_PORT 5701

          //setup the destination address
          memset((char *) &sa, 0, sizeof(sa));
          sa.sin_family = AF_INET;
          sa.sin_len = sizeof(sa);
          sa.sin_addr.s_addr = inet_addr("192.2.0.3");// for test, hard-corded
      //    sDestAddr.sin_addr.s_addr = chgd_in_addr();
          sa.sin_port = htons(S_PORT);

          while((socket_fd = lwip_socket(AF_INET, SOCK_DGRAM, 0)) == 0)
          {
              DisplayString(115, 210 - 10, "  lwip socket error...  ");
              //xTaskDelay(CHGD_OPEN_TIME);
              xTaskDelay(SECONDS(5));//arbitrary time for test
          }

          //bind socket to the local address and port
          if(lwip_bind(socket_fd, (struct sockaddr *) &ra, sizeof(ra)) == -1)
          {
              lwip_close(socket_fd);
              DisplayString(115, 190 - 10, "  bind error...  ");//Display 
message on LCD in LM3S9B96
          }

          while(1)
          {

              //receive from server
              length = lwip_recvfrom(socket_fd, (char *) msg_buf, 
sizeof(msg_buf),
                      MSG_DONTWAIT, (struct sockaddr *)&sa, &size);

              if(length > 0)
              {
                  sMsg = (NET_MSG *) (msg_buf);
                  mon_cmd_do(socket_fd, &sa, sMsg, length);
              }

              lwip_close(socket_fd);
              xTaskDelay(1);// 1ms tick delay
          }




      As the program is executed, it seems like not binding socket properly 
since "bind error..." is displayed on LCD.

      Here is my lwipopts.h

      #define SYS_LIGHTWEIGHT_PROT            1           // default is 0
      #define NO_SYS                          0           // default is 0
      #if !NO_SYS
      #define RTOS_SAFERTOS                   1
      #define RTOS_FREERTOS                   0
      #endif /* !NO_SYS */

      #define MEMP_NUM_PBUF                   64  
      #define MEMP_NUM_TCP_PCB                40    
      #define MEMP_NUM_TCP_SEG                48  
      #define MEMP_NUM_SYS_TIMEOUT            10
      #define PBUF_POOL_SIZE                  64    

      #define IP_REASSEMBLY                   0           // default is 1
      #define IP_FRAG                         0           // default is 1

      #define LWIP_DHCP                       1 

      #define LWIP_AUTOIP                     1           // default is 0
      #define LWIP_DHCP_AUTOIP_COOP           ((LWIP_DHCP) && (LWIP_AUTOIP))
                                                          // default is 0
      #define LWIP_DHCP_AUTOIP_COOP_TRIES     5           // default is 9


      #define TCP_WND                         4096   // default is 2048
      #define TCP_MSS                        1500        // default is 128
      //#define TCP_CALCULATE_EFF_SEND_MSS      1
      #define TCP_SND_BUF                     (6 * TCP_MSS)
                                                          // default is 256
      #define TCP_SND_QUEUELEN                (MEMP_NUM_TCP_SEG)

      #define PBUF_LINK_HLEN                  16          // default is 14
      #define PBUF_POOL_BUFSIZE               256
                                                          // default is 
LWIP_MEM_ALIGN_SIZE(TCP_MSS+40+PBUF_LINK_HLEN)
      #define ETH_PAD_SIZE                    2           // default is 0

      #define TCPIP_THREAD_NAME              "tcpip_thread"
      #define TCPIP_THREAD_STACKSIZE          1024
      #define TCPIP_THREAD_PRIO               3
      #define TCPIP_MBOX_SIZE                 32

      #define LWIP_NETCONN                    1           // default is 1

      
//*****************************************************************************
      //
      // ---------- Socket Options ----------
      //
      
//*****************************************************************************
      #define LWIP_SOCKET                     1           // default is 1
      #define LWIP_COMPAT_SOCKETS             0
      #define LWIP_POSIX_SOCKETS_IO_NAMES     0
      #define LWIP_TCP_KEEPALIVE              0
      #define LWIP_SO_RCVTIMEO                0
      #define LWIP_SO_RCVBUF                  0
      #define SO_REUSE                        0

      #define LWIP_PROVIDE_ERRNO              1            //Add for lwip 
socket errors

      #define LWIP_STATS_LARGE                  1

      #define LWIP_DBG_MIN_LEVEL              LWIP_DBG_LEVEL_OFF

      #define LWIP_DBG_TYPES_ON               
(LWIP_DBG_ON|LWIP_DBG_TRACE|LWIP_DBG_STATE|LWIP_DBG_FRESH)




      So far I don't see any clues to figure this out.

      If anyone can help me out, I will appreciate that.

      Thank,

      Jin




       

_______________________________________________
lwip-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/lwip-users


    _______________________________________________
    lwip-users mailing list
    [email protected]
    https://lists.nongnu.org/mailman/listinfo/lwip-users





------------------------------------------------------------------------------


  _______________________________________________
  lwip-users mailing list
  [email protected]
  https://lists.nongnu.org/mailman/listinfo/lwip-users
_______________________________________________
lwip-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to