Router woes

Yesterday evening I started to replace my router, which is an old Sun IPX. Its hard disk was beginning to make horrible noises, a bit like a chainsaw grinding on a steel plate. So, I shut it down after having grabbed the routing scripts, removed the second network card – AUI connector -, plugged it in the SparcStation5 that serves as mysql host. Rebooted the SparcStation5. Everything went fine and I was back online in only a few minutes, but ! the port forwarding stuff didn’t work because its support wasn’t in the kernel.
No problem, I’ll recompile a kernel (a 2.2.26). A few hours later (it’s a 110MHz Sparc… That’s not really fast), I still had no kernel because no matter what I tried (make clean, make mrproper, everything) it ended up with a link error. Ok…
I rebooted three times to test the three older kernels present on the machine, none of them had port forwarding support.
I plugged back the old router, took its kernel and modules, scp’ed them over to the SparcStation5, and rebooted it. It booted, and as soon as I started the adsl-connect script, got an oops from pppd. Tried again, got an oops from pppoe. No problem…
Let’s shut everything down again, put the network card into the Ultra1 (the main web server, mail server, etc). The rationale being that I wouldn’t need port forwarding if it acted as my router, even if it was a little security issue to be resolved. I plug the card on the upper SBUS slot, put the thing back on the shelves, and try to plug in the (not so) little AUI/RJ-45 adapter, but I couldn’t because the space was too tight. Damn. Back on the floor, I put the card in the other slot, which was more accessible from the outside, then back up, plug, boot. It boots, I’ve got an eth1, let’s try the script. Cannot sendto(): network is down.. Uh! the eth1 card doesn’t want to come up. Let’s see why in dmesg: Sun lance: Cannot share IRQ on non-PCI bus: irq5,4r.

So I ended up cursing, putting the whole stuff back in the previous state, rebooted everything (welcome back grinding sound), and now the router tells me:

scsi0: MEDIUM ERROR on channel 0, id 3, lun 0, CDB: Request Sense 00 00 00 10 00
Info fld=0x15954, Current sd08:01: sense key Medium Error
Additional sense indicates Unrecovered read error
scsidisk I/O error: dev 08:01, sector 88404
[…]
EXT2-fs error (device sd(8,1)): ext2_read_inode: unable to read inode block – inode=33962, block=131258
Remounting filesystem read-only

Stuff, sometimes…