[vortex] 3cSOHO100-Tx Speed Problem

Mark Lubratt mark.lubratt@indeq.com
Fri, 1 Dec 2000 09:11:47 -0600


I tried "mii-diag -R; mii-diag -v" and "mii-diag -F 100baseTx" both without
success.

Then I started reading through the 3c59x.c code looking for the available
options and I found that Autonegotiation is actually option number 8 and it
seemed the default option is 10baseT.  So, I changed the module options to 8
and powered down then rebooted the machine.  It stayed at 100Mbs.

	static struct media_table {
		char *name;
		unsigned int media_bits:16,		/* Bits to set in Wn4_Media register. */
			mask:8,				/* The transceiver-present bit in Wn3_Config.*/
			next:8;				/* The media type to try next. */
		int wait;			/* Time before we check media status. */
	} media_tbl[] = {
	  {	"10baseT",   Media_10TP,0x08, XCVR_10base2, (14*HZ)/10},
	  { "10Mbs AUI", Media_SQE, 0x20, XCVR_Default, (1*HZ)/10},
	  { "undefined", 0,			0x80, XCVR_10baseT, 10000},
	  { "10base2",   0,			0x10, XCVR_AUI,		(1*HZ)/10},
	  { "100baseTX", Media_Lnk, 0x02, XCVR_100baseFx, (14*HZ)/10},
	  { "100baseFX", Media_Lnk, 0x04, XCVR_MII,		(14*HZ)/10},
	  { "MII",		 0,			0x41, XCVR_10baseT, 3*HZ },
	  { "undefined", 0,			0x01, XCVR_10baseT, 10000},
**->	  { "Autonegotiate", 0,		0x41, XCVR_10baseT, 3*HZ},
	  { "MII-External",	 0,		0x41, XCVR_10baseT, 3*HZ },
	  { "Default",	 0,			0xFF, XCVR_10baseT, 10000},
	};

Both "mii-diag -v" and "vortex-diag -v" reported that autonegotiation was
enabled and that the negotiation between the hub and the NIC was completed.

I know specifying the options is not recommended, but shouldn't the
Autonegotiation be the default?  Or am I reading the source code wrong.

Sincerely,

Mark


-----Original Message-----
From: vortex-admin@scyld.com [mailto:vortex-admin@scyld.com]On Behalf Of
Bogdan Costescu
Sent: Thursday, November 30, 2000 10:24 AM
To: Mark Lubratt
Cc: vortex@scyld.com
Subject: RE: [vortex] 3cSOHO100-Tx Speed Problem


On Thu, 30 Nov 2000, Mark Lubratt wrote:

>  Transceiver/media interfaces available:  100baseTx 10baseT.
>  Transceiver type in use:  10baseT.
>  MAC settings: half-duplex.

OK, so what you see using the lights is correct, it's working as 10baseT.

>  Your link partner does not do autonegotiation, and this transceiver type
>   does not report the sensed link speed.

This is strange. It means that the card couldn't get any info from the hub
about the supported speeds and in this case it is normal to fall back to
some "low performance" media type.

There are 2 things that might help you:
- run 'mii-diag -R' that resets the transceiver. Then run 'mii-diag -v'
again and if it gives again the message about not doing autonegotiation,
there is nothing more to do about autonegotiation.
- run 'mii-diag -F 100baseTx' to force setting media speed (but this is
really unrecommended); if this works, you can then add a module option to
force it at every boot

Sincerely,

Bogdan Costescu

IWR - Interdisziplinaeres Zentrum fuer Wissenschaftliches Rechnen
Universitaet Heidelberg, INF 368, D-69120 Heidelberg, GERMANY
Telephone: +49 6221 54 8869, Telefax: +49 6221 54 8868
E-mail: Bogdan.Costescu@IWR.Uni-Heidelberg.De



_______________________________________________
vortex mailing list
vortex@scyld.com
http://www.scyld.com/mailman/listinfo/vortex