To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.robotics.rcx.legosOpen lugnet.robotics.rcx.legos in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Robotics / RCX / legOS / 2247
     
   
Subject: 
true tcp/ip on the RCX
Newsgroups: 
lugnet.robotics.rcx.legos
Date: 
Mon, 28 Jan 2002 20:16:29 GMT
Highlighted: 
! (details)
Viewed: 
7626 times
  

I ve got the very first and only tcp/ip enabled RCX in my room, cool, eh ?
I will make a webpage at the end of the week to make the very first
(rudimentary, but working) version available to the public.
Right now, the tcp/ip stack is compiled into the kernel and the stack calls
the usercode itself.
The code to pass the incoming packets to the stack and to send packets to the
pc is currently running as a simple userprogram. (*.lx).
On the pc the lnpd runs a program that acts as a gateway between the tower
and the pc.
This gateway passes the packets coming from the tower to e.g. 192.168.0.1
and sends packets from 192.168.0.1 to the rcx.
Right now the only thing you can do is pinging the RCX.
But writing e.g. a very small webserver shouldnt be that big a deal ;-)
Because, lnp is still alive i had to disable the sound support to free some
RAM.
Right now i got approx. 3 KB RAM left, still enough to do a lot of useful
stuff.
I think, the best way to fully integrate the tcp/ip-stack into the
Legos-kernel would be replacing lnp by a tiny slip-driver.
On the pc we could get rid of the lnpd.


Olaf Christ

   
         
     
Subject: 
Re: true tcp/ip on the RCX
Newsgroups: 
lugnet.robotics.rcx.legos
Date: 
Tue, 29 Jan 2002 23:22:27 GMT
Viewed: 
3248 times
  

plz email me the url
when u get it running

thx
-p


In lugnet.robotics.rcx.legos, Olaf Christ writes:
I ve got the very first and only tcp/ip enabled RCX in my room, cool, eh ?
I will make a webpage at the end of the week to make the very first
(rudimentary, but working) version available to the public.
Right now, the tcp/ip stack is compiled into the kernel and the stack calls
the usercode itself.
The code to pass the incoming packets to the stack and to send packets to the
pc is currently running as a simple userprogram. (*.lx).
On the pc the lnpd runs a program that acts as a gateway between the tower
and the pc.
This gateway passes the packets coming from the tower to e.g. 192.168.0.1
and sends packets from 192.168.0.1 to the rcx.
Right now the only thing you can do is pinging the RCX.
But writing e.g. a very small webserver shouldnt be that big a deal ;-)
Because, lnp is still alive i had to disable the sound support to free some
RAM.
Right now i got approx. 3 KB RAM left, still enough to do a lot of useful
stuff.
I think, the best way to fully integrate the tcp/ip-stack into the
Legos-kernel would be replacing lnp by a tiny slip-driver.
On the pc we could get rid of the lnpd.


Olaf Christ

   
         
     
Subject: 
Re: true tcp/ip on the RCX
Newsgroups: 
lugnet.robotics.rcx.legos
Date: 
Tue, 29 Jan 2002 23:38:37 GMT
Viewed: 
3356 times
  

I will be axiously awaiting the web page too!  This has many fun/useless
possibilities!  Email it to me or post it on this thread if you can.

thanks
nate
www.nullgel.com

   
         
     
Subject: 
Re: true tcp/ip on the RCX
Newsgroups: 
lugnet.robotics.rcx.legos
Date: 
Wed, 30 Jan 2002 01:13:33 GMT
Viewed: 
3069 times
  

<Mr Burn's> Excellent!!!

I've seen some neat ideas but, this one takes the cake hands down....
Especially that it also appeared on www.slashdot.org makes it even more
impressive..

Bravo to you..

Can't wait to see the webpage..

Wayne


In lugnet.robotics.rcx.legos, Olaf Christ writes:
I ve got the very first and only tcp/ip enabled RCX in my room, cool, eh ?
I will make a webpage at the end of the week to make the very first
(rudimentary, but working) version available to the public.
Right now, the tcp/ip stack is compiled into the kernel and the stack calls
the usercode itself.
The code to pass the incoming packets to the stack and to send packets to the
pc is currently running as a simple userprogram. (*.lx).
On the pc the lnpd runs a program that acts as a gateway between the tower
and the pc.
This gateway passes the packets coming from the tower to e.g. 192.168.0.1
and sends packets from 192.168.0.1 to the rcx.
Right now the only thing you can do is pinging the RCX.
But writing e.g. a very small webserver shouldnt be that big a deal ;-)
Because, lnp is still alive i had to disable the sound support to free some
RAM.
Right now i got approx. 3 KB RAM left, still enough to do a lot of useful
stuff.
I think, the best way to fully integrate the tcp/ip-stack into the
Legos-kernel would be replacing lnp by a tiny slip-driver.
On the pc we could get rid of the lnpd.


Olaf Christ

   
         
     
Subject: 
Re: true tcp/ip on the RCX
Newsgroups: 
lugnet.robotics.rcx.legos
Date: 
Wed, 30 Jan 2002 12:38:33 GMT
Viewed: 
3031 times
  

"Olaf" <christ_o@gmx.de> schrieb im Newsbeitrag
news:Gqo0BH.E9t@lugnet.com...
I ve got the very first and only tcp/ip enabled RCX in my room, cool, eh ?
I will make a webpage at the end of the week to make the very first
(rudimentary, but working) version available to the public.
Right now, the tcp/ip stack is compiled into the kernel and the stack • calls
the usercode itself.
<---snip---->
Hi Olaf,

i think it´s the wrong way to blow up the legOS kernel with a ip-stack,
because you lost valuable RCX memory to  legOS applications. Thats one of
the reason why i favorite a LNP daemon router to transform TCP/IP to LNP
with a selfmade protocol. You need no additional memroy for a new legOS
kernel.

(The main reason why i develop this router was to find a soultion for my
Cybermaster and MicroScouts also; look at http://www.nowak-sys.de/lnpoi/
and http://www.nowak-sys.de/lnpoi/lnpoi_smaug.htm . Sorry for
german-language, the site is available in english in some weeks).

But it´s although a very fine curiosity :-)

Bye
Freddy

   
         
     
Subject: 
Re: true tcp/ip on the RCX
Newsgroups: 
lugnet.robotics.rcx.legos
Date: 
Wed, 30 Jan 2002 13:50:28 GMT
Viewed: 
3156 times
  

In lugnet.robotics.rcx.legos, Olaf Christ writes:
I ve got the very first and only tcp/ip enabled RCX in my room, cool, eh ?
I will make a webpage at the end of the week to make the very first
(rudimentary, but working) version available to the public.
Right now, the tcp/ip stack is compiled into the kernel and the stack calls
the usercode itself.

<snip>

Right now i got approx. 3 KB RAM left, still enough to do a lot of useful
stuff.

<snip>

Yeah, I've got a server farm of 3 million RCXs.  Each hosts errrrr... 1 page.

;-)

Great job Olaf!

Steve Martin
IndyLUG

   
         
     
Subject: 
RE: true tcp/ip on the RCX
Newsgroups: 
lugnet.robotics.rcx.legos
Date: 
Wed, 30 Jan 2002 14:23:36 GMT
Reply-To: 
<marco@soporcel+NoMoreSpam+.pt>
Viewed: 
3076 times
  

Hi :)

Just out of curiosity, check this thread from Jan/2000:
http://news.lugnet.com/robotics/?n=9671

mc.

-----Original Message-----
From: news-gateway@lugnet.com
[mailto:news-gateway@lugnet.com]On Behalf
Of Olaf
Sent: Monday, January 28, 2002 8:16 PM
To: lugnet.robotics.rcx.legos@lugnet.com
Subject: true tcp/ip on the RCX


I ve got the very first and only tcp/ip enabled RCX in my
room, cool, eh ?
I will make a webpage at the end of the week to make the very first
(rudimentary, but working) version available to the public.
Right now, the tcp/ip stack is compiled into the kernel and
the stack calls
the usercode itself.
The code to pass the incoming packets to the stack and to
send packets to the
pc is currently running as a simple userprogram. (*.lx).
On the pc the lnpd runs a program that acts as a gateway
between the tower
and the pc.
This gateway passes the packets coming from the tower to e.g.
192.168.0.1
and sends packets from 192.168.0.1 to the rcx.
Right now the only thing you can do is pinging the RCX.
But writing e.g. a very small webserver shouldnt be that big
a deal ;-)
Because, lnp is still alive i had to disable the sound
support to free some
RAM.
Right now i got approx. 3 KB RAM left, still enough to do a
lot of useful
stuff.
I think, the best way to fully integrate the tcp/ip-stack into the
Legos-kernel would be replacing lnp by a tiny slip-driver.
On the pc we could get rid of the lnpd.


Olaf Christ


   
         
     
Subject: 
Re: true tcp/ip on the RCX
Newsgroups: 
lugnet.robotics.rcx.legos
Date: 
Fri, 1 Feb 2002 18:51:41 GMT
Viewed: 
3527 times
  

Olaf wrote:

I ve got the very first and only tcp/ip enabled RCX in my room, cool, eh ? • [...]
But writing e.g. a very small webserver shouldnt be that big a deal ;-)

A few days ago, Olaf sent me his legOS TCP/IP code which I have been
running a few days, so I probably have the world's second TCP/IP-enabled
Lego brick in my office :-) ! I was also able to squeeze in a simple web
server, a few web pages and a script for querying the sensors into it.
Loadable program support had to be removed in order to fit the httpd code
and the HTML. Because the IR only runs at 4800 bit/sec, the web pages load
quite slowly...

The total code size and RAM usage for the TCP/IP and web server modules is:

   text    data     bss     dec     hex filename
    114      12       0     126      7e cgi.o
    124    1254       0    1378     562 fs.o
    428       0       0     428     1ac uip_arch.o
    432      20     216     668     29c uip_main.o
    860       6       0     866     362 httpd.o
   2190      48       6    2244     8c4 uip.o

A total of 4148 code, 308 bytes of RAM usage and 1254 bytes of HTML.

Here is the background on this: a few months ago, Olaf and I were
discussing the possibilities of adding TCP/IP support to legOS. Because of
the small amounts of RAM avaliable in the RCX (around 5k for code and
buffers), most would think that adding a TCP/IP stack would be an
impossible task.

But after some further disucssions, uIP (http://dunkels.com/adam/uip/) was
born (I had some ideas on how to make a really, really small TCP
implementation). uIP was small enough to fit inside the avaliable 5k and
still provide IP, ICMP (ping) and TCP. Even though it was initially
targeted for the legOS platform, it quickly got a life of its own due to
it's small code size and RAM requirements. It has since been ported to
numerous 8-bit platforms such as various Hitachi microcontrollers, the
Commodore 64 (http://c64.cc65.org/), the 8-bit Atari
(http://www.xs4all.nl/~txg01/) and others.

/adam
--
Adam Dunkels <adam@dunkels.com>
http://dunkels.com/adam/

    
          
     
Subject: 
Re: true tcp/ip on the RCX
Newsgroups: 
lugnet.robotics.rcx.legos
Date: 
Fri, 1 Feb 2002 20:29:53 GMT
Viewed: 
3528 times
  

Cool stuff, congrats on the Slashdot recognition.  Hope the "Slashdot
Effect" didn't totally cripple your server.

Wondering if you or Olaf could make the LegOS code available for all
to see, just wondering how it was all done for educational purposes
and in case I ever need a 1/4 lb small muffin sized web server in the
future.

Great stuff,

Dave

Adam Dunkels wrote:

Olaf wrote:

I ve got the very first and only tcp/ip enabled RCX in my room, cool, eh ? • [...]
But writing e.g. a very small webserver shouldnt be that big a deal ;-)

A few days ago, Olaf sent me his legOS TCP/IP code which I have been
running a few days, so I probably have the world's second TCP/IP-enabled
Lego brick in my office :-) ! I was also able to squeeze in a simple web
server, a few web pages and a script for querying the sensors into it.
Loadable program support had to be removed in order to fit the httpd code
and the HTML. Because the IR only runs at 4800 bit/sec, the web pages load
quite slowly...

The total code size and RAM usage for the TCP/IP and web server modules is:

   text    data     bss     dec     hex filename
    114      12       0     126      7e cgi.o
    124    1254       0    1378     562 fs.o
    428       0       0     428     1ac uip_arch.o
    432      20     216     668     29c uip_main.o
    860       6       0     866     362 httpd.o
   2190      48       6    2244     8c4 uip.o

A total of 4148 code, 308 bytes of RAM usage and 1254 bytes of HTML.

Here is the background on this: a few months ago, Olaf and I were
discussing the possibilities of adding TCP/IP support to legOS. Because of
the small amounts of RAM avaliable in the RCX (around 5k for code and
buffers), most would think that adding a TCP/IP stack would be an
impossible task.

But after some further disucssions, uIP (http://dunkels.com/adam/uip/) was
born (I had some ideas on how to make a really, really small TCP
implementation). uIP was small enough to fit inside the avaliable 5k and
still provide IP, ICMP (ping) and TCP. Even though it was initially
targeted for the legOS platform, it quickly got a life of its own due to
it's small code size and RAM requirements. It has since been ported to
numerous 8-bit platforms such as various Hitachi microcontrollers, the
Commodore 64 (http://c64.cc65.org/), the 8-bit Atari
(http://www.xs4all.nl/~txg01/) and others.

/adam
--
Adam Dunkels <adam@dunkels.com>
http://dunkels.com/adam/

    
          
     
Subject: 
Re: true tcp/ip on the RCX
Newsgroups: 
lugnet.robotics.rcx.legos
Date: 
Mon, 4 Feb 2002 09:26:25 GMT
Viewed: 
3637 times
  

David Chen wrote:

Cool stuff, congrats on the Slashdot recognition.  Hope the "Slashdot
Effect" didn't totally cripple your server.

The C64 server survived the "Slashdot attack" without problems, even though
it served tenths of thousands of pages over a period of only a few hours.
Since it is configured to allow only 10 simultaneous connections, it could
more or less serve the pages in its own pace. Any connection attempts when
all connection slots are in use are just dropped, and the client will try
again a few seconds later. Also, the HTTP server aborts connections that
have been stale for too long (> 10 seconds).

There were also a number of ping floods, port scans and other attacks that
people threw against the C64, but no harm came to it :-)

/adam
--
Adam Dunkels <adam@dunkels.com>
http://dunkels.com/adam/

   
         
   
Subject: 
Re: true tcp/ip on the RCX
Newsgroups: 
lugnet.robotics.rcx.legos
Date: 
Sat, 2 Feb 2002 11:10:45 GMT
Viewed: 
3344 times
  

Ok, the website is up at:
http://www.informatik.fh-hamburg.de/~christ_o/

Olaf Christ

 

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR