Hacking The 3Com 3C19504:
Enhancements & Changes
C A U T I O N
Most of the actions I describe herein result in the voiding of the device’s warrantee. I take no responsibility for any damage which might result from anyone attempting to duplicate my work. In other words, you bear all responsibility for your own actions. If you break your 3C19504 then it’s your own fault. I do not recommend you reproduce my work! This information is offered for entertainment purposes only, no warrantee is offered or implied.
When I first received my 3C19504, it was my plan to hack my way into it and then tweak it into something usable. I ultimately had to abandon that quest. The 3C19504 is a discontinued product which 3Com no longer actively supports and it’s version of Linux is old and incomplete (e.g., no man pages are installed). Rather buy into a long-term commitment to maintain an out of date and unsupported unit, I looked around to find a replacement Linux distribution that would offer functionality similar to the 3C19504’s. I eventually found what I was looking for: ClarkConnect.
This page logs the steps I took to turn my 3C19504 into something usable.
Installing the new image on the 3C19504 was not difficult, but it did involve some disassembly of the unit and temporary use of a new IDE cable and a power Y-cable to allow the concurrent use of two IDE devices (a hard drive and a CD-ROM drive). The image to the right is a snapshot of the system in its temporary state, while I installed the image.
I used the following tools, CDs, etc. to perform the steps described herein:
Downloading of the ClarkConnect image and creation of a boot CD is already covered on the ClarkConnect website, so I will not mentioned it further here.
In order to get the image installed via the CD-ROM drive it is necessary to change the BIOS boot setting. This means removing the punch-out from in front of the keyboard connector.
To remove the keyboard connector punch-out, insert a slot screwdriver into the punch-out’s slot and wiggle it gently in a back and forth motion. Eventually, the punch-out will break away from the case. Then, also using the slot screwdriver, pry the punch-out out of the hole in the case. This removal is not difficult, but take your time to ensure that you don’t damage the keyboard connector. Note, the keyboard connector is the one on the bottom. I have received correspondence from another 3C19605 owner who reports that a USB keyboard can be plugged into one of the USB connectors. This is an advantage as it removes the necessity of breaking off the keyboard port cover.
The next step is to remove the VGA port cover. This is easily done with the appropriate size Torx screwdriver.
With a keyboard and monitor hooked up to the system, turn on the power. When the first boot screen appears (see the first snapshot on the Investigation Log page) press the [DELETE] key on the keyboard. If you miss the window and the BIOS screen doesn’t appear, use [CTRL]-[ALT]-[DELETE] to restart the boot sequence.
Once the BIOS is screen is displayed, go to the Advanced settings. Change the boot sequence so that it tries a CD-ROM first, then the IDE-0 device, then the network (basically, bumping the existing two entries down one and then inserting the CD-ROM boot at the top of the sequence). Then save and exit, and power down.
Now to open up the box and connect up the CD-ROM drive. Remove the three screws from the back of the unit using a Phillips screwdriver. Slide the case back about 1.5cm, then lift it off (you must pull the sides apart slightly as you lift).
The front panel assembly also contains the hard disk and it must be removed. The two screws that appear on the top outside edges of the case, about two-thirds of the way from the front must be removed with a Phillips screwdriver. The assembly then slides out the front of the case. Gently disconnect the IDE and power cables from the drive.
Now disconnect the IDE cable from the motherboard and hook up your temporary cable. Connect it to your CD-ROM drive and to the 3C19504’s hard drive. Be sure that you assume the hard drive is jumpered to be the buss master, and so ensure that you use the end of the IDE cable with the hard drive and the middle connector with the CD-ROM. It’s also worthwhile manually setting the CD-ROM’s jumpers to be a slave device. Also, hook up the power cables.
Now power-up the 3C19504. Once the boot sequence has started, open the CD-ROM drives drawer and insert the boot CD. Once the door is closed, use [CTRL]-[ALT]-[DELETE] to restart the boot sequence. Since you earlier changed the BIOS to boot from the CD-ROM first, once the CD has been inserted it should boot normally from that device.
Now follow the ClarkConnect installation instructions. It’s pretty easy. I did find it useful to have the 3C19504 connected to my home network so that it could obtain a DHCP address while it was installing. This meant that I didn’t have to wait through the DHCP timeout when ClarkConnect was initializing eth0 (note, this is the PCI card Ethernet port, not the motherboard port).
Once you have successfully installed all the ClarkConnect packages, reassemble the 3C19504 to its original physical state. However, there is no need to reset the BIOS settings: leave the BIOS set to boot from the CD-ROM, it doesn’t hurt anything, and this will make it easier to rerun the installation later when you make some stupid mistake.
I have the ClarkConnect system in production on my home LAN, and I have decommissioned my old firewall/router; so, I recommend ClarkConnect. That said, I did encounter a few minor issues which I have noted here:
I had a lot of trouble figuring out how to get my broadband provider’s DHCP server to acknowledge the existence of my new firewall/router. These problems turned out to have nothing to do with ClarkConnect and everything to do with Rogers Highspeed’s broken DHCP implementation. I have not documented that struggle here; rather see the my discussion on the subject in Google’s USENET archive.
Upgrading the 3C19504's RAM turned out to be dead simple. I had purchased a 256meg DIMM to use in the family PC, and I took the PC100 64meg DIMM freed up in that upgrade and inserted it into the 3C19504. The 3C19504 had no difficulty recognizing the new RAM. I now have 96meg of RAM in my 3C19504.
After upgrading the family PC’s hard drive, I was left with a 40gig drive to use in my 3C19504. As documented above, I opened the 3C19504 and replaced the hard drive with the 40gig drive. The immediate difficulty I faced was that the BIOS would hang during the POST (power-on self test). I checked the instructions that came with the drive and determined that I could jumper the drive to make it look like an 8gig drive to the BIOS. Some reading on the Internet indicated that Linux should still be able to see the full drive, so I went ahead and jumpered the drive and booted from my ClarkConnect CD and reinstalled Linux.
The only problem is that Linux sees the drive as a 32gig drive; which even though I’m missing 8gig is much better than the previous situation, where the 3C19504 only had 10gigs of space. So, I'm leaving well enough alone for the time being.
Out of the box, the 3C19504 is very noisy. Since my office (where I work everyday) doubles as our IT closet, I had to live with the noise all day, every day. I have done 3 things that have solved the noise problem:
The loudest noise in my office/IT closet is now the laptop docking station’s fan. A much more tolerable noise level.