Re: via-rhine: NETDEV WATCHDOG: eth0: transmit timed out

From: Marco Colombo (marco@esi.it)
Date: Wed Jun 07 2000 - 10:04:48 EST


On Tue, 6 Jun 2000, Urban Widmark wrote:

> One thing you could try looking at is Donald Becker's hardware diagnostic
> tool for the "rhine" on http://www.scyld.com/diag/. It can be very useful.
>
> % ./via-diag -aa
>
> This will dump the register contents of the chip. By comparing the values
> when the card is working and when it is not might show something. Maybe
> even if the card thinks that it is supposed to send anything.
>
> You can get the (rather minimalistic) datasheet from
> http://www.via.com.tw/pdf/productinfo/vt86c100a.pdf
> and try and decode it (the first 2 lines are the current descriptors 0x00
> - 0x1f is rx, 0x20 - 0x3f is tx, same format as the rx_desc/tx_desc
> structs in the driver source) or send me the output of a few good and bad
> register contents.

This data is old, i mean I already did that, when I pub back the K7V on
line I'll do more tests.

Sorry I can't remember which is the good one and which tha bad. I saved
them only to diff them. Full output "A" is:

via-diag.c:v2.01 5/20/2000 Donald Becker (becker@scyld.com)
 http://www.scyld.com/diag/index.html
Index #1: Found a VIA VT86C100A Rhine 10/100 adapter at 0xa400.
Station address 00:50:ba:c1:e8:93.
  Receive mode is 0x6c: Unknown/invalid.
VIA VT86C100A Rhine 10/100 chip registers at 0xa400
 0x000: c1ba5000 806c93e8 0000085a 4eff0000 00000000 00000000 075a7000 075a7120
 0x020: 80000400 00000600 0759d810 075a7010 80000000 00000600 015ff010 075a7020
 0x040: 80000000 00e085ea 01758c00 075a7130 80000000 00e082c6 01759200 075a7140
 0x060: 063e0878 017591c4 00000000 00061008 782d0100 00000080 00070000 00000000
  No interrupt sources are pending (0000).
Access to the EEPROM has been disabled (0x80).
  Direct reading or writing is not possible.
EEPROM contents (Assumed from chip registers):
0x100: 00 50 ba c1 e8 93 00 00 00 00 00 00 00 00 00 00
0x110: 00 00 00 00 00 00 00 00 06 00 00 00 07 00 73 73
MII PHY found at address 8, status 0x782d.
 MII PHY #8 transceiver registers:
   3100 782d 0181 b800 05e1 41e1 0001 0000
   0000 0000 0000 0000 0000 0000 0000 0000
   0640 8088 6800 0000 0000 0000 0000 0000
   0000 0000 0000 0000 0000 0000 0000 0000.
 MII PHY #8 transceiver registers:
   3100 782d 0181 b800 05e1 41e1 0001 0000
   0000 0000 0000 0000 0000 0000 0000 0000
   0640 8088 6800 0000 0000 0000 0000 0000
   0000 0000 0000 0000 0000 0000 0000 0000.
 Basic mode control register 0x3100: 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:60:6e:--:--:--, model 0 rev. 0.
   Vendor/Part: Davicom DM9101.
 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 41e1: 100baseTx-FD 100baseTx 10baseT-FD 10baseT.
   Negotiation completed.
  Davicom vendor specific registers: 0x0640 0x8088 0x6800.

Output "B" is the same, but for registers:

 0x000: c1ba5000 206c93e8 0000081a 4eff0000 00000000 00000000 075a7000 075a7100
 0x020: 80000400 00000600 0641f810 075a7010 80000000 00000600 0641f010 075a7020
 0x040: 00000000 00e08000 badf00d0 075a7140 00000000 00e08000 badf00d0 075a7140
 0x060: 0778b16c 01758e4e 00000000 00061008 782d0100 00000080 00070000 00000000

I believe "A" is from a stopped state, "B" a working one, but I can't
tell for sure. More to come when the K7V is up again.

[ output is produced with via-diag -aa -ee -m ]

I patched via-diag.c to recognize the chip:

--- via-diag.c Wed Jun 7 16:54:09 2000
+++ via-diag.tm.c Wed Jun 7 16:59:36 2000
@@ -116,7 +116,8 @@
          "VIA VT86C100A Rhine-II", 0x1106, 0x6100, 0xffff,
          0, 128, rhine_diag},
         {" Ethernet controller: VIA Technologies Unknown device",
- "VIA VT3043 Rhine", 0x1106, 0x3043, 0xffff,
+ "VIA VT86C100A Rhine 10/100", 0x1106, 0x3043, 0xffff,
+ 0, 128, rhine_diag},
         {" Ethernet controller: VIA Technologies Unknown device",
          "VIA VT3065 Rhine", 0x1106, 0x3065, 0xffff,
           0, 128, rhine_diag},

description matches the one in /usr/share/pci.ids.

> And since you can get this with 2.2 and different versions of Donalds
> driver (or am I confused again) he may be interested too (unless you've
> already mentioned this to him).
>
> /Urban
>
>

.TM.

-- 
      ____/  ____/   /
     /      /       /			Marco Colombo
    ___/  ___  /   /		      Technical Manager
   /          /   /			 ESI s.r.l.
 _____/ _____/  _/		       Colombo@ESI.it

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Jun 07 2000 - 21:00:29 EST