Overclock instability with later Ethernet drivers?

eharmon

Well-known member
I'm running my Q650 overclocked (40-50MHz, depending), and I noticed something curious: newer Ethernet drivers seem deeply unstable, at least with an overclock.

- The 8.1 System File ships with driver 1.1.1 for all Sonic chips (built-in ethernet and nubus cards).
- It also ships with extensions for newer built-in ethernet and nubus cards, which moves you to drivers 1.2.4 and 1.2.3, respectively.

When using the later drivers, iCab locks up constantly when overclocked, as soon as it hits network traffic. A quick pass through MacsBug shows addressing errors and hardware timing issues. The older drivers seem to work just fine. Curiously, AppleShare seems to work fine either way.

Has anyone else noticed this? It seems like some optimizations in later drivers are potentially more fragile to hardware latencies and probably aren't waiting enough ticks for the hardware to respond.

Interestingly, this might explain why some folks claim ethernet is unstable when going above 40MHz. It is, but only when you use the newer drivers. So disabling the extensions seems like a potential workaround. Unfortunately I've found no driver change logs past 1.1.1, but I'd hazard to guess something was optimized in 1.2+.
 

Forrest

Well-known member
Is the Ethernet chip clocked off the CPU crystal Q650? On the C610 it is, and overclocking the CPU will make Ethernet unstable.
 

Phipli

Well-known member
Is the Ethernet chip clocked off the CPU crystal Q650? On the C610 it is, and overclocking the CPU will make Ethernet unstable.
Some 610s, not all of them. The 20MHz ones clock the ethernet from the CPU clock, the 25MHz ones have an independent clock for eithernet.
 

eharmon

Well-known member
Some 610s, not all of them. The 20MHz ones clock the ethernet from the CPU clock, the 25MHz ones have an independent clock for eithernet.
Yeah, Q650 ethernet doesn't clock off the main bus, afaik.

Given I see the same behavior with the NuBus cards, which are definitely running on an independent clock, it makes me think it's a hard-coded wait value in the driver which makes it unstable at fast speeds. It's just not waiting long enough for the ethernet chip to respond.

I wouldn't be surprised if a simple patch to add more wait might be enough to make the newer drivers work. But it's simple enough to run older ones, and I've successfully used ethernet at 50MHz with those.
 
Top