N0rwall is a project inspired by the now famous M0N0WALL project.
The latter can be found at http://m0n0.ch/wall . The company I work for had
purchased several Nortel Networks Contivity 100 systems to build our VPN to
connect several offices in different states. More information can be found
here: http://www.nortelnetworks.com/products/01/contivity/100/index.html .
Sadly, these systems proved to be underpowered, and we quickly outgrew them.
Not wanting to invest in more closed source equipment, the N0rwall project
was born. Obviously it's too expensive to purchase new units to run N0rwall,
but if already own these units this is a great way to recycle them. Also,
you can purchase used units from http://www.ebay.com at very reasonable
prices. Copy the image file to the compact flash card that's already
installed in the Contivity unit, plug it in, and you're ready to go!
To convert these Contivity units to run a custom version of
The Contivity units can be purchased and configured a number of
ways. The units we had purchased came with an extra NIC, 12 MB of RAM and a
16MB CF card. Upon inspection, these units are an embedded PC, with an ATX
power supply, a 7 port 10/100 switch, and a serial port. They do make a
nifty package! Although this embedded PC has a VIA chipset, there is no way
to attach a keyboard or a mouse. A monitor was grafted in on connector J16.
See the monitor wiring diagram to be posted later.
The processor is a Via Cyrix MII-333 333 Mhz, with the motherboard
supporting CPU speeds to 550 Mhz via switch SW3 settings. We could not
determine the manufacture of the motherboard, so we did not have any access
to documentation. If you know the manufacturer of these motherboards in the
Contivity 100, please let the development team know. We determined
everything about this system by brute force.
After installing the monitor, and watching the system boot, it was
very clear the OS was a version of DOS.
If your unit is under warranty, you may not want to make these
modifications. The first modification is to add more memory. The motherboard
will accept an additional PC100 memory stick. Our unit handled an additional
64MB RAM, but nothing larger. This should be sufficient to run N0rwall.
Some embedded PC motherboards have a watchdog circuit, and these
units are no exception. Since we are running FreeBSD, we will not need it!
J14 on our motherboard was cut to disable the watchdog circuit. Please check
the diagram for the various switch and jumper locations. If your system
reboots itself after about 2 minutes of on time, and continues to reboot,
then your watchdog circuit has not been disabled. Instead of using a jumper
for this setting, it has been permanently soldered on the motherboard.
Careful use of small wire cutters, and the watchdog circuit was set to off.
Since we did not have access to any documentation for this motherboard, we
could not develop a software solution to handle the watchdog circuit.
The test unit had an additional NIC that was removed. In the next
version of N0rwall there are plans to add a wireless card to turn these
units into a WAP, with WAN and the 7 port switch.
The generic PC image of M0N0WALL runs just fine so that could be
used. We went ahead and compiled a custom kernel to just support the
motherboard and the hardware in these units. Changing the kernel config file
to remove PCMCIA and APM helped keep the kernel as small as possible. Even
though we have 74MB of total RAM, we still wanted to have the maximum amount
of RAM available for N0rwall. Since these units have a serial port
available, N0rwall has been configured to use it as a serial console. You
don't need to graft a monitor on to the motherboard like we did. The serial
port on these units is set for 9600, 8N1. Using a null modem cable, and
appropriate terminal software, you can see the entire boot process. You'll
also have access to the basic M0n0 menu.
This was a great project to resurrect some older equipment, and put
it back in service. Thanks to the M0n0wall team for developing this great
software. As soon as we can find a site to host the N0rwall image file, and
some basic documentation, I'd love to hear some feedback about this project.
"We are successful when our bosses wonder what it is we do all day." -- Tim