[vortex] RE: can't get 3c905 to go half duplex

George Luft gluft@clayton.com
Tue Jun 25 16:27:01 2002


An update to this tale:  apparently, the DOS configuration utility
worked--somewhat.  I thought I disabled autonegotiation, too.  But at least
it's HD.

It still gets Link Jabbers, but less collisions on the hub.  Is it just a
bad NIC?

[root@linuxbox tmp]# ./mii-diag
Using the default interface 'eth0'.
Basic registers of MII PHY #24:  3100 786f 2000 5c01 01e1 40a1 0001 0000.
 The autonegotiated capability is 00a0.
The autonegotiated media type is 100baseTx.
 Basic mode control register 0x3100: Auto-negotiation enabled.
 Basic mode status register 0x786f ... 786f.
   Link status: established.
   *** Link Jabber! ***
 Your link partner advertised 40a1: 100baseTx 10baseT.
   End of basic transceiver information.



I still cannot get my newly compiled modules to work.  I keep getting
unresolved symbol errors.

I even tried downloading netdrivers-3.1-1.src.rpm and following the
instructions on http://www.scyld.com/network/updates.html#rpm.  I get errors
running rpm -bb SPECS/netdriver*.spec.

pci-skeleton.c:140: parse error before string constant
pci-skeleton.c:140: warning: type defaults to `int' in declaration of
`MODULE_LICENSE'
pci-skeleton.c:140: warning: function declaration isn't a prototype
pci-skeleton.c:140: warning: data definition has no type or storage class
make: *** [pci-skeleton.o] Error 1
error: Bad exit status from /var/tmp/rpm-tmp.78444 (%build)


RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.78444 (%build)

Any suggestions?

George


> I can't seem to get this 3c905 card to go half duplex.  No matter what
> program I use to change the options, it still comes up on the hub as
> full duplex and causes collisions galore.
> 
> I've used the DOS program 3C90XCFG.EXE, as well as mii-diag and
> vortex-diag.  3C90XCFG says that the settings are 100BaseTX and Full
> Duplex is disabled, but it still operates FD.
> 
> I've even tried compiling the latest 3c59x.o--and pci-scan--but that's
> another story.  (unresolved symbols!!!)  If anyone wants to tackle
> that one, I'm running RedHat 7.2 kernel 2.4.7-10 with kernel, headers,
> and source RPMs installed.
> 
> Can anyone help with this?
> 
> George
> 
> Here's the version of the driver:
> 3c59x: Donald Becker and others. www.scyld.com/network/vortex.html
> 00:0d.0: 3Com PCI 3c905 Boomerang 100baseTx at 0xff00. Vers LK1.1.16
> 
> This is what happens when I try to update the settings with the scyld
> utilities:
> [root@linuxbox tmp]# ./mii-diag -fw -AF 100baseTx-HD eth0
> SIOCGMIIPHY on 100baseTx-HD failed: No such device
> 
> [root@linuxbox tmp]# ./vortex-diag -fw -AF 100baseTx-HD eth0
> vortex-diag.c:v2.06 4/18/2002 Donald Becker (becker@scyld.com)
>  http://www.scyld.com/diag/index.html
> Index #1: Found a 3c905 Boomerang 100baseTx adapter at 0xff00.
>  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.
> 
> These are all of the registers:
> 
> [root@linuxbox tmp]# ./vortex-diag -aa
> vortex-diag.c:v2.06 4/18/2002 Donald Becker (becker@scyld.com)
>  http://www.scyld.com/diag/index.html
> Index #1: Found a 3c905 Boomerang 100baseTx adapter at 0xff00.
> The Vortex chip may be active, so FIFO registers will not be read.
> To see all register values use the '-f' flag.
> Initial window 4, registers values by window:
>   Window 0: 0000 0000 0000 0000 0000 00bf ffff 0000.
>   Window 1: FIFO FIFO 0000 2000 001c 007e 13fc 2000.
>   Window 2: 6000 da97 557f 0000 0000 0000 06c6 4000.
>   Window 3: 02d8 0063 0000 0020 e040 0bff 13ff 6000.
>   Window 4: 0000 06d0 0000 0cc0 0003 8802 0000 8000.
>   Window 5: 1ffc fffc 06c6 0600 0007 06ce 06c6 a000.
>   Window 6: 0000 0000 0000 db00 0000 50ed 2a74 c000.
>   Window 7: 54c8 032f 0000 0000 8000 0020 5008 e000.
> Vortex chip registers at 0xff00
>   0xFF10: **FIFO** 00000000 00008000 *STATUS*
>   0xFF20: 00000021 00000000 02f4c012 060105d2
>   0xFF30: 00000000 00007676 032f51b0 00000000
>  Indication enable is 06c6, interrupt enable is 06ce.
>  No interrupt sources are pending.
>  Transceiver/media interfaces available:  MII.
> Transceiver type in use:  MII.
>  MAC settings: full-duplex.
> Maximum packet size is 0.
>  Station address set to 00:60:97:da:7f:55.
>  Configuration options 06c6.
> 
> [root@linuxbox tmp]# ./vortex-diag -ee
> vortex-diag.c:v2.06 4/18/2002 Donald Becker (becker@scyld.com)
>  http://www.scyld.com/diag/index.html
> Index #1: Found a 3c905 Boomerang 100baseTx adapter at 0xff00.
> EEPROM format 64x16, configuration table at offset 0:
>     00: 0060 97da 7f55 9050 c29d 0036 4848 6d50
>   0x08: 0418 0001 0060 97da 7f55 0010 0000 0000
>   0x10: 10a6 0000 02d8 0063 0000 0003 0000 0095
>       ...
> 
>  The word-wide EEPROM checksum is 0x507b.
> Saved EEPROM settings of a 3Com Vortex/Boomerang:
>  3Com Node Address 00:60:97:DA:7F:55 (used as a unique ID only).
>  OEM Station address 00:60:97:DA:7F:55 (used as the ethernet address).
>   Device ID 9050,  Manufacturer ID 6d50.
>   Manufacture date (MM/DD/YYYY) 4/29/1997, division 6, product HH.
>   No BIOS ROM is present.
>  Options: negotiated duplex, link beat required.
>   Vortex format checksum is correct (0095 vs. 0095).
>   Cyclone format checksum is incorrect (00 vs. 0xff).
>   Hurricane format checksum is incorrect (00 vs. 0xff).
> 
> [root@linuxbox tmp]# ./vortex-diag -mm
> vortex-diag.c:v2.06 4/18/2002 Donald Becker (becker@scyld.com)
>  http://www.scyld.com/diag/index.html
> Index #1: Found a 3c905 Boomerang 100baseTx adapter at 0xff00.
>  MII PHY found at address 24, status 786f.
>  MII PHY 0 at #24 transceiver registers:
>    3100 786f 2000 5c01 01e1 45e1 0001 0000
>    0000 0000 0000 0000 0000 0000 0000 0000
>    0000 0000 0000 03a0 0000 0000 0001 8060
>    8020 0cb8 0000 1800 a3b9 0085 6f05 001b.
>  MII PHY #24 transceiver registers:
>    3100 786f 2000 5c01 01e1 45e1 0001 0000
>    0000 0000 0000 0000 0000 0000 0000 0000
>    0000 0000 0000 0000 0000 0000 0001 8060
>    8020 0cb8 0000 1800 a3b9 0086 4605 001b.
>  Basic mode control register 0x3100: Auto-negotiation enabled.
>  Basic mode status register 0x786f ... 786f.
>    Link status: established.
>    Capable of  100baseTx-FD 100baseTx 10baseT-FD 10baseT.
>    Able to perform Auto-negotiation, negotiation complete.
>    *** Link Jabber! ***
>  Vendor ID is 08:00:17:--:--:--, model 0 rev. 1.
>    Vendor/Part: National Semiconductor 83840A.
>  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 45e1: Flow-control 100baseTx-FD 100baseTx
> 10baseT-FD 10baseT.
>    Negotiation  completed.
>