| | | | |
| |
| 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
| | | | | | | | | | | | |
| |
| 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
| | | | | | | | | | | | | | | 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
| | | | | | | | | | | | | | |
| |
| <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
| | | | | | | | | | | | | | |
| |
| "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
| | | | | | | | | | | | | | | 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
| | | | | | | | | | | | | | |
| |
| 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
>
| | | | | | | | | | | | | | |
| |
| 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/
| | | | | | | | | | | | | | | | | |
| |
| 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/
| | | | | | | | | | | | | | | | | | | | 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/
| | | | | | | | | | | | | | | | Ok, the website is up at:
http://www.informatik.fh-hamburg.de/~christ_o/
Olaf Christ
| | | | | | |