More on Linux and the New Internet Computer (NIC)
or How to Get a Cheap Server with one port of Dial-up Internet Access
First look at the warning here.
After reading Bill Ball's very good review of the New Internet Computer
in the February 2001 issue of Linux Journal,
I decided to rise to his challenge to hardware hackers. I immediately
placed an order for a NIC via the World Wide Web where they are available
for $199.99 plus shipping. After about a week, my wife telephoned at work
to say that a box arrived from the New Internet Computer Company.
To find out all of the details of the NIC, please reference the full
review of it by Bill Ball in the February 2001 issue of Linux Journal
or have a look
[here] and [here].
Also, you may want to check out George Pajari's FAQ-o-Matic site [here].
In summary of that review, the New Internet Computer is a network
appliance that is designed to provide a very low cost, primarily Netscape
interface to the Internet over a variety of connection mechanisms.
Upon unpacking my new NIC computer, I proceeded immediately to the 'three
screws to remove the cover' portion of Bill's review without even plugging
it in. The NIC consists of a single board computer with a fan cooled
Cyrix M II running at 200 Mhz (even though the NIC specs say 266 MHZ). Following is the /proc/cpuinfo for this
dpsims@nic:/proc$ more cpuinfo
processor : 0
vendor_id : CyrixInstead
cpu family : 6
model : 2
model name : M II 3x Core/Bus Clock
stepping : 8
cpu MHz : 200.456
fdiv_bug : no
hlt_bug : no
sep_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu de tsc msr cx8 mtrr pge cmov mmx
bogomips : 399.77
The other hardware included consists of:
- a 100 watt switching power supply 110/230V 50/60 Hz
- a 24x CDROM (OIP-SD2400A from Delta Electronics in Taiwan)
- a 64Mb PC-100 DIMM memory stick and socket
- a SiS900 10/100 Mb autosensing ethernet chip and RJ45 female connector
- a single SiS 85C5513 PCI based IDE controller
- a 3 Mb IDE flash memory based disk
- a SiS 7001 USB controller with two external USB connections
- a SiS 5597/5598 Super-VGA video controller with 512 Kbytes of memory
- a C-Media CMI8738 Audio/Modem ASIC supporting a PC-TEL modem interface
- a PC-TEL Codec/DAA daughterboard
- a nice black metal case with two switches (on/off and reset) and a light
It only required two more screws to remove the CDROM from the case
after unplugging the IDE ribbon cable and power cable. This exposed the
3Mb flash disk which consists of a small 1" x 2" board with a male 40
pin header (prongs on both sides of the board) which adapts the female
motherboard IDE socket to the female CDROM ribbon cable socket.
The objective of this exercise was to find a way to install a 2.5" laptop
harddrive in the NIC in place of the flash memory disk in order to use
the NIC as a small, cheap workgroup server.
Hacking the Hardware
A quick trip to the electronic parts store (Electronic Parts Outlet in
Houston, Texas) followed by a trip to the hardware store (Bering Hardware
in Houston, Texas) resulted in the necessary parts to do the trick. The
parts I acquired were:
- 40 pin to 44 pin adapter for the laptop HD ($5.00)
- a standard dual device IDE ribbon cable ($3.00)
- some 3/4" cylindrical standoffs ($.50)
- some long screws to fit the HD mounting threads ($.50)
- a 40 pin circuit board solder-on male header ($.50)
I already had a spare IBM-DYLA-28100 8Gb harddrive from a previous
laptop disk upgrade.
Upon returning home, I used an IDE ribbon cable and a vise to reorient
the pins in the solder-on male header. These headers have gold plated pins
with a thin plastic matrix holding them together like so:
|||||||||||||||||||| <---- This side normally plugs into a ribbon cable
|||||||||||||||||||| <---- this side solders onto a circuit board
By plugging the short pins into a ribbon cable and clamping the header and
ribbon cable in a vise, you can push the pins through the matrix so that
the pins more or less stick out each side an equal amount like so:
This makes a perfect adapter to take the place of the 3Mb flash disk in
the NIC and turns the motherboard's female IDE socket into a normal male
socket that a normal IDE ribbon cable will plug onto.
The CDROM drive in the NIC is from Delta Electronics of Taiwan. It does
not have a jumper to select master/slave, and uses firmware for device
selection. Delta readily provided a flash utility and firmware to set
the CDROM drive to master or slave, but it has to be run from DOS, so a
spare PC is quite handy when converting the NIC from client to server.
The NIC has no floppy drive and no controller to plug one into.
Thus, I used a spare computer and the 40 to 44 pin disk adapter to
load my favorite distribution (Slackware 7.1) of Linux on the laptop HD
and to confirm that it would boot. I then downloaded the latest 2.2.x
kernel and installed the kernel source code on the laptop HD in order
to get support for the SiS900 10/100 Ethernet chipset. After
configuring a minimal kernel, compiling it, installing it and
confirming that it would boot, I installed the HD in the NIC using the
dual device ribbon cable and home made gender changer already described.
The motherboard of the NIC has three strategically located holes just
behind the CDROM drive. Using the .75" standoffs which I had to cut down
to .5" so the disk would clear the modem daughterboard, I mounted the HD
to the motherboard using .75" screws through the motherboard from the
bottom and the .5" standoffs through the two holes nearest the edge of
board. I had previously installed a third standoff to the board which the
end of the HD away from the IDE interface could rest on.
Once this was done, I confirmed that the NIC would boot from the HD!
So far, so good! It booted right up and I was able to login and configure
the ethernet interface which also came right up on a static address! At
this point I could now login to the NIC either from the console or from
another workstation via telnet! Real progress!!
Having achieved a level of success, my batteries were charged and I
went back to the spare PC and installed the NIC's CDROM drive on the spare
IDE interface. Then I booted up with DOS 6.22 and used the
and firmware obtained from Delta
Electronics to configure the CDROM as a 'slave' IDE device. This
required a bit of fritzing (the documentation doesn't tell you that the
appropriate command is 'mktflash 4 W slave.hex') but finally worked like
a charm and upon rebooting the spare PC the CDROM was recognized by
the BIOS as the slave device instead of the master. Reinstalling the
CDROM drive in the NIC was a simple matter of plugging it in and
installing two screws. After another reboot of the NIC I had a server
with ethernet, 8 Gb harddisk and CDROM drive. Almost there!!
Next I started to investigate the audio chipset and modem daughter-
board. After a few google searches I found a
website that seemed to have
exactly waht I needed. So I downloaded the ECS_drivers.tar.gz file
and after untarring, built kernel modules in support of the audio
chip and modem daughterboard. You can also find this driver code [here]. I did edit the code for the modem to
change the major device number from 62 to 4 which is the standard
serial device in Linux (#define PCTEL_MAJOR 4 /* was 62 */).
After building the kernel modules and installing them in the kernel,
low and behold I had a 56 Kb modem at /dev/ttyS15 !! It took another
couple of hours to work through the Serial HOW-TO and the PPP HOW-TO
before I had the NIC answering the telephone and offering an IP
address to a remote host via PPP.
At this point I had acheived my objective, so I put the covers back
onto the NIC and stood it on end on the handy feet that come with it.
After connecting the power cord, an ethernet cable and a telephone line,
I had a the beginnings of a workgroup server with support for a dial-in PPP session that cost on the order of
$400 and had the requisite horsepower to reliably support 50 users or
more. At this point I began configuring serices such as Appletalk, SMB
support (via Samba), DNS, mail, user accounts, POP3 and a POP password
changing facility so that users can change their passwords using the
client utility built into the popular Eudora mail client.
For other people that choose to go down this path, you can find all of the requisite
software components [here].
I will add photos of the hardware as soon as I can borrow a digital camera.
My hat is off the the New Internet Computer Company for developing this
low cost platform. The only thing that could be better would be for them
to make and sell a $400 server to go with their $200 client. It can be
done. I have done it.
There is more to do though and in the same spirit that Bill Ball raised a
challenge to the 'hardware hackers' out there, I would like to raise a
challenge to those other Linux hackers to take up where I have left off;
get the USB port working and supporting a large number of devices as well
as getting the joy stick port and sound ports working. I will be happy
to support a website on hacking the NIC so if you do decide to rise to
the challenge, please send me an email with the details. Also, someone
needs to figure out what to do with the left over 3 Mb flash disk I have. :)