In Elektor february 2005 is an article named "Cheap (web)server",
with a descripion how to add the missing parts.
In Elektor march 2005 the rig is used to build an electricy/water/gasmeter in the article with the name "goedkope logger" (cheap logger) .
The router I bought
I did my experiments on the
Edimax 6104KP;
the same router with a printerserver.
It has the parts missing in the 6104, and costs at most €10.- more than the Sweex.
For that €10.- extra you cannot even buy the extra components,
and I didn't fancy the work.
So I attacked the 6104KP directly.
The description how to add the extra USB ports I copied here from other sites
only for completeness,
do not count on any experience or guarantees from my direction.
What is this router exactly
It is a universal litte box wih
this hardware:
A computer with 16 MBytes RAM and 2 MBytes flashROM.
6 ethernet poorts, of which 5 are connectible on the back,
and 1 wireless (wireless transmitter is not included).
2 serial interfaces (115KB,8,n,1), none connected to the outside of the box (yet).
about 18 General Purpose I/O bits, 11 or 13 are conected to LED's on the front.
11 (SWEEX) of 13 (Edimax) LEDs
2 USB ports (the componenten are mounted only on the Edimax-6104KP).
this software:
ucLinux that is started from flash-ROM, with the following standard program's.
a Switch connecting 4 LAN poorten witch eachother.
a router (met PAT/NAT) taking care of traffic between the WAN and LAN ports.
firewall.
DHCP-server.
HTTP server as user-interface for the applications above.
Possibilities
The hardware can be expanded with:
2 serial interfaces
2 USB ports (1.1) (on Edimax6104KP already present)
18 General Purpose In/Output bits
I2C interface (using 2 GPIO bits)
The Linux kernel can be replaced, so
during boot it mounts a hard disk or CD-ROM
applications are started after boot
a HTTP server
a telnet server
other applications
With these changes, the Edimax is turned into (e.g.):
a router, switch, bridge, firewall, sniffer, or even all at the same time if you wish
an intelligent WEB-server
from a commandline (telnet) of from the web-pages devices can be controlled, like:
binairy in- or output: remote-controlled wall-plugs or home lights
Central file server, e.g. for backup purposes
home security center (alarms over SNMP or email)
measuring-device (logging on USB disk or stick, or measured data can be sent over the LAN)
remote control of all above
Modifications
It is just (and no more than) a hobby project with the purposes describes below.
This web-site partly documentation, partly a status description,
and therefore it will be grow in time.
boot from USB disk,
so the aplications are not fixed in ROM anymore, making it more flexible.
Realisation: see Jeroen Domburg's work. (cannot run without disk).
Boot fom ROM, configuration made adjustable in flash-ROM.
mounting disks as desired (USB-stick, hard-disk, CDROM),
depending on whatever is connected at boot time.
"intelligent" HTTP server for dummies.
Realization:
I wrote a HTTP server that displays a directory content as a HTTP page,
HTML code is generated from templates, depending on the file type.
(a TXT files is just copied on the sreen, a JPG is showed as an image).
built decently in a case, no loose prints, wires or connectors
Realisation: by manufacturer.
FTP client to get files without walking with USB sticks etc.
and without having to reboot the server.
Realisation: ftpget and wget from de Edimax, with an FTP-server on Linux-PC,
or a http-server on another Edimax.
Flexibility to maintain and improve a website reliably, user-friendly,
easyly maintainable.
Realization: just throw files in a directory, and is will displayed correctly.
(provided the templates are correct).
Replacement of a WEB-server on a (power consuming) Pentium-3.
Realisation: webserver is extendable with templates and external scripts.
Possibility to add applications (in ROM or USB disk)
Realisation: If a USB disk (or stick) will be mounted automaticcally at boot time.
It may contain extra init.d scripts that will be executed at boot time.
It may also contain extra programs.
Drivers controlling GPIO ports (LED's), enabling easy hardware expansion.
Not available in the Domburg version.
Realization: LED drivers made by wasse632.speed.planet.nl.
SMTP- and POP3 server
Realization: I wrote some simple
SMTP and POP programs.
(Accidently I added a mailer daemon as well).
File-transfer with SMTP.
(files must be transmitted as email attachments.
After reception the envelopes must be discarded, leaving the attached files to be stored.
Somewhat like FTP, but without the need of peer-to-peer connection).
Realisation:
not as described, but
the SMTP server can send messages through a pipe
to an external program doing exacly that.
directory synchronisation server for keeping the web-site identical as
data on an ordinary PC, making file-transfer to maintain a website
unnecessary (actually: invisible).
Realization: I wrote a program that constantly synchronizes a directory tree
on the Edimax with a directory tree on a PC (or several PC's) with max. bandwith use of 1.5%.
backup server.
Is automatically resolved by the directory synchronization.
easy configuration.
Is done by the HTTP server with some scripts.
Neither fulfilling any purpose, nor any speed in the process is guaranteed.