[PATCH] LWIP over SLIP

David Ho davidkwho@gmail.com
Tue Aug 15 15:09:00 GMT 2006


Hi,

These are the minimal changes needed to get LWIP running over SLIP.
Plus a loopif cleanup.

David
---

diff --git a/packages/net/lwip_tcpip/current/src/ecos/init.c
b/packages/net/lwip_tcpip/current/src/ecos/init.c
index 3f55942..6aa098a 100644
--- a/packages/net/lwip_tcpip/current/src/ecos/init.c
+++ b/packages/net/lwip_tcpip/current/src/ecos/init.c
@@ -185,6 +185,8 @@ #endif
        sys_sem_free(sem);

 #if LWIP_HAVE_LOOPIF
+       loopif_init(&ecos_loopif);
+
        IP4_ADDR(&gw, 127,0,0,1);
        IP4_ADDR(&ipaddr, 127,0,0,1);
        IP4_ADDR(&netmask, 255,0,0,0);
@@ -194,9 +196,8 @@ #if LWIP_HAVE_LOOPIF
 #endif

 #if LWIP_SLIP
-       lwip_set_addr(&mynetif);
        slipif_init(&mynetif);
-       netif_set_default(&mynetif);
+       lwip_set_addr(&mynetif);
 #elif PPP_SUPPORT
        pppInit();
 #if PAP_SUPPORT || CHAP_SUPPORT


diff --git a/packages/net/lwip_tcpip/current/src/ecos/sio.c
b/packages/net/lwip_tcpip/current/src/ecos/sio.c
index 60004c4..87a4eb7 100644
--- a/packages/net/lwip_tcpip/current/src/ecos/sio.c
+++ b/packages/net/lwip_tcpip/current/src/ecos/sio.c
@@ -82,7 +82,7 @@ void *
 sio_open(int devnum)
 {
        int res;
-       cyg_uint32 nb = 0, len = 4;
+       cyg_uint32 nb = 1, len = 4;

 #if LWIP_SLIP
        #define SIODEV SLIP_DEV
@@ -95,9 +95,11 @@ #endif

        res = cyg_io_set_config(ser, CYG_IO_SET_CONFIG_READ_BLOCKING,
&nb, &len);
        res = cyg_io_set_config(ser, CYG_IO_SET_CONFIG_WRITE_BLOCKING,
&nb, &len);
+#if 0
        len = 4;
        nb = 0xFFFFFFFF;
        res = cyg_io_set_config(ser,
CYG_IO_SET_CONFIG_SERIAL_FLOW_CONTROL_METHOD, &nb, &len);
+#endif
        if (res != ENOERR)
                        diag_printf("set_config flow_control returned
an error\n");
        return &ser;



More information about the Ecos-patches mailing list