Re: 3c905C: No MII transceiver present / 10 Mbit, half duplex, no link
Bogdan Velcea <[email protected]> Thu, 9 Oct 2003 10:23:41 +0300 (EEST)
| Newsgroups | gmane.linux.drivers.vortex.devel,gmane.linux.drivers.vortex.user |
|---|---|
| Message-ID | <[email protected]> |
On Wed, 8 Oct 2003, Donald Becker wrote: > On Wed, 8 Oct 2003, Bogdan Velcea wrote: > > > I have 2 ethernet cards 3Com905C (Tornado), that gives me some headaches: > > 1. sometimes the cards negotiate to Half-Duplex instead of Full-Duplex ( even if > > a changed the cables, or the switch ), in random situations ( and sometimes on > > huge amount of traffic ): > > > > 2. the utility from linux, named "mii-tool" gives me wrong informations about > > the status of my ethernet cards ( I asure you that my Cisco Switch tells me that > > both NICs are on auto-100 auto-FD !): > > > > # mii-tool > > eth0: 10 Mbit, half duplex, no link > > eth1: 10 Mbit, half duplex, no link > > What driver version are you using? > From /usr/src/linux-2.4.22/drivers/net/3c59x.c: #define DRV_NAME "3c59x" #define DRV_VERSION "LK1.1.18-ac" #define DRV_RELDATE "1 July 2002" > > 3. the utility "mii-diag" ( that I found on Scyld FTP site: > > ftp://ftp.scyld.com/pub/diag/mii-diag.c with > > ftp://ftp.scyld.com/pub/diag/libmii.c ) seems to not know the MII settings of my > > NICs: > > > > # mii-diag eth0 > > Basic registers of MII PHY #0: 0000 0000 0000 0000 0000 0000 0000 0000. > > No MII transceiver present!. > > The 'mii-diag' program is telling you that the driver isn't reporting a > transceiver. That I understood ... but how it is posible to enable it ? > > > # ./mii-diag --force eth0 > > Basic registers of MII PHY #0: 0000 0000 0000 0000 0000 0000 0000 0000. > > No MII transceiver present!. > > Basic mode control register 0x0000: Auto-negotiation disabled, with > > Speed fixed at 10 mbps, half-duplex. > > Notice that this is the same as the 'mii-too' report, except that > 'mii-diag' told you the status was bogus. > I presumed that too... > > > 4. the "vortex-diag" utility ( from the sime site ) gives me some good > > information, but not that I'm interested ( like Link-State ), and strange > > informations like "MAC settings: half-duplex": > ... > > MII PHY found at address 24, status 782d. > > MII PHY 0 at #24 transceiver registers: > > 1000 782d 0040 6176 0101 41e1 0003 0000 > > Errrkkk. I don't realy know what means the values from this registers :( > > > Transceiver selection: 100baseTX. > > Options: negotiated duplex, link beat required. > > Hmmm, did you change the configuration EEPROM from the default? > What was the driver detection message? > I don't know if this is the default configuration or not :( > > Index #1: Found a 3c905C Tornado 100baseTx adapter at 0xe800. > .. > > Transceiver selection: 100baseTX. > > Options: force full duplex, link beat required. > > Again, this is not the default configuration EEPROM setting! Again ... > > > MII PHY found at address 24, status 782d. > > MII PHY 0 at #24 transceiver registers: > > 1000 782d 0040 6176 05e1 41e1 0003 0000 > > Yet the driver negotiated anyway... Yeap ! From the kernel messages, after I did "modprobe 3c59x debug=5": Oct 9 10:12:32 test kernel: 3c59x: Donald Becker and others. www.scyld.com/network/vortex.html Oct 9 10:12:32 test kernel: See Documentation/networking/vortex.txt Oct 9 10:12:32 test kernel: 00:0f.0: 3Com PCI 3c905C Tornado at 0xe400. Vers LK1.1.18-ac Oct 9 10:12:32 test kernel: 00:01:02:ae:6b:a8, IRQ 5 Oct 9 10:12:32 test kernel: product code 4552 rev 00.13 date 08-04-00 Oct 9 10:12:32 test kernel: Internal config register is 1800000, transceivers 0xa. Oct 9 10:12:32 test kernel: 8K byte-wide RAM 5:3 Rx:Tx split, autoselect/Autonegotiate interface. Oct 9 10:12:32 test kernel: MII transceiver found at address 24, status 782d. Oct 9 10:12:32 test kernel: Enabling bus-master transmits and whole-frame receives. Oct 9 10:12:32 test kernel: 00:0f.0: scatter/gather enabled. h/w checksums enabled Oct 9 10:12:32 test kernel: See Documentation/networking/vortex.txt Oct 9 10:12:32 test kernel: 00:11.0: 3Com PCI 3c905C Tornado at 0xe800. Vers LK1.1.18-ac Oct 9 10:12:32 test kernel: 00:04:76:1c:a4:de, IRQ 10 Oct 9 10:12:32 test kernel: product code 4d57 rev 00.13 date 01-30-01 Oct 9 10:12:32 test kernel: Full duplex capable Oct 9 10:12:32 test kernel: Internal config register is 1800000, transceivers 0xa. Oct 9 10:12:32 test kernel: 8K byte-wide RAM 5:3 Rx:Tx split, autoselect/Autonegotiate interface. Oct 9 10:12:32 test kernel: MII transceiver found at address 24, status 782d. Oct 9 10:12:32 test kernel: Enabling bus-master transmits and whole-frame receives. Oct 9 10:12:32 test kernel: 00:11.0: scatter/gather enabled. h/w checksums enabled > > > 6. I forgot to say that I tryed even to force the settings with this utilities > > and/or with "modprobe 3c59x full_duplex=1 options=4" ! > > Don't do that! Forcing full duplex or forcing the transceiver setting > is almost always incorrect. > I know that is not good. But I wish that NICs to work good. P.S.: I forgot to say that the NICs are on an MB VIA VT82C686 with 2 CPUs Pentium III at 1000MHz ( so I use a compiled kernel for multi-processors ). > -- > Donald Becker [email protected] > Scyld Computing Corporation http://www.scyld.com > 914 Bay Ridge Road, Suite 220 Scyld Beowulf cluster system > Annapolis MD 21403 410-990-9993 > _______________________________________________ vortex mailing list [email protected] http://www.scyld.com/mailman/listinfo/vortex