Messages in this thread | | | Date | Mon, 18 Dec 2000 21:05:23 +1100 | From | Andrew Morton <> | Subject | Re: Problem with 3c59x and 3C905B |
| |
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[13]; + vp->info1 &= ~0x8000; vp->info2 = eeprom[15];
Working out why your switch isn't talking full-duplex would probably make things work too, but it's not a fix.
- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
| |