[tulip] Trying to set a NetGear FA310TX to 10Mbps--has anyone done this?
Brent Scriver
bscriver@speakeasy.org
Sat, 17 Jun 2000 19:29:37 -0700
This is a multi-part message in MIME format.
------=_NextPart_000_0026_01BFD892.5FF85BC0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
I appreciate the help, hopefully the debug information below will help.
Thanks!
I've also included all of the results as text files.
> I'm concerned why autonegotiation failed though.
When I try to just plug it in direct with autonegotiation (with an x-over
cable, depending on the net card/driver to do it all by itself), I get an
error, about every second on the console saying:
eth0: Transmit timed out, status 02261000, CSR12 0000003c, resetting...
If I do ifconfig eth0 down ; ifconfig eth0 up, the message goes away, but
the connection still isn't happening. If I set it to 10baseT from mii-diag
going to the hub that is currently doing this for me (normally defaults to
100baseTx), it indicates "link status: not established", however, I can ping
out and do other network things. Pinging, etc does not work when the hub is
not there.
The tulip-diag program gives the following analysis of the card (just
tulip-diag -#1):
tulip-diag.c:v2.00 4/19/2000 Donald Becker (becker@scyld.com)
http://www.scyld.com/diag/index.html
Index #1: Found a Lite-On 82c168 PNIC adapter at 0xdc00.
Port selection is 10mpbs-serial, half-duplex.
Transmit started, Receive started, half-duplex.
The Rx process state is 'Waiting for packets'.
The Tx process state is 'Waiting for Tx to finish'.
The transmit threshold is 96.
Use '-a' or '-aa' to show device registers,
'-e' to show EEPROM contents, -ee for parsed contents,
or '-m' or '-mm' to show MII management registers.
So it seems that it autonegotiated correctly, however, from mii-diag...
(mii-diag -v eth0)
mii-diag.c:v2.00 4/19/2000 Donald Becker (becker@scyld.com)
http://www.scyld.com/diag/index.html
MII PHY #1 transceiver registers:
3000 7809 0040 6212 01e1 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
5000 0000 0000 0000 0000 0000 0500 0000
003c 1002 0f00 ff00 002c 4000 0010 000b.
Basic mode control register 0x3000: Auto-negotiation enabled.
Basic mode status register 0x7809 ... 7809.
Link status: not established.
This transceiver is capable of 100baseTx-FD 100baseTx 10baseT-FD
10baseT.
Able to perform Auto-negotiation, negotiation not complete.
MII PHY #1 transceiver registers:
3000 7809 0040 6212 01e1 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
5000 0000 0000 0000 0000 0000 0600 0000
003c 1002 0f00 ff00 002c 4000 0010 000b.
Basic mode control register 0x3000: Auto-negotiation enabled.
Basic mode status register 0x7809 ... 7809.
Link status: not established.
Capable of 100baseTx-FD 100baseTx 10baseT-FD 10baseT.
Able to perform Auto-negotiation, negotiation not complete.
Vendor ID is 00:10:18:--:--:--, model 33 rev. 2.
No specific information is known about this transceiver type.
I'm advertising 01e1: 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.
Both mii-diag and the dsl modem it is connect to believe the connection
isn't happening.
>
> 1) set TULIP_DEBUG in drivers/net/tulip/tulip.h to a minimum debugging
> level. I should probably do this anyway. As it stands now, since we
> are ramping up to 2.4.0, I disabled all debugging messages. You need to
> compile them back in again.
>
Okay, did this and recompiled, since I'm using modules, I shouldn't have to
recompile the kernel, correct? Just a make modules ; make modules_install?
I'm still getting the message when modifying the /etc/conf.modules adding
the debug=1, that parm_debug is an invalid parameter. Even if I do an
insmod direct instead of having it boot up with it in there.
> 2) boot with 'debug' on the kernel command line. ('append="debug"' in
> lilo.conf, if you use LILO)
>
okay, did this
> 3) Make sure /etc/syslog.conf will log debug messages from the kernel
>
set this to /var/log/kernel
> If you could send a debugging dump from tulip-diag to me personally (no
> need to clutter the list), that would be great. Something like the
> following
>
> tulip-diag -mmmaaavvveef > tulip-diag.txt
>
these result are (no other notes from me after these results)...
tulip-diag.c:v2.00 4/19/2000 Donald Becker (becker@scyld.com)
http://www.scyld.com/diag/index.html
Index #1: Found a Lite-On 82c168 PNIC adapter at 0xdc00.
Lite-On 82c168 PNIC chip registers at 0xdc00:
00008000 01ff0000 00000000 01b30000 01b30200 02261000 01026002 0001ebff
00000000 00000000 01b30230 01b30230 0000003c 00000000 00000000 10000001
00000000 00000000 f0041385 000000bf 60fe000b 01b30010 01e66810 0201e878
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Port selection is 10mpbs-serial, half-duplex.
Transmit started, Receive started, half-duplex.
The Rx process state is 'Waiting for packets'.
The Tx process state is 'Waiting for Tx to finish'.
The transmit threshold is 96.
A simplifed EEPROM data table was found.
The EEPROM does not contain transceiver control information.
EEPROM contents:
00a0 cc57 e729 f004 1385 00f1 0000 8a0e
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
ID block CRC 0x35 (vs. 00).
Full contents CRC 0x29a0 (read as 0x0000).
mdio_read(0xdc00, 0, 1).. mdio_read(0xdc00, 1, 1).. MII PHY found at
address 1, status 0x7809.
mdio_read(0xdc00, 2, 1).. mdio_read(0xdc00, 3, 1).. mdio_read(0xdc00, 4,
1).. mdio_read(0xdc00, 5, 1).. mdio_read(0xdc00, 6, 1).. mdio_read(0xdc00,
7, 1).. mdio_read(0xdc00, 8, 1).. mdio_read(0xdc00, 9, 1)..
mdio_read(0xdc00, 10, 1).. mdio_read(0xdc00, 11, 1).. mdio_read(0xdc00, 12,
1).. mdio_read(0xdc00, 13, 1).. mdio_read(0xdc00, 14, 1).. mdio_read(0xdc00,
15, 1).. mdio_read(0xdc00, 16, 1).. mdio_read(0xdc00, 17, 1)..
mdio_read(0xdc00, 18, 1).. mdio_read(0xdc00, 19, 1).. mdio_read(0xdc00, 20,
1).. mdio_read(0xdc00, 21, 1).. mdio_read(0xdc00, 22, 1).. mdio_read(0xdc00,
23, 1).. mdio_read(0xdc00, 24, 1).. mdio_read(0xdc00, 25, 1)..
mdio_read(0xdc00, 26, 1).. mdio_read(0xdc00, 27, 1).. mdio_read(0xdc00, 28,
1).. mdio_read(0xdc00, 29, 1).. mdio_read(0xdc00, 30, 1).. mdio_read(0xdc00,
31, 1).. MII PHY #1 transceiver registers: mdio_read(0xdc00, 1, 0)..
3000 mdio_read(0xdc00, 1, 1).. 7809 mdio_read(0xdc00, 1, 2).. 0040
mdio_read(0xdc00, 1, 3).. 6212 mdio_read(0xdc00, 1, 4).. 01e1
mdio_read(0xdc00, 1, 5).. 0000 mdio_read(0xdc00, 1, 6).. 0000
mdio_read(0xdc00, 1, 7).. 0000 mdio_read(0xdc00, 1, 8)..
0000 mdio_read(0xdc00, 1, 9).. 0000 mdio_read(0xdc00, 1, 10).. 0000
mdio_read(0xdc00, 1, 11).. 0000 mdio_read(0xdc00, 1, 12).. 0000
mdio_read(0xdc00, 1, 13).. 0000 mdio_read(0xdc00, 1, 14).. 0000
mdio_read(0xdc00, 1, 15).. 0000 mdio_read(0xdc00, 1, 16)..
5000 mdio_read(0xdc00, 1, 17).. 0000 mdio_read(0xdc00, 1, 18).. 0000
mdio_read(0xdc00, 1, 19).. 0000 mdio_read(0xdc00, 1, 20).. 0000
mdio_read(0xdc00, 1, 21).. 0000 mdio_read(0xdc00, 1, 22).. 0200
mdio_read(0xdc00, 1, 23).. 0000 mdio_read(0xdc00, 1, 24)..
003c mdio_read(0xdc00, 1, 25).. 1002 mdio_read(0xdc00, 1, 26).. 0f00
mdio_read(0xdc00, 1, 27).. ff00 mdio_read(0xdc00, 1, 28).. 002c
mdio_read(0xdc00, 1, 29).. 4000 mdio_read(0xdc00, 1, 30).. 0010
mdio_read(0xdc00, 1, 31).. 000b.
------=_NextPart_000_0026_01BFD892.5FF85BC0
Content-Type: text/plain;
name="m2-res1.txt"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
filename="m2-res1.txt"
mii-diag.c:v2.00 4/19/2000 Donald Becker (becker@scyld.com)
http://www.scyld.com/diag/index.html
MII PHY #1 transceiver registers:
3000 7809 0040 6212 01e1 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
5000 0000 0000 0000 0000 0000 0500 0000
003c 1002 0f00 ff00 002c 4000 0010 000b.
Basic mode control register 0x3000: Auto-negotiation enabled.
Basic mode status register 0x7809 ... 7809.
Link status: not established.
This transceiver is capable of 100baseTx-FD 100baseTx 10baseT-FD =
10baseT.
Able to perform Auto-negotiation, negotiation not complete.
MII PHY #1 transceiver registers:
3000 7809 0040 6212 01e1 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
5000 0000 0000 0000 0000 0000 0600 0000
003c 1002 0f00 ff00 002c 4000 0010 000b.
Basic mode control register 0x3000: Auto-negotiation enabled.
Basic mode status register 0x7809 ... 7809.
Link status: not established.
Capable of 100baseTx-FD 100baseTx 10baseT-FD 10baseT.
Able to perform Auto-negotiation, negotiation not complete.
Vendor ID is 00:10:18:--:--:--, model 33 rev. 2.
No specific information is known about this transceiver type.
I'm advertising 01e1: 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.
------=_NextPart_000_0026_01BFD892.5FF85BC0
Content-Type: application/msword;
name="rd-res1.doc"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
filename="rd-res1.doc"
tulip-diag.c:v2.00 4/19/2000 Donald Becker (becker@scyld.com)=0A=
http://www.scyld.com/diag/index.html=0A=
Index #1: Found a Lite-On 82c168 PNIC adapter at 0xdc00.=0A=
Port selection is 10mpbs-serial, half-duplex.=0A=
Transmit started, Receive started, half-duplex.=0A=
The Rx process state is 'Waiting for packets'.=0A=
The Tx process state is 'Waiting for Tx to finish'.=0A=
The transmit threshold is 96.=0A=
Use '-a' or '-aa' to show device registers,=0A=
'-e' to show EEPROM contents, -ee for parsed contents,=0A=
or '-m' or '-mm' to show MII management registers.=0A=
------=_NextPart_000_0026_01BFD892.5FF85BC0
Content-Type: application/msword;
name="rd-res2.doc"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
filename="rd-res2.doc"
tulip-diag.c:v2.00 4/19/2000 Donald Becker (becker@scyld.com)=0A=
http://www.scyld.com/diag/index.html=0A=
Index #1: Found a Lite-On 82c168 PNIC adapter at 0xdc00.=0A=
Lite-On 82c168 PNIC chip registers at 0xdc00:=0A=
00008000 01ff0000 00000000 01b30000 01b30200 02261000 01026002 0001ebff=0A=
00000000 00000000 01b30230 01b30230 0000003c 00000000 00000000 10000001=0A=
00000000 00000000 f0041385 000000bf 60fe000b 01b30010 01e66810 0201e878=0A=
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000=0A=
Port selection is 10mpbs-serial, half-duplex.=0A=
Transmit started, Receive started, half-duplex.=0A=
The Rx process state is 'Waiting for packets'.=0A=
The Tx process state is 'Waiting for Tx to finish'.=0A=
The transmit threshold is 96.=0A=
A simplifed EEPROM data table was found.=0A=
The EEPROM does not contain transceiver control information.=0A=
EEPROM contents:=0A=
00a0 cc57 e729 f004 1385 00f1 0000 8a0e=0A=
0000 0000 0000 0000 0000 0000 0000 0000=0A=
0000 0000 0000 0000 0000 0000 0000 0000=0A=
0000 0000 0000 0000 0000 0000 0000 0000=0A=
0000 0000 0000 0000 0000 0000 0000 0000=0A=
0000 0000 0000 0000 0000 0000 0000 0000=0A=
0000 0000 0000 0000 0000 0000 0000 0000=0A=
0000 0000 0000 0000 0000 0000 0000 0000=0A=
ID block CRC 0x35 (vs. 00).=0A=
Full contents CRC 0x29a0 (read as 0x0000).=0A=
mdio_read(0xdc00, 0, 1).. mdio_read(0xdc00, 1, 1).. MII PHY found at =
address 1, status 0x7809.=0A=
mdio_read(0xdc00, 2, 1).. mdio_read(0xdc00, 3, 1).. mdio_read(0xdc00, =
4, 1).. mdio_read(0xdc00, 5, 1).. mdio_read(0xdc00, 6, 1).. =
mdio_read(0xdc00, 7, 1).. mdio_read(0xdc00, 8, 1).. mdio_read(0xdc00, 9, =
1).. mdio_read(0xdc00, 10, 1).. mdio_read(0xdc00, 11, 1).. =
mdio_read(0xdc00, 12, 1).. mdio_read(0xdc00, 13, 1).. mdio_read(0xdc00, =
14, 1).. mdio_read(0xdc00, 15, 1).. mdio_read(0xdc00, 16, 1).. =
mdio_read(0xdc00, 17, 1).. mdio_read(0xdc00, 18, 1).. mdio_read(0xdc00, =
19, 1).. mdio_read(0xdc00, 20, 1).. mdio_read(0xdc00, 21, 1).. =
mdio_read(0xdc00, 22, 1).. mdio_read(0xdc00, 23, 1).. mdio_read(0xdc00, =
24, 1).. mdio_read(0xdc00, 25, 1).. mdio_read(0xdc00, 26, 1).. =
mdio_read(0xdc00, 27, 1).. mdio_read(0xdc00, 28, 1).. mdio_read(0xdc00, =
29, 1).. mdio_read(0xdc00, 30, 1).. mdio_read(0xdc00, 31, 1).. MII PHY =
#1 transceiver registers: mdio_read(0xdc00, 1, 0)..=0A=
3000 mdio_read(0xdc00, 1, 1).. 7809 mdio_read(0xdc00, 1, 2).. 0040 =
mdio_read(0xdc00, 1, 3).. 6212 mdio_read(0xdc00, 1, 4).. 01e1 =
mdio_read(0xdc00, 1, 5).. 0000 mdio_read(0xdc00, 1, 6).. 0000 =
mdio_read(0xdc00, 1, 7).. 0000 mdio_read(0xdc00, 1, 8)..=0A=
0000 mdio_read(0xdc00, 1, 9).. 0000 mdio_read(0xdc00, 1, 10).. 0000 =
mdio_read(0xdc00, 1, 11).. 0000 mdio_read(0xdc00, 1, 12).. 0000 =
mdio_read(0xdc00, 1, 13).. 0000 mdio_read(0xdc00, 1, 14).. 0000 =
mdio_read(0xdc00, 1, 15).. 0000 mdio_read(0xdc00, 1, 16)..=0A=
5000 mdio_read(0xdc00, 1, 17).. 0000 mdio_read(0xdc00, 1, 18).. 0000 =
mdio_read(0xdc00, 1, 19).. 0000 mdio_read(0xdc00, 1, 20).. 0000 =
mdio_read(0xdc00, 1, 21).. 0000 mdio_read(0xdc00, 1, 22).. 0200 =
mdio_read(0xdc00, 1, 23).. 0000 mdio_read(0xdc00, 1, 24)..=0A=
003c mdio_read(0xdc00, 1, 25).. 1002 mdio_read(0xdc00, 1, 26).. 0f00 =
mdio_read(0xdc00, 1, 27).. ff00 mdio_read(0xdc00, 1, 28).. 002c =
mdio_read(0xdc00, 1, 29).. 4000 mdio_read(0xdc00, 1, 30).. 0010 =
mdio_read(0xdc00, 1, 31).. 000b.=0A=
------=_NextPart_000_0026_01BFD892.5FF85BC0--