Embedded server with ISA network card

This embedded server was built with NE2000 compatible ISA network card (popular Realtek RTL8019, probably Davicom DM9008F also) and ATmega32 microcontroller. I've bought RTL8019 card branded as "Planet" for $1.50, they are sold as metal scraps.
You can find souce code and basic schematic at http://www.ulrichradig.de/. There may be some changes to pin assignment so please refer to and/or modify rtl8019.h file to suits your needs. Device worked as telemetry server for over a year (V 2007 - VI 2008).

To allow regular measurement database update I've added to original microserver some code that works as - very simple and not reliable - TCP/HTTP client that sends POST request every few minutes.
Project should compile with WinAVR-20060421.
mikroserwer_20080331.zip (97kB)

Please note that I did not tested this microserver in any hostile environment nor tested with fuzzer or similar tool. There could be some errors leading to uncontrolled behavior - e.g. there is possible buffer overrun in http.c:

		unsigned char File_Name[13];
		if ( memcmp(&buffer[tcpdata],"GET /",5) == 0) 
			char *tmppointer = &buffer[tcpdata + 5];
			unsigned char counter = 0;
			while (* tmppointer != 0x20)
				File_Name[counter] = *tmppointer++;

It is recommended to hide microserver behind NAT and limit forwarded ports only to minimal required set.


100_0582.jpg 100_0581.jpg

 "Cookie monsters": 3090973    Parse time: 0.003 s