Nortel Contivity 1010 (aka C1010) Hardware Notes

Background:
My company recently de-installed and discarded dozens of these little Nortel Contivity 1010 VPN devices. I pulled one apart and discovered it's basically a tiny Intel Celeron PC with no keyboard/mouse interface, one serial console port, and two 10/100 Ethernet ports.

I decided it would be fun to get Linux to run on one so I could play with it... maybe use it as a small firewall, router, or OpenVPN endpoint. My "pre-rolled" Slackware Linux installation for these devices can be found at:
http://phreakmonkey.com/projects/Slackware-c1010/

In case you want to "roll your own" distro (or OS) for it, my notes from installing Slackware Linux are below:

Hardware:

CPU Info:

System board info:

On-board Intel Pro/100 "E100" Notes:

The on-board Ethernet ports have some idiosyncrasies:

Intel Pro/100 ProblemSolution
Mismapped Interrupts Must use "irqpoll" on Linux Kernel command line
Proprietary EEPROMs Must use "eeprom_bad_csum_allow=1"
when loading e100 module
LAN1 / eth1 has no HW mac address
(Shows up as FF:FF:FF:FF:FF:FF)
Assign MAC address manually upon boot


Because of these issues, I couldn't get the 2.4.x kernel series to recognize the E100 ports at all. Support for these particular interfaces gets better somewhere in the 2.6.x Kernel tree.

RS232 Console Port:

The console port is mapped in the BIOS for output at 9600,N,8,1. It will come online at this bitrate during POST test and stay there until the Kernel loads. Because of this, there is no need to enable Serial IO in the boot loader itself (in fact, doing so will cause ddoouubbllee oouuttppuutt during the boot loader process.)

Once the Kernel starts, however, the BIOS relenquishes the serial port. So setting "console=ttyS0,9600n8" on the kernel command line is advised. (As is configuring a serial tty in /etc/inittab.)

NOTE: The RS232 pinout of the Contivity is different from "standard" or Cisco RJ45 ports!!
You will need a "Nortel" console cable, or make your own.

Pinouts of the RJ45 port:
RJ45 DB9 Function
1 8CTS
2 6DSR
3 3TxD
4 1DCD
5 2RxD
6 5GND
7 4DTR
8 7RTS
N/C 9


Other oddities:


My final Linux Kernel 'append=' line from my lilo.conf file looks like this:
append="ide-core.nodma=0.0 ide-core.nodma=0.1 console=ttyS0,9600n8 vt.default_utf8=0 irqpoll reboot=k,w"

Other than that, the box seems fairly standard. {smirk}

Have fun!
   -PhreakMonkey