Forums

tcpip

Started by Unknown January 13, 2006
Hello, I'd ported OpenTCP to lpc2292 with rtl8019. I'll add cs8900 and enj28j60 drivers. (All of them working with ported avrlib netstack with lpc2292, so it will be trivial.)

I add a very basic and simple device structure, becouse i would like to use slip too, and then add ppp, etc...

Somebody interested to help developing it? ;)
Andrew



An Engineer's Guide to the LPC2100 Series

--- In lpc2000@lpc2..., SzemzAndr <a.szemzo@k...> wrote:

Hello,
Where I can find more information about OpenTCP ?
> Hello, > I'd ported OpenTCP to lpc2292 with rtl8019. I'll add cs8900 and
enj28j60 drivers. (All of them working with ported avrlib netstack
with lpc2292, so it will be trivial.)
>
> I add a very basic and simple device structure, becouse i would like
to use slip too, and then add ppp, etc...
>
> Somebody interested to help developing it? ;) >
> Andrew
>




> Hello,
> Where I can find more information about OpenTCP ?

http://sourceforge.net/project/showfiles.php?group_idf182


Andrew,

Yes, I am interested.
I've got different boards to do this on, but no lpc2292.
I am currently interfacing the enc28j60 to my board. For my project I do
not need a full TCP stack, I was just asked to show that the enc28j60 is a
workable ethernet solution for a few other projects.

So all I _must_ do is to show a working MAC with the enc, but a full
tcp/ip solution may be so much easier to demo ...

I have the enc28j60 connected to SPI0 and use GCC.
Just drop me an email if you're interested - I can add the 28j60 driver.
I have also en Embedded Artists 2138 board with a DM7000 (10/100 Mb
Ethernet) and can maybe add that driver also.

Regards,

Rob

> Hello,
>
> I'd ported OpenTCP to lpc2292 with rtl8019. I'll add cs8900 and enj28j60
> drivers. (All of them working with ported avrlib netstack with lpc2292, so
> it will be trivial.)
>
> I add a very basic and simple device structure, becouse i would like to
> use slip too, and then add ppp, etc...
>
> Somebody interested to help developing it? ;) > Andrew


Hi Andrew,

> I'd ported OpenTCP to lpc2292 with rtl8019. I'll add cs8900 and enj28j60
> drivers. (All of them working with ported avrlib netstack with lpc2292, so
> it will be trivial.)
>
> I add a very basic and simple device structure, becouse i would like to
> use slip too, and then add ppp, etc...
>
> Somebody interested to help developing it? ;)

I may be interested in adding ppp/slip. The OpenTCP code has much better
documentation than lwip, or uip.

GCC? Joel


Joel Winarske wrote:
> Hi Andrew, >>I'd ported OpenTCP to lpc2292 with rtl8019. I'll add cs8900 and enj28j60
>>drivers. (All of them working with ported avrlib netstack with lpc2292, so
>>it will be trivial.)
>>
>>I add a very basic and simple device structure, becouse i would like to
>>use slip too, and then add ppp, etc...
>>
>>Somebody interested to help developing it? ;) > I may be interested in adding ppp/slip. The OpenTCP code has much better
> documentation than lwip, or uip.
>
> GCC? > Joel
>

Out of curiosity, how does this compare in performance or functionality to
Ethernut on ARM? There is also an LPC port for this under way.

Cheers

Don



> Out of curiosity, how does this compare in performance or functionality to
> Ethernut on ARM? There is also an LPC port for this under way.

Here's a brief overview of free stacks, in alphabetical order:

Nut/Net (Ethernut) - IPV4, TCP, UDP, ICMP, PPP (minimal) - PAP, stack
documentation? fragmented packet support?

lwIP 1.1.0 - IPV4, IPV6, TCP, UDP, DHCP, ICMP, PPP - PAP, CHAP, VJ, minimal
documentation, fragmented packet support.

OpenTCP - IPV4, TCP, UDP, DHCP, ICMP, DNS, BOOTP, TFTP, SMTP, POP3, HTTP,
good documentation. Fragmented packet support?

uIP - IPV4, TCP, UDP, DHCP, SMTP, POP3, HTTP, TELNET, FTP, VNC, IRC, PPP -
PAP, zero documentation, no fragmented packet support. See Contiki project
for recent code base. On the ones that support POP3 and SMTP, it appears clear text authentication
is only implemented. Most modern ISPs require more than this.

The best performing would be dependent on a number of variables - in no
particular order:

1. I/O bandwidth to EMAC. This could be a combination of EMAC receive
buffer size, DMA between EMAC and RAM, bit banged port, polled driver, or
interrupt driven I/O.
2. EMAC hardware filtering - prevents MCU from handling unwanted traffic
3. Available MCU RAM.
4. Protocol stack - buffer management. Zero copy? Does stack offer
predefined memory pool or is malloc() required?
5. Protocol stack - CRC implementation. Some silicon offers hardware CRC
to increase throughput. Example - Maxim/Dallas DS80C4xx series.

etc. etc. These are not specific to ARM, but Ethernet in general. From here you weigh
your design requirements, the MCU features, and the protocol stack. The
integration of the EMAC can be the biggest performance variable. HTH,
Joel


Joel,

> uIP - IPV4, TCP, UDP, DHCP, SMTP, POP3, HTTP, TELNET, FTP,
> VNC, IRC, PPP -
> PAP, zero documentation

No, Documentation is extensive:

http://www.sics.se/~adam/uip/uip-0.9-refman/

> no fragmented packet support.

Wrong. Set UIP_REASSEMBLY.

http://www.sics.se/~adam/uip/uip-0.9-refman/a00088.html#a1

--
Paul Curtis, Rowley Associates Ltd http://www.rowley.co.uk
CrossWorks for MSP430, ARM, AVR and now MAXQ processors#



Hi,

Recently I was in the same dilemma. Is the OpenTCP project still active
? I am about to integrate a TCP stack in my RTOS and I am choosing with
which one to go.

marko
http://usmartx.sourceforge.net

Joel Winarske wrote:

>>Out of curiosity, how does this compare in performance or functionality to
>>Ethernut on ARM? There is also an LPC port for this under way.
>>
>>
>
>Here's a brief overview of free stacks, in alphabetical order:
>
>Nut/Net (Ethernut) - IPV4, TCP, UDP, ICMP, PPP (minimal) - PAP, stack
>documentation? fragmented packet support?
>
>lwIP 1.1.0 - IPV4, IPV6, TCP, UDP, DHCP, ICMP, PPP - PAP, CHAP, VJ, minimal
>documentation, fragmented packet support.
>
>OpenTCP - IPV4, TCP, UDP, DHCP, ICMP, DNS, BOOTP, TFTP, SMTP, POP3, HTTP,
>good documentation. Fragmented packet support?
>
>uIP - IPV4, TCP, UDP, DHCP, SMTP, POP3, HTTP, TELNET, FTP, VNC, IRC, PPP -
>PAP, zero documentation, no fragmented packet support. See Contiki project
>for recent code base. >On the ones that support POP3 and SMTP, it appears clear text authentication
>is only implemented. Most modern ISPs require more than this.
>
>The best performing would be dependent on a number of variables - in no
>particular order:
>
>1. I/O bandwidth to EMAC. This could be a combination of EMAC receive
>buffer size, DMA between EMAC and RAM, bit banged port, polled driver, or
>interrupt driven I/O.
>2. EMAC hardware filtering - prevents MCU from handling unwanted traffic
>3. Available MCU RAM.
>4. Protocol stack - buffer management. Zero copy? Does stack offer
>predefined memory pool or is malloc() required?
>5. Protocol stack - CRC implementation. Some silicon offers hardware CRC
>to increase throughput. Example - Maxim/Dallas DS80C4xx series.
>
>etc. etc. >These are not specific to ARM, but Ethernet in general. From here you weigh
>your design requirements, the MCU features, and the protocol stack. The
>integration of the EMAC can be the biggest performance variable. >HTH,
>Joel >Yahoo! Groups Links >
>


> > uIP - IPV4, TCP, UDP, DHCP, SMTP, POP3, HTTP, TELNET, FTP,
> > VNC, IRC, PPP -
> > PAP, zero documentation
>
> No, Documentation is extensive:
>
> http://www.sics.se/~adam/uip/uip-0.9-refman/
>
> > no fragmented packet support.
>
> Wrong. Set UIP_REASSEMBLY.
>
> http://www.sics.se/~adam/uip/uip-0.9-refman/a00088.html#a1


Ah yes, my bad. Thank you for pointing these out Paul.

Corrections and comments are always welcome. Joel