[tulip] Linux 2.4.8, 2.4.17 and KNE111TX with Lite-On PNIC-II rev 37

Troy Farrell glory_2_god@studyshare.net
Mon Dec 31 16:23:01 2001


Hi Everyone.
I think it beneficial for the workers of tulip/linux kernel driver magic 
  to get the following information.

I'm running 2.4.8 unpatched and 2.4.17 unpatched, both on an Athlon 1.0/266.

I can use the tulip driver from 2.4.8 with no problems (I'm using 
modules).  When I use the 2.4.17 module, the card will *rarely* 
autonegotiate with my NetGear Hub.  It will also fail to talk to the hub 
if I force it to any of 10baseT(autonegotiate), 10baseT-FDX, 100baseTx, 
100baseTx-FDX, 10baseT(forced).  If I let it try to negotiate, roughly 
80% of the time it will fail in a stream of error messages (tulip_debug=5):

Dec 31 13:05:01 enoch kernel: Linux Tulip driver version 0.9.15-pre9 
(Nov 6, 200
1)
Dec 31 13:05:01 enoch kernel: PCI: Found IRQ 5 for device 00:0a.0
Dec 31 13:05:01 enoch kernel: 00:0a.0: tulip_mwi_config()
Dec 31 13:05:01 enoch kernel: 00:0a.0: MWI config cacheline=16, 
csr0=00a09000
Dec 31 13:05:01 enoch kernel: eth0: Lite-On PNIC-II rev 37 at 
0xe89da000, 00:C0:
F0:75:DE:DD, IRQ 5.
Dec 31 13:05:18 enoch kernel: eth0: tulip_up(), irq==5.
Dec 31 13:05:18 enoch kernel: eth0: interrupt  csr5=0xe4008010 new 
csr5=0xe40080
10.
Dec 31 13:05:18 enoch kernel: eth0: PNIC2 link status interrupt 
000000ca,  CSR5
e4008010, fff4ee39.
Dec 31 13:05:18 enoch kernel: eth0: PNIC2 10baseT link beat good.
Dec 31 13:05:18 enoch kernel: eth0: interrupt  csr5=0xe4008010 new 
csr5=0xe40080
10.
Dec 31 13:05:18 enoch kernel: eth0: PNIC2 link status interrupt 
000000ca,  CSR5
e4008010, fff4ee39.
Dec 31 13:05:18 enoch kernel: eth0: PNIC2 10baseT link beat good.
Dec 31 13:05:18 enoch kernel: eth0: interrupt  csr5=0xe4008010 new 
csr5=0xe40080
10.
Dec 31 13:05:18 enoch kernel: eth0: PNIC2 link status interrupt 
000000ca,  CSR5
e4008010, fff4ee39.
Dec 31 13:05:18 enoch kernel: eth0: PNIC2 10baseT link beat good.
Dec 31 13:05:18 enoch kernel: eth0: interrupt  csr5=0xe4008010 new 
csr5=0xe40080
10.
Dec 31 13:05:18 enoch kernel: eth0: PNIC2 link status interrupt 
000000ca,  CSR5
e4008010, fff4ee39.
Dec 31 13:05:18 enoch kernel: eth0: PNIC2 10baseT link beat good.
Dec 31 13:05:18 enoch kernel: eth0: interrupt  csr5=0xe4008010 new 
csr5=0xe40080
10.
Dec 31 13:05:18 enoch kernel: eth0: PNIC2 link status interrupt 
000000ca,  CSR5
e4008010, fff4ee39.
Dec 31 13:05:18 enoch kernel: eth0: PNIC2 10baseT link beat good.
Dec 31 13:05:18 enoch kernel: eth0: interrupt  csr5=0xe4008010 new 
csr5=0xe40080
10.
Dec 31 13:05:18 enoch kernel: eth0: PNIC2 link status interrupt 
000000ca,  CSR5
e4008010, fff4ee39.
Dec 31 13:05:18 enoch kernel: eth0: PNIC2 10baseT link beat good.
Dec 31 13:05:18 enoch kernel: eth0: interrupt  csr5=0xe4008010 new 
csr5=0xe40080
10.
Dec 31 13:05:18 enoch kernel: eth0: PNIC2 link status interrupt 
000000ca,  CSR5
e4008010, fff4ee39.
Dec 31 13:05:18 enoch kernel: eth0: PNIC2 10baseT link beat good.
Dec 31 13:05:18 enoch kernel: eth0: interrupt  csr5=0xe4008010 new 
csr5=0xe40080
10.
Dec 31 13:05:18 enoch kernel: eth0: PNIC2 link status interrupt 
000000ca,  CSR5
e4008010, fff4ee39.
Dec 31 13:05:18 enoch kernel: eth0: PNIC2 10baseT link beat good.
Dec 31 13:05:18 enoch kernel: eth0: interrupt  csr5=0xe4008010 new 
csr5=0xe40080
10.
Dec 31 13:05:18 enoch kernel: eth0: PNIC2 link status interrupt 
000000ca,  CSR5
e4008010, fff4ee39.
Dec 31 13:05:18 enoch kernel: eth0: PNIC2 10baseT link beat good.
Dec 31 13:05:18 enoch kernel: eth0: interrupt  csr5=0xe4008010 new 
csr5=0xe40080
10.
Dec 31 13:05:18 enoch kernel: eth0: PNIC2 link status interrupt 
000000ca,  CSR5
e4008010, fff4ee39.
Dec 31 13:05:18 enoch kernel: eth0: PNIC2 10baseT link beat good.
Dec 31 13:05:18 enoch kernel: eth0: interrupt  csr5=0xe4008010 new 
csr5=0xe40080
10.
Dec 31 13:05:18 enoch kernel: eth0: PNIC2 link status interrupt 
000000ca,  CSR5
e4008010, fff4ee39.
Dec 31 13:05:18 enoch kernel: eth0: PNIC2 10baseT link beat good.
Dec 31 13:05:18 enoch kernel: eth0: interrupt  csr5=0xe4008010 new 
csr5=0xe40080
10.

Dec 31 13:05:18 enoch kernel: eth0: PNIC2 link status interrupt 
000000ca,  CSR5
e4008010, fff4ee39.
Dec 31 13:05:18 enoch kernel: eth0: PNIC2 10baseT link beat good.
Dec 31 13:05:18 enoch kernel: eth0: interrupt  csr5=0xe4008010 new 
csr5=0xe40080
10.
Dec 31 13:05:18 enoch kernel: eth0: PNIC2 link status interrupt 
000000ca,  CSR5
e4008010, fff4ee39.
Dec 31 13:05:18 enoch kernel: eth0: PNIC2 10baseT link beat good.
Dec 31 13:05:18 enoch kernel: eth0: interrupt  csr5=0xe4008010 new 
csr5=0xe40080
10.
Dec 31 13:05:18 enoch kernel: eth0: PNIC2 link status interrupt 
000000ca,  CSR5
e4008010, fff4ee39.
Dec 31 13:05:18 enoch kernel: eth0: PNIC2 10baseT link beat good.
Dec 31 13:05:18 enoch kernel: eth0: interrupt  csr5=0xe4008010 new 
csr5=0xe40080
10.
Dec 31 13:05:18 enoch kernel: eth0: PNIC2 link status interrupt 
000000ca,  CSR5
e4008010, fff4ee39.
Dec 31 13:05:18 enoch kernel: eth0: PNIC2 10baseT link beat good.
Dec 31 13:05:18 enoch kernel: eth0: interrupt  csr5=0xe4008010 new 
csr5=0xe40080
10.
Dec 31 13:05:18 enoch kernel: eth0: PNIC2 link status interrupt 
000000ca,  CSR5
e4008010, fff4ee39.
Dec 31 13:05:18 enoch kernel: eth0: PNIC2 10baseT link beat good.
Dec 31 13:05:18 enoch kernel: eth0: interrupt  csr5=0xe4008010 new 
csr5=0xe40080
10.
Dec 31 13:05:18 enoch kernel: eth0: PNIC2 link status interrupt 
000000ca,  CSR5
e4008010, fff4ee39.
Dec 31 13:05:18 enoch kernel: eth0: PNIC2 10baseT link beat good.
Dec 31 13:05:18 enoch kernel: eth0: Too much work during an interrupt, 
csr5=0xe4
008010. (1) (0,0,17)
Dec 31 13:05:18 enoch kernel: eth0: exiting interrupt, csr5=0xe4000010.
Dec 31 13:05:18 enoch kernel: eth0: Restarting PNIC2 autonegotiation, 
csr14=fff3
fffd.
Dec 31 13:05:18 enoch kernel: eth0: On Entry to Nway, csr6=e0000000.
Dec 31 13:05:18 enoch kernel: eth0: Done tulip_up(), CSR0 fef89000, CSR5 
e452000
0 CSR6 e1002202.
Dec 31 13:05:18 enoch kernel: eth0: interrupt  csr5=0xe4670005 new 
csr5=0xe46600
00.
Dec 31 13:05:18 enoch kernel: eth0: exiting interrupt, csr5=0xe4660000.
Dec 31 13:05:18 enoch kernel: eth0: interrupt  csr5=0xe4670005 new 
csr5=0xe46600
00.
Dec 31 13:05:18 enoch kernel: eth0: exiting interrupt, csr5=0xe4660000.
Dec 31 13:05:18 enoch kernel: eth0: interrupt  csr5=0xe4670005 new 
csr5=0xe46600
00.
Dec 31 13:05:18 enoch kernel: eth0: exiting interrupt, csr5=0xe4660000.
Dec 31 13:05:18 enoch kernel: eth0: interrupt  csr5=0xe4670005 new 
csr5=0xe46600
00.
Dec 31 13:05:18 enoch kernel: eth0: exiting interrupt, csr5=0xe4660000.
Dec 31 13:05:18 enoch kernel: eth0: interrupt  csr5=0xe4668800 new 
csr5=0xe46600
00.
Dec 31 13:05:18 enoch kernel: eth0: Re-enabling interrupts, e4668800.
Dec 31 13:05:18 enoch kernel: eth0: exiting interrupt, csr5=0xe4660000.
Dec 31 13:05:18 enoch kernel: eth0: interrupt  csr5=0xe4670005 new 
csr5=0xe46600
00.
Dec 31 13:05:18 enoch kernel: eth0: exiting interrupt, csr5=0xe4660000.
Dec 31 13:05:20 enoch kernel: eth0: interrupt  csr5=0xec668010 new 
csr5=0xec6680
00.
Dec 31 13:05:20 enoch kernel: eth0: PNIC2 link status interrupt 
40a1d0cc,  CSR5
ec668010, fff7fffd.
Dec 31 13:05:20 enoch kernel: eth0: Switching to 100baseTx based on link 
negotia
tion 01e0 & 40a1 = 00a0.
Dec 31 13:05:20 enoch kernel: eth0:  Setting CSR6 e1840000/e1002202 
CSR12 000000
cc.
Dec 31 13:05:20 enoch kernel: eth0: exiting interrupt, csr5=0xe4660000.
Dec 31 13:05:20 enoch kernel: eth0: interrupt  csr5=0xec668000 new 
csr5=0xec6680
00.
Dec 31 13:05:20 enoch kernel: eth0: PNIC2 link status interrupt 
000000ca,  CSR5
ec668000, fff7ff7d.
Dec 31 13:05:20 enoch kernel: eth0: Ugh! Link blew?
Dec 31 13:05:20 enoch kernel: eth0: Restarting PNIC2 autonegotiation, 
csr14=fff3
fffd.
Dec 31 13:05:20 enoch kernel: eth0: On Entry to Nway, csr6=e1842002.
Dec 31 13:05:20 enoch kernel: eth0: exiting interrupt, csr5=0xe4000000.
Dec 31 13:05:21 enoch kernel: eth0: interrupt  csr5=0xec008010 new 
csr5=0xec0080
00.
Dec 31 13:05:21 enoch kernel: eth0: PNIC2 link status interrupt 
40a1d0cc,  CSR5
ec008010, fff7fffd.
Dec 31 13:05:21 enoch kernel: eth0: Switching to 100baseTx based on link 
negotia
tion 01e0 & 40a1 = 00a0.
Dec 31 13:05:21 enoch kernel: eth0:  Setting CSR6 e1840000/e1000200 
CSR12 000000
cc.
Dec 31 13:05:21 enoch kernel: eth0: interrupt  csr5=0xe4630004 new 
csr5=0xe46600
00.
Dec 31 13:05:21 enoch kernel: eth0: exiting interrupt, csr5=0xe4660000.
Dec 31 13:05:21 enoch kernel: eth0: interrupt  csr5=0xec668000 new 
csr5=0xec6680
00.
Dec 31 13:05:21 enoch kernel: eth0: PNIC2 link status interrupt 
000000ca,  CSR5
ec668000, fff7ff7d.
Dec 31 13:05:21 enoch kernel: eth0: Ugh! Link blew?
Dec 31 13:05:21 enoch kernel: eth0: Restarting PNIC2 autonegotiation, 
csr14=fff3
fffd.
Dec 31 13:05:21 enoch kernel: eth0: On Entry to Nway, csr6=e1842002.
Dec 31 13:05:21 enoch kernel: eth0: exiting interrupt, csr5=0xe4000000.
Dec 31 13:05:23 enoch kernel: eth0: interrupt  csr5=0xec008010 new 
csr5=0xec0080
00.
Dec 31 13:05:23 enoch kernel: eth0: PNIC2 link status interrupt 
40a1d0cc,  CSR5
ec008010, fff7fffd.
Dec 31 13:05:23 enoch kernel: eth0: Switching to 100baseTx based on link 
negotia
tion 01e0 & 40a1 = 00a0.
Dec 31 13:05:23 enoch kernel: eth0:  Setting CSR6 e1840000/e1000200 
CSR12 000000
cc.
Dec 31 13:05:23 enoch kernel: eth0: exiting interrupt, csr5=0xe4670004.
Dec 31 13:05:23 enoch kernel: eth0: interrupt  csr5=0xe4670004 new 
csr5=0xe46600
00.
Dec 31 13:05:23 enoch kernel: eth0: exiting interrupt, csr5=0xe4660000.
Dec 31 13:05:23 enoch kernel: eth0: interrupt  csr5=0xec668000 new 
csr5=0xec6680
00.
Dec 31 13:05:23 enoch kernel: eth0: PNIC2 link status interrupt 
000000ca,  CSR5
ec668000, fff7ff7d.
Dec 31 13:05:23 enoch kernel: eth0: Ugh! Link blew?
Dec 31 13:05:23 enoch kernel: eth0: Restarting PNIC2 autonegotiation, 
csr14=fff3
fffd.
Dec 31 13:05:23 enoch kernel: eth0: On Entry to Nway, csr6=e1842002.
Dec 31 13:05:23 enoch kernel: eth0: exiting interrupt, csr5=0xe4000000.
Dec 31 13:05:25 enoch kernel: eth0: interrupt  csr5=0xec008010 new 
csr5=0xec0080
00.
Dec 31 13:05:25 enoch kernel: eth0: PNIC2 link status interrupt 
40a1d0cc,  CSR5
ec008010, fff7fffd.
Dec 31 13:05:25 enoch kernel: eth0: Switching to 100baseTx based on link 
negotia
tion 01e0 & 40a1 = 00a0.
Dec 31 13:05:25 enoch kernel: eth0:  Setting CSR6 e1840000/e1000200 
CSR12 000000
cc.
Dec 31 13:05:25 enoch kernel: eth0: interrupt  csr5=0xe4630004 new 
csr5=0xe46600
00.
Dec 31 13:05:25 enoch kernel: eth0: exiting interrupt, csr5=0xe4660000.
Dec 31 13:05:25 enoch kernel: eth0: interrupt  csr5=0xec668000 new 
csr5=0xec6680
00.
Dec 31 13:05:25 enoch kernel: eth0: PNIC2 link status interrupt 
000000ca,  CSR5
ec668000, fff7ff7d.
Dec 31 13:05:25 enoch kernel: eth0: Ugh! Link blew?
Dec 31 13:05:25 enoch kernel: eth0: Restarting PNIC2 autonegotiation, 
csr14=fff3
fffd.
Dec 31 13:05:25 enoch kernel: eth0: On Entry to Nway, csr6=e1842002.
Dec 31 13:05:25 enoch kernel: eth0: exiting interrupt, csr5=0xe4000000.
Dec 31 13:05:26 enoch kernel: eth0: interrupt  csr5=0xec008010 new 
csr5=0xec0080
00.
Dec 31 13:05:26 enoch kernel: eth0: PNIC2 link status interrupt 
40a1d0cc,  CSR5
ec008010, fff7fffd.
Dec 31 13:05:26 enoch kernel: eth0: Switching to 100baseTx based on link 
negotia
tion 01e0 & 40a1 = 00a0.
Dec 31 13:05:26 enoch kernel: eth0:  Setting CSR6 e1840000/e1000200 
CSR12 000000
cc.
Dec 31 13:05:26 enoch kernel: eth0: exiting interrupt, csr5=0xe4670004.
Dec 31 13:05:26 enoch kernel: eth0: interrupt  csr5=0xe4670004 new 
csr5=0xe46600
00.
Dec 31 13:05:26 enoch kernel: eth0: exiting interrupt, csr5=0xe4660000.
Dec 31 13:05:26 enoch kernel: eth0: interrupt  csr5=0xec668000 new 
csr5=0xec6680
00.
Dec 31 13:05:26 enoch kernel: eth0: PNIC2 link status interrupt 
000000ca,  CSR5
ec668000, fff7ff7d.
Dec 31 13:05:26 enoch kernel: eth0: Ugh! Link blew?
Dec 31 13:05:26 enoch kernel: eth0: Restarting PNIC2 autonegotiation, 
csr14=fff3
fffd.
Dec 31 13:05:26 enoch kernel: eth0: On Entry to Nway, csr6=e1842002.
Dec 31 13:05:26 enoch kernel: eth0: exiting interrupt, csr5=0xe4000000.
Dec 31 13:05:28 enoch kernel: eth0: interrupt  csr5=0xec008010 new 
csr5=0xec0080
00.
Dec 31 13:05:28 enoch kernel: eth0: PNIC2 link status interrupt 
40a1d0cc,  CSR5
ec008010, fff7fffd.
Dec 31 13:05:28 enoch kernel: eth0: Switching to 100baseTx based on link 
negotia
tion 01e0 & 40a1 = 00a0.
Dec 31 13:05:28 enoch kernel: eth0:  Setting CSR6 e1840000/e1000200 
CSR12 000000
cc.
Dec 31 13:05:28 enoch kernel: eth0: interrupt  csr5=0xe4630004 new 
csr5=0xe46600
00.
Dec 31 13:05:28 enoch kernel: eth0: exiting interrupt, csr5=0xe4660000.
Dec 31 13:05:28 enoch kernel: eth0: interrupt  csr5=0xec668000 new 
csr5=0xec6680
00.
Dec 31 13:05:28 enoch kernel: eth0: PNIC2 link status interrupt 
000000ca,  CSR5
ec668000, fff7ff7d.
Dec 31 13:05:28 enoch kernel: eth0: Ugh! Link blew?
Dec 31 13:05:28 enoch kernel: eth0: Restarting PNIC2 autonegotiation, 
csr14=fff3
fffd.
Dec 31 13:05:28 enoch kernel: eth0: On Entry to Nway, csr6=e1842002.
Dec 31 13:05:28 enoch kernel: eth0: exiting interrupt, csr5=0xe4000000.
Dec 31 13:05:30 enoch kernel: eth0: interrupt  csr5=0xec008010 new 
csr5=0xec0080
00.
Dec 31 13:05:30 enoch kernel: eth0: PNIC2 link status interrupt 
40a1d0cc,  CSR5
ec008010, fff7fffd.
Dec 31 13:05:30 enoch kernel: eth0: Switching to 100baseTx based on link 
negotia
tion 01e0 & 40a1 = 00a0.
Dec 31 13:05:30 enoch kernel: eth0:  Setting CSR6 e1840000/e1000200 
CSR12 000000
cc.
Dec 31 13:05:30 enoch kernel: eth0: exiting interrupt, csr5=0xe4670004.
Dec 31 13:05:30 enoch kernel: eth0: interrupt  csr5=0xe4670004 new 
csr5=0xe46600
00.
Dec 31 13:05:30 enoch kernel: eth0: exiting interrupt, csr5=0xe4660000.
Dec 31 13:05:30 enoch kernel: eth0: interrupt  csr5=0xec668000 new 
csr5=0xec6680
00.
Dec 31 13:05:30 enoch kernel: eth0: PNIC2 link status interrupt 
000000ca,  CSR5
ec668000, fff7ff7d.
Dec 31 13:05:30 enoch kernel: eth0: Ugh! Link blew?
Dec 31 13:05:30 enoch kernel: eth0: Restarting PNIC2 autonegotiation, 
csr14=fff3
fffd.
Dec 31 13:05:30 enoch kernel: eth0: On Entry to Nway, csr6=e1842002.
Dec 31 13:05:30 enoch kernel: eth0: exiting interrupt, csr5=0xe4000000.
Dec 31 13:05:31 enoch kernel: eth0: interrupt  csr5=0xec008010 new 
csr5=0xec0080
00.
Dec 31 13:05:31 enoch kernel: eth0: PNIC2 link status interrupt 
40a1d0cc,  CSR5
ec008010, fff7fffd.
Dec 31 13:05:31 enoch kernel: eth0: Switching to 100baseTx based on link 
negotia
tion 01e0 & 40a1 = 00a0.
Dec 31 13:05:31 enoch kernel: eth0:  Setting CSR6 e1840000/e1000200 
CSR12 000000
cc.
Dec 31 13:05:31 enoch kernel: eth0: interrupt  csr5=0xe4630004 new 
csr5=0xe46600
00.
Dec 31 13:05:31 enoch kernel: eth0: exiting interrupt, csr5=0xe4660000.
Dec 31 13:05:31 enoch kernel: eth0: interrupt  csr5=0xec668000 new 
csr5=0xec6680
00.
Dec 31 13:05:31 enoch kernel: eth0: PNIC2 link status interrupt 
000000ce,  CSR5
ec668000, fff7ff7d.
Dec 31 13:05:31 enoch kernel: eth0: Ugh! Link blew?
Dec 31 13:05:31 enoch kernel: eth0: Restarting PNIC2 autonegotiation, 
csr14=fff3
fffd.
Dec 31 13:05:31 enoch kernel: eth0: On Entry to Nway, csr6=e1842002.
Dec 31 13:05:31 enoch kernel: eth0: exiting interrupt, csr5=0xe4000000.
Dec 31 13:05:33 enoch kernel: eth0: interrupt  csr5=0xec008010 new 
csr5=0xec0080
00.
Dec 31 13:05:33 enoch kernel: eth0: PNIC2 link status interrupt 
40a1d0cc,  CSR5
ec008010, fff7fffd.
Dec 31 13:05:33 enoch kernel: eth0: Switching to 100baseTx based on link 
negotia
tion 01e0 & 40a1 = 00a0.
Dec 31 13:05:33 enoch kernel: eth0:  Setting CSR6 e1840000/e1000200 
CSR12 000000
cc.
Dec 31 13:05:33 enoch kernel: eth0: exiting interrupt, csr5=0xe4670004.
Dec 31 13:05:33 enoch kernel: eth0: interrupt  csr5=0xe4670004 new 
csr5=0xe46600
00.
Dec 31 13:05:33 enoch kernel: eth0: exiting interrupt, csr5=0xe4660000.
Dec 31 13:05:33 enoch kernel: eth0: interrupt  csr5=0xec668000 new 
csr5=0xec6680
00.
Dec 31 13:05:33 enoch kernel: eth0: PNIC2 link status interrupt 
000000ca,  CSR5
ec668000, fff7ff7d.
Dec 31 13:05:33 enoch kernel: eth0: Ugh! Link blew?
Dec 31 13:05:33 enoch kernel: eth0: Restarting PNIC2 autonegotiation, 
csr14=fff3
fffd.
Dec 31 13:05:33 enoch kernel: eth0: On Entry to Nway, csr6=e1842002.
Dec 31 13:05:33 enoch kernel: eth0: exiting interrupt, csr5=0xe4000000.
Dec 31 13:05:34 enoch kernel: eth0: interrupt  csr5=0xec008010 new 
csr5=0xec0080
00.
Dec 31 13:05:34 enoch kernel: eth0: PNIC2 link status interrupt 
40a1d0cc,  CSR5
ec008010, fff7fffd.
Dec 31 13:05:34 enoch kernel: eth0: Switching to 100baseTx based on link 
negotia
tion 01e0 & 40a1 = 00a0.
Dec 31 13:05:34 enoch kernel: eth0:  Setting CSR6 e1840000/e1000200 
CSR12 000000
cc.
Dec 31 13:05:34 enoch kernel: eth0: interrupt  csr5=0xe4630004 new 
csr5=0xe46600
00.
Dec 31 13:05:34 enoch kernel: eth0: exiting interrupt, csr5=0xe4660000.

The 'Ugh! Link blew?' messages result from my pulling the plug to try 
and kick the card into working - It's worked before :)

At the moment, I'm still using 2.4.8, 'cause it works, but I though 
you'd appreciate the error report.

Troy
-- 
And the glory of the LORD shall be revealed, and all flesh shall see it 
together: for the mouth of the LORD hath spoken it.
Isaiah 40.5