[vortex] 3c905b stuck in 10Mbit mode

Brian Densmore bjdensmr@epsi.net
Sun Dec 2 14:46:01 2001


Help! I can't make it work in 100Mbit mode! I have a 3Com Cyclone 3c905b
10/100 ethernet card in my web server.
The card works in 10Mbit half-duplex mode, but I have been unable to get
it 
to run in any other mode. I don't know what the router it is connected
to is, 
but it is capable of 100Mbit and is the speed I was told to use. 

I am currently running a newly downloaded and compiled 2.2.19 kernel on
top of
what was a Bastille-Linux hardened Mandrake install running a 2.2.14
kernel 
and v0.99x [ x= I don't recall] 3c90x.o module driver.

I upgraded to 2.2.19 and the 3c59x driver for 2.2.19 to fix that
problem. 
Didn't fix it.
Tried forcing 100Mbit mode. Nothing.

I am not getting many tx/rx errors.

dmesg shows:
3c59x.c 18Feb01 Donald Becker and others 
http://www.scyld.com/network/vortex.html
eth0: 3Com 3c905B Cyclone 100baseTx at 0xd000,  00:10:5a:09:8e:f3, IRQ 5
  8K byte-wide RAM 5:3 Rx:Tx split, 10baseT interface.
  Enabling bus-master transmits and whole-frame receives.
eth0: Initial media type 10baseT.

/etc/conf.modules shows:
alias eth0 3c59x
alias parport_lowlevel parport_pc
pre-install pcmcia_core /etc/rc.d/init.d/pcmcia start
alias parport_lowlevel parport_pc
pre-install pcmcia_core /etc/rc.d/init.d/pcmcia start

I have also tried:
alias eth0 3c90x
and the option line below
options 3c59x options=0

and also each of these values too: 1 4 5 6 8 9  and 10
and options debug=3 or debug=7 produces no logging and I'm logging all
kern 
messages

cat /etc/syslog.conf shows:
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.*                                                 /dev/console

... other stuff

# Log all kernel messages to the new file /var/log/kernel
kern.*  /var/log/kernel

# Log all logins to /var/log/loginlog
auth.*;user.*;daemon.none       /var/log/loginlog

# Log additional data to the Alt-F7 and Alt-F8 screens (Pseudo TTY 7 and
8)

*.info;mail.none;authpriv.none  /dev/tty7
authpriv.*      /dev/tty7
*.warn;*.err    /dev/tty7
kern.*  /dev/tty7
mail.*  /dev/tty8
[EOF]


ifconfig reports:

eth0      Link encap:Ethernet  HWaddr 00:10:5A:09:8E:F3
          inet addr:198.70.34.67  Bcast:198.70.34.71
Mask:255.255.255.248
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2303 errors:0 dropped:0 overruns:0 frame:0
          TX packets:997 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          Interrupt:5 Base address:0xd000

eth0:0    Link encap:Ethernet  HWaddr 00:10:5A:09:8E:F3
          inet addr:172.21.12.130  Bcast:172.21.255.255
Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:5 Base address:0xd000

vortex-diag -eemm reports:

vortex-diag.c:v2.05 5/15/2001 Donald Becker (becker@scyld.com)
http://www.scyld.com/diag/index.html
Index #1: Found a 3c905B Cyclone 100baseTx adapter at 0xd000.
EEPROM contents (64 words, offset 0):
0x000: 0010 5a09 8ef3 9055 c4e1 0036 4351 6d50
0x008: 2971 f5ef 0010 5a09 8ef3 8020 0000 0022
0x010: 32a2 0004 0000 0000 0000 0000 0000 10b7
0x018: 9055 000a 0000 0000 0000 0000 0000 0000
0x020: 00c5 0000 0000 0000 0000 0000 0000 0000
0x028: 0000 0000 0000 0000 0000 0000 0000 0000
0x030: 0000 0000 0000 0000 0000 0000 0000 0000
0x038: 0000 0000 0000 0000 0000 0000 0000 0000
The word-wide EEPROM checksum is 0x4c48.
Saved EEPROM settings of a 3Com Vortex/Boomerang:
3Com Node Address 00:10:5A:09:8E:F3 (used as a unique ID only).
OEM Station address 00:10:5A:09:8E:F3 (used as the ethernet address).
Manufacture date (MM/DD/YYYY) 7/1/1998, division 6, product QC.
Options: force full duplex, link beat required.
  Vortex format checksum is incorrect (00ad vs. 10b7).
  Cyclone format checksum is correct (0xc5 vs. 0xc5).
  Hurricane format checksum is correct (0xc5 vs. 0xc5).
MII PHY found at address 1, status 3000.
MII PHY found at address 2, status 3000.
MII PHY found at address 3, status 3000.
MII PHY found at address 4, status 3000.
MII PHY 0 at #1 transceiver registers:
   3000 3000 3000 3000 3000 3000 3000 3000
   3000 3000 3000 3000 3000 3000 3000 3000
   3000 3000 3000 3000 3000 3000 3000 3000
   3000 3000 3000 3000 3000 3000 3000 3000.
MII PHY 1 at #2 transceiver registers:
   3000 3000 3000 3000 3000 3000 3000 3000
   3000 3000 3000 3000 3000 3000 3000 3000
   3000 3000 3000 3000 3000 3000 3000 3000
   3000 3000 3000 3000 3000 3000 3000 3000.
MII PHY 2 at #3 transceiver registers:
   3000 3000 3000 3000 3000 3000 3000 3000
   3000 3000 3000 3000 3000 3000 3000 3000
   3000 3000 3000 3000 3000 3000 3000 3000
   3000 3000 3000 3000 3000 3000 3000 3000.
MII PHY 3 at #4 transceiver registers:
   3000 3000 3000 3000 3000 3000 3000 3000
   3000 3000 3000 3000 3000 3000 3000 3000
   3000 3000 3000 3000 3000 3000 3000 3000
   3000 3000 3000 3000 3000 3000 3000 3000.
MII PHY #1 transceiver registers:
   3000 3000 3000 3000 3000 3000 3000 3000
   3000 3000 3000 3000 3000 3000 3000 3000
   3000 3000 3000 3000 3000 3000 3000 3000
   3000 3000 3000 3000 3000 3000 3000 3000.
Basic mode control register 0x3000: Auto-negotiation enabled.
Basic mode status register 0x3000 ... 3000.
   Link status: not established.
   Capable of  100baseTx 10baseT-FD.
   Unable to perform Auto-negotiation, negotiation not complete.
This transceiver has no vendor identification.
I'm advertising 3000:
   Advertising no additional info pages.
   Using an unknown (non 802.3) encapsulation.
Link partner capability is 3000:.
   Negotiation did not complete.

mii-diag reports:
Using the default interface 'eth0'.
Basic registers of MII PHY #0:  c000 c000 c000 c000 c000 c000 c000 c000.
The autonegotiated capability is 0000.
No common media type was autonegotiated!
This is extremely unusual and typically indicates a configuration error.
Perhaps the advertised capability set was intentionally limited.
Basic mode control register 0xc000: Auto-negotiation disabled, with
Speed fixed at 10 mbps, half-duplex.
  Transceiver in loopback mode!
  Transceiver currently being reset!
Basic mode status register 0xc000 ... c000.
   Link status: not established.
Your link partner advertised c000:.
   End of basic transceiver information.

Thanks in advance,
Brian