Autonegotiation problems with 3c59x 0.99L and 3c905C?

Bogdan Costescu Bogdan.Costescu@IWR.Uni-Heidelberg.De
Fri Feb 11 14:00:08 2000


  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

---830399112-1632861162-950295605=:11495
Content-Type: TEXT/PLAIN; charset=US-ASCII


Hi,

I also had some problems with the C revision of the board and 0.99L
version of the Donald Becker's driver related to autonegotiation; I wrote
a message to this list at the end of November '99, but I never received
any feedback, although I tracked down the "guilty" code and suggested a
workaround.

Basicly, what I found was that the setting of full duplex was done based
on an EEPROM register which was different between revision B and C of the
card. If I comment out the test of this register and always set full
duplex (as I knew that both my cards and my switch work in 100-FD mode),
everything is OK.
I attached a small patch that applied to original 3c59x ver. 0.99L
produces the version that works for me. What the patch does:
- changes the line
	3c59x.c:v0.99L 5/28/99 Donald Becker http://cesdis.....
to 
	3c59x.c:v0.99Lb 5/28/99 Donald Becker http://cesdis.....
so that I know that I'm using the modified version of the driver.

- adds HAS_NWAY to the flags for 3c905C to allow autonegotiation
- comments out the line:
	if (vp->info1 & 0x8000)
which is the above mentioned register test.

Please keep in mind that I have no ideea how the patched driver behaves in
other modes and with other cards. I tested it here in 100-FD for 3C905
rev. B and C with a BayNetworks 350-24T switch.

Best regards,

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

On Fri, 11 Feb 2000, Ed P. wrote:

> I have 3 3c905C boards and have seen the exact same thing with
> my aopen/p75 running RH6.1 and a 1 month old hp procurve 408 8 port switch.
> the stock rh61 driver (0.99H) connects at 10Mb half and vortex-diag
> says that the partner (switch) didn't complete autonegotiation.
> 
> I've tried 0.99L (latest and greatest production) and 0.99N (L&G devel/test)
> with the same result.
> 
> below,
> 0xe880 is the first board. it's connected to the hp 408 switch
> and talking to a sun ultra5 (darwin) via the onboard hme 10/100 enet.
> the sun runs either sol26 or sol27 with the current set of reccomended 
> patches.
> 
> 0xe800 is the 2nd board connected to a new netgear fs105 4 port
> fast ethernet switch. there are no other machines plugged into the
> netgrear.
> 
> using the 3com gpl'ed linux driver (3c90x-1.0.0e) everything worked like
> a champ.
> 
> Regards,
> Ed Pendzik
> edp@eznet.net
> 
> ------------------------------------------------------------
> Becker 0.99L driver vortex-diag output.
> ------------------------------------------------------------
> vortex-diag.c:v1.09 7/28/99 Donald Becker (becker@cesdis.gsfc.nasa.gov)
> Index #1: Found a 3c905C Tornado 100baseTx adapter at 0xe880.
>  MII PHY found at address 24, status 780d.
>  MII PHY 0 at #24 transceiver registers:
>    3000 780d 0040 6174 05e1 0000 0000 0000
>    0000 0000 0000 0000 0000 0000 0000 0000
>    1000 0000 0000 0000 0000 0000 0300 0000
>    0030 0004 0f00 ff40 0020 0000 0000 000b.
>  MII PHY #24 transceiver registers:
>    3000 780d 0040 6174 05e1 0000 0000 0000
>    0000 0000 0000 0000 0000 0000 0000 0000
>    1000 0000 0000 0000 0000 0000 0400 0000
>    0030 0004 0f00 ff40 0020 0000 0000 000b.
>  Basic mode control register 0x3000: Auto-negotiation enabled.
>  Basic mode status register 0x780d ... 780d.
>    Link status: established.
>    Capable of  100baseTx-FD 100baseTx 10baseT-FD 10baseT.
>    Able to perform Auto-negotiation, negotiation not complete.
>  Vendor ID is 00:10:18:--:--:--, model 23 rev. 4.
>    No specific information is known about this transceiver type.
>  I'm advertising 05e1: Flow-control 100baseTx-FD 100baseTx 10baseT-FD 10baseT
>    Advertising no additional info pages.
>    IEEE 802.3 CSMA/CD protocol.
>  Link partner capability is 0000:.
>    Negotiation did not complete.
> Index #2: Found a 3c905C Tornado 100baseTx adapter at 0xe800.
>  MII PHY found at address 24, status 780d.
>  MII PHY 0 at #24 transceiver registers:
>    3000 780d 0040 6174 05e1 0000 0000 0000
>    0000 0000 0000 0000 0000 0000 0000 0000
>    1000 0300 0000 0000 0000 0f31 0300 0000
>    0036 000c 0f00 ff40 0026 0000 0000 000b.
>  MII PHY #24 transceiver registers:
>    3000 780d 0040 6174 05e1 0000 0000 0000
>    0000 0000 0000 0000 0000 0000 0000 0000
>    1000 0300 0000 0000 0000 0f47 0400 0000
>    0036 000c 0f00 ff40 0026 0000 0000 000b.
>  Basic mode control register 0x3000: Auto-negotiation enabled.
>  Basic mode status register 0x780d ... 780d.
>    Link status: established.
>    Capable of  100baseTx-FD 100baseTx 10baseT-FD 10baseT.
>    Able to perform Auto-negotiation, negotiation not complete.
>  Vendor ID is 00:10:18:--:--:--, model 23 rev. 4.
>    No specific information is known about this transceiver type.
>  I'm advertising 05e1: Flow-control 100baseTx-FD 100baseTx 10baseT-FD 10baseT
>    Advertising no additional info pages.
>    IEEE 802.3 CSMA/CD protocol.
>  Link partner capability is 0000:.
>    Negotiation did not complete.
> ------------------------------------------------------------
> below is 3com-gpl-driver.out
> ------------------------------------------------------------
> vortex-diag.c:v1.09 7/28/99 Donald Becker (becker@cesdis.gsfc.nasa.gov)
> Index #1: Found a 3c905C Tornado 100baseTx adapter at 0xe880.
>  MII PHY found at address 24, status 782d.
>  MII PHY 0 at #24 transceiver registers:
>    3000 782d 0040 6174 05e1 45e1 0003 0000
>    0000 0000 0000 0000 0000 0000 0000 0000
>    1000 0300 0000 0000 0000 02c5 0300 0000
>    003f 8d3e 0f00 ff40 002f 0000 80a0 000b.
>  MII PHY #24 transceiver registers:
>    3000 782d 0040 6174 05e1 45e1 0003 0000
>    0000 0000 0000 0000 0000 0000 0000 0000
>    1000 0300 0000 0000 0000 01bb 0400 0000
>    003f 8d3e 0f00 ff40 002f 0000 80a0 000b.
>  Basic mode control register 0x3000: Auto-negotiation enabled.
>  Basic mode status register 0x782d ... 782d.
>    Link status: established.
>    Capable of  100baseTx-FD 100baseTx 10baseT-FD 10baseT.
>    Able to perform Auto-negotiation, negotiation complete.
>  Vendor ID is 00:10:18:--:--:--, model 23 rev. 4.
>    No specific information is known about this transceiver type.
>  I'm advertising 05e1: Flow-control 100baseTx-FD 100baseTx 10baseT-FD 10baseT
>    Advertising no additional info pages.
>    IEEE 802.3 CSMA/CD protocol.
>  Link partner capability is 45e1: Flow-control 100baseTx-FD 100baseTx 10baseT-FD
>  10baseT.
>    Negotiation  completed.
> ------------------------------------------------------------
> -------------------------------------------------------------------
> To unsubscribe send a message body containing "unsubscribe"
> to linux-vortex-bug-request@beowulf.org
> 



---830399112-1632861162-950295605=:11495
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=p
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.10.10002112000050.11495@kenzo.iwr.uni-heidelberg.de>
Content-Description: 3c59x.c patch
Content-Disposition: attachment; filename=p

LS0tIDNjNTl4LmMub3JpZwlGcmkgTm92IDI2IDE1OjA0OjQ5IDE5OTkNCisr
KyAzYzU5eC5jCUZyaSBOb3YgMjYgMTU6MDU6MjIgMTk5OQ0KQEAgLTE2LDUg
KzE2LDUgQEANCiANCiBzdGF0aWMgY2hhciAqdmVyc2lvbiA9DQotIjNjNTl4
LmM6djAuOTlMIDUvMjgvOTkgRG9uYWxkIEJlY2tlciBodHRwOi8vY2VzZGlz
LmdzZmMubmFzYS5nb3YvbGludXgvZHJpdmVycy92b3J0ZXguaHRtbFxuIjsN
CisiM2M1OXguYzp2MC45OUxiIDUvMjgvOTkgRG9uYWxkIEJlY2tlciBodHRw
Oi8vY2VzZGlzLmdzZmMubmFzYS5nb3YvbGludXgvZHJpdmVycy92b3J0ZXgu
aHRtbFxuIjsNCiANCiAvKiAiS25vYnMiIHRoYXQgYWRqdXN0IGZlYXR1cmVz
IGFuZCBwYXJhbWV0ZXJzLiAqLw0KQEAgLTI4MCw1ICsyODAsNSBAQA0KIAkg
UENJX1VTRVNfSU98UENJX1VTRVNfTUFTVEVSLCBJU19DWUNMT05FLCAxMjgs
IHZvcnRleF9wcm9iZTF9LA0KIAl7IjNjOTA1QyBUb3JuYWRvIiwJMHgxMEI3
LCAweDkyMDAsIDB4ZmZmZiwNCi0JIFBDSV9VU0VTX0lPfFBDSV9VU0VTX01B
U1RFUiwgSVNfQ1lDTE9ORSwgMTI4LCB2b3J0ZXhfcHJvYmUxfSwNCisJIFBD
SV9VU0VTX0lPfFBDSV9VU0VTX01BU1RFUiwgSVNfQ1lDTE9ORXxIQVNfTldB
WSwgMTI4LCB2b3J0ZXhfcHJvYmUxfSwNCiAJeyIzYzk4MCBDeWNsb25lIiwJ
MHgxMEI3LCAweDk4MDAsIDB4ZmZmMCwNCiAJIFBDSV9VU0VTX0lPfFBDSV9V
U0VTX01BU1RFUiwgSVNfQ1lDTE9ORSwgMTI4LCB2b3J0ZXhfcHJvYmUxfSwN
CkBAIC05MDIsNSArOTAyLDUgQEANCiAJdnAtPmNhcGFiaWxpdGllcyA9IGVl
cHJvbVsxNl07DQogDQotCWlmICh2cC0+aW5mbzEgJiAweDgwMDApDQorLyoJ
aWYgKHZwLT5pbmZvMSAmIDB4ODAwMCkqLw0KIAkJdnAtPmZ1bGxfZHVwbGV4
ID0gMTsNCiANCg==
---830399112-1632861162-950295605=:11495--
-------------------------------------------------------------------
To unsubscribe send a message body containing "unsubscribe"
to linux-vortex-bug-request@beowulf.org