Re: Problem with 3c59x and 3C905B

From: Andrew Morton (andrewm@uow.edu.au)
Date: Mon Dec 18 2000 - 05:05:23 EST


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/



This archive was generated by hypermail 2b29 : Sat Dec 23 2000 - 21:00:21 EST