3c575 PCMCIA Diagnostics
Ted_Rule@flextech.co.uk
Ted_Rule@flextech.co.uk
Mon Oct 18 12:49:53 1999
I've recently fired up a RedHat 5.2 laptop (kernel 2.0.36 ) with a new
3c575 PCMCIA card in the hope of using it to test 100Mbps connections and
Auto-Negotiation problems.
I've seen warnings about using CardBus cards on 2.0 Kernels in David Hinds
release notes for the PCMCIA code, so I'm aware of possible speed problems
there,
and will eventually upgrade the laptop to RH6.
In the meantime, I've replaced the standard RH PCMCIA rpm with the very latest
code from Dave Hinds PCMCIA site. The very latest code uses Mr Beckers' 3c59x.c
v0.99L code as the basis of the PCMCIA module.
Adding this additional line in config.opts:
[root@techservs /root]# tail /etc/pcmcia/config.opts
module "3c575_cb" opts "debug=4"
which mimics the debug settings to be found in /etc/conf.modules for kernel
loaded modules rather
than pcmcia loaded modules.... I'm now able to get fairly detailed diagnostic
messages for the boot
sequence of the adapter and the MII transceiver's auto-negotiation. I can even
raise the debug level
to completely flood myself with syslog , should I so desire.
The normal boot of the Laptop now gives this:
Mar 8 06:16:04 techservs kernel: eth0: MII transceiver has status 782d.
Mar 8 06:16:04 techservs kernel: eth0: Setting full-duplex based on MII #0 link
partner capability of 45e1.
The MII decode page from Don Becker's website at
http://cesdis.gsfc.nasa.gov/linux/diag/mii-status.html#bmsr
below
shows the decode of this as:
782d as:
0x7800 Capable of 10/100 HD/FD (most common). YES
0x0040 Preamble suppression permitted.
0x0020 Autonegotiation complete. YES
0x0010 Remote fault.
0x0008 Capable of Autonegotiation. YES
0x0004 Link established ("sticky" on link failure) YES
0x0002 Jabber detected ("sticky" on transmit jabber)
0x0001 Extended MII register exist. YES
and the decode of
45e1 as:
0x4000 Link partner got our advertised abilities. YES
0x2000 Fault detected by link partner (uncommon).
0x0400 Flow control supported (currently uncommon) YES
0x0200 100baseT4 supported (uncommon) no
0x0100 100baseTx-FD (full duplex) supported YES
0x0080 100baseTx supported YES
0x0040 10baseT-FD supported YES
0x0020 10baseT supported YES
0x001F Protocol selection bits, always 0x0001 for Ethernet. YES
At some point , I'm going to write a Perl script to parse the syslog for these
message and perform the hex
to human translation of the registers. However, what I'd much prefer is a
command line tool to read the MII
registers.
There IS a tool - "vortex-diag" available on Don Becker's site - for reading the
MII registers on a PCI based
3Com card, but it does not appear to comprehend the possibility that eth0 sits
on a PCMCIA card! No doubt
this is because it's only in the last 2 months that David Hinds has used the
Becker driver for the 3c575 card......
Is there any possibility that vortex-diag will be upgraded to support PCMCIA
cards? or is there perhaps some
other way to decode the registers on a 3c575 ?
Yours, in hope.....
Ted Rule
Flextech Television
===========================================================================
Mar 8 06:16:00 techservs kernel: fn 0 rom: mem 0x60000000-0x6001ffff
Mar 8 06:16:00 techservs kernel: cs: cb_enable(bus 32)
Mar 8 06:16:00 techservs kernel: bridge io map 0 (flags 0x21): 0x400-0x47f
Mar 8 06:16:00 techservs kernel: bridge mem map 0 (flags 0x1):
0x60000000-0x60021fff
Mar 8 06:16:00 techservs kernel: vortex_attach(bus 32, function 0, device 5157)
Mar 8 06:16:00 techservs kernel: eth0: 3Com 3CCFE575 Cyclone CardBus at 0x400,
00:00:86:38:0c:05, IRQ 3
Mar 8 06:16:00 techservs kernel: eth0: CardBus functions mapped
60020000->0403a000
Mar 8 06:16:00 techservs kernel: Internal config register is 600000,
transceivers 0x40.
Mar 8 06:16:00 techservs kernel: 8K byte-wide RAM 5:3 Rx:Tx split, MII
interface.
Mar 8 06:16:00 techservs kernel: MII transceiver found at address 0, status
7809.
Mar 8 06:16:00 techservs cardmgr[2021]: executing: './network start eth0'
Mar 8 06:16:00 techservs kernel: Enabling bus-master transmits and
whole-frame receives.
Mar 8 06:16:01 techservs kernel: eth0: Filling in the Rx ring.
Mar 8 06:16:01 techservs kernel: eth0: Initial media type MII.
Mar 8 06:16:01 techservs kernel: eth0: MII #0 status 7809, link partner
capability 0000, setting half-duplex.
Mar 8 06:16:01 techservs kernel: eth0: vortex_open() InternalConfig 00600000.
Mar 8 06:16:01 techservs kernel: eth0: vortex_open() irq 3 media status 8080.
Mar 8 06:16:01 techservs kernel: eth0: Trying to send a packet, Tx index 0.
Mar 8 06:16:04 techservs kernel: eth0: Media selection timer tick happened,
MII.
Mar 8 06:16:04 techservs kernel: eth0: MII transceiver has status 782d.
Mar 8 06:16:04 techservs kernel: eth0: Setting full-duplex based on MII #0 link
partner capability of 45e1.
Mar 8 06:16:04 techservs kernel: eth0: Media selection timer finished, MII.
Mar 8 06:16:06 techservs kernel: eth0: Trying to send a packet, Tx index 1.
Mar 8 06:16:06 techservs kernel: eth0: Trying to send a packet, Tx index 2.
Mar 8 06:16:06 techservs kernel: eth0: Trying to send a packet, Tx index 3.
Mar 8 06:16:11 techservs kernel: eth0: Trying to send a packet, Tx index 4.
Mar 8 06:16:15 techservs kernel: eth0: Trying to send a packet, Tx index 5.
*****************************************************************
This E-mail message, (including any attachments), is intended
only for the person or entity to which it is addressed,
and may contain confidential information.
If you are not the intended recipient, any review, retransmission,
disclosure, copying, modification or other use of this E-mail message
or attachments is strictly forbidden.
If you have received this E-mail message in error, please contact the
author and delete the message and any attachments from your computer.
You are also advised that the views and opinions expressed in this E-mail
message and any attachments are the author's own, and may not reflect the
views and opinions of FLEXTECH Television.
*****************************************************************