Michael Illgner wrote:
> Hi folks,
Hello, Michael. Good problem report. You've done this before.
> Dec 17 19:44:48 ganerc kernel: Full duplex capable
Uh-oh. Someone has set the `full duplex' bit in your
EEPROM. Bit 15, word 0x0d.
> Dec 17 19:59:15 ganerc kernel: eth0: MII #24 status 786d, link partner
> capability 40a1
40a1: the link partner is advertising only 10/100 half duplex.
> , setting half-duplex.
heh. The driver lies.
> MAC settings: full-duplex.
But vortex-diag doesn't. You're running full-duplex.
> EEPROM contents (64 words, offset 0):
> 0x000: 0010 5ad8 25f1 9055 c579 0036 5051 6d50
> 0x008: 2971 0000 0010 5ad8 25f1 8010 0000 0022
> Options: force full-duplex.
And here is why - it's that EEPROM bit.
> Any idea what is going wrong here ?
You need to clear that bit - then the driver will run half-duplex.
If you have the 3com DOS-based config tool you can probably do
it with that. Alternatively, see if you can get vortex-diag
(http://www.scyld.com/diag/) to do it - I find vortex-diag's
EEPROM writing a bit tricky to use. So be careful to save the
output of `vortex-diag -ee' as a backup first.
You can probably kludge it in the driver with:
/* Extract our information from the EEPROM data. */
vp->info1 = eeprom;
+ vp->info1 &= ~0x8000;
vp->info2 = eeprom;
Working out why your switch isn't talking full-duplex would
probably make things work too, but it's not a fix.