Trouble getting ep100 driver to work
Nick Busigin
nick@xwing.org
Fri Jan 15 14:53:52 1999
I have recently bought a couple of SMC9432BTX cards for my home Linux
network. Initially, I tried using the BNC connectors as I had some
existing 10Base2 cable. Unfortunately this didn't work. Then, having
read that many people were having trouble with running the cards using the
BNC connectors I decided to go with CAT 5 cable with RJ45 connectors.
This is also not working for me. :-(
Can anyone on this list provide some interpretation of the diagnostic
information I'm getting from the epic-diag and mii-diag programs? Or
failing that, if you have a working configuration I would appreciate your
running some diagnostic programs so that I can compare their output with
mine.
This is some relevant information about my setup. My appologies for the
length of this post.
Cards: SMC9432BTX
The epic100.c file states:
This driver is for the SMC83c170/175 "EPIC" series, as used on the
SMC EtherPower II 9432 PCI adapter, and several CardBus cards.
The large SMC chip on my card is the: SMC83C171A2QF P, and I'm assuming
that since its within the 170/175 range it *should* work.
Network: My network consists of two computers connected point-to-point
using a CAT 5 cable (with RJ45 connectors) that is wired
using the cross-over wiring configuration shown on page B-5
of the SMC User Guide (because I'm not using a hub).
The only thing different about my cable (and I don't think
this should make any difference) is that my cable has 8
wires, with wires that are not shown as being used on
page B-5 being wired straight through. The technicican
who made up the cable assured me that this should work as
that is what he has done many times and it has worked.
Operating System: Linux
Kernel Version: 2.0.36
I compiled the epic100.c driver (version: v1.04) as a module and am
running it with the following options specified in my /etc/conf.modules
file:
alias eth0 epic100
options epic100 debug=6
I chose the maximum debug level as I thought it would help trouble-shoot
why I can't get the cards/driver to work.
System startup messages as taken from running dmesg after boot-up:
epic100.c:v1.04 8/23/98 Donald Becker
http://cesdis.gsfc.nasa.gov/linux/drivers/epic100.html
eth0: SMC EPIC/100 at 0xd400, IRQ 11, 00:e0:29:1c:2b:af.
eth0: EEPROM contents
e000 e000 e000 e000 e000 e000 e000 e000 e000 e000 e000 e000 e000 e000 e000 e000
e000 e000 e000 e000 e000 e000 e000 e000 e000 e000 e000 e000 e000 e000 e000 e000
e000 e000 e000 e000 e000 e000 e000 e000 e000 e000 e000 e000 e000 e000 e000 e000
e000 e000 e000 e000 e000 e000 e000 e000 e000 e000 e000 e000 e000 e000 e000 e000
eth0: MII transceiver #3 control 3000 status 7809.
eth0: Autonegotiation advertising 01e1 link partner 0001.
eth0: Setting half-duplex based on MII xcvr 3 register read of 0001.
eth0: epic_open() ioaddr d400 IRQ 11 status 0512 half-duplex.
eth0: Media selection tick, Tx status 00004003.
eth0: Other registers are IntMask 733f IntStatus 248000 RxStatus ffff007f.
eth0: Setting full-duplex based on MII #3 link partner capability of 41e1.
eth0: Media selection tick, Tx status 00004003.
eth0: Other registers are IntMask 733f IntStatus 248000 RxStatus ffff007f.
eth0: Media selection tick, Tx status 00004003.
eth0: Other registers are IntMask 733f IntStatus 248000 RxStatus ffff007f.
Output of the mii-diag command:
xwing:/home/nick# ./mii-diag
Using the default interface 'eth0'.
MII PHY #3 transceiver registers:
3000 782d 0181 4401 01e1 41e1 0003 ffff
ffff ffff ffff ffff ffff ffff ffff ffff
0040 0018 ffff ffff ffff ffff ffff ffff
ffff ffff ffff 003e ffff 0048 0000 1dd8.
Basic mode control register 0x3000: 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, auto-negotiation complete.
Vendor ID is 00:60:51:--:--:--, model 0 rev. 1.
Vendor Quality Semiconductor (unknown type).
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 41e1: 100baseTx-FD 100baseTx 10baseT-FD 10baseT.
Negotiation completed.
Relevant lines from 'cat /proc/pci'"
Bus 0, device 12, function 0:
Ethernet controller: SMC 9432 TX (rev 8).
Fast devsel. Fast back-to-back capable. IRQ 11. Master Capable. Latency=32. Min Gnt=8.Max Lat=28.
I/O at 0xd400.
Non-prefetchable 32 bit memory at 0xdd000000.
Output of the 'epic-diag' command with a number of different command line
options:
xwing:/home/nick# ./epic-diag -p 0xd400 -a
The EPIC/100 chip appears to be active, so some registers will not be
read.
To see all register values use the '-f' flag.
EPIC chip registers at 0xd400
0x000: 0000000a 00248000 0000733f 00000512 0000001d 00000061 00000000 00000000
0x020: 00000000 00000000 00000000 0000ffff 00000650 000041e1 00000116 00003c60
0x040: 0000e000 00001c29 0000af2b 00000100 0000ffff 0000ffff 0000ffff 0000ffff
0x060: 00000004 ******** ******** ******** 00003c7f 00002003 ******** ********
0x080: ******** 00fff038 ******** ******** ******** ******** ******** ********
0x0A0: ******** ffff007f ******** ******** ffff03ff ******** ******** ********
0x0C0: ******** 00fff228 ******** ******** ******** ******** ******** 00fff100
0x0E0: ******** ******** ******** ******** ******** ******** ******** ********
No interrupt sources are pending.
Rx status valid indication.
xwing:/home/nick# ./epic-diag -p 0xd400 -e
EEPROM contents:
e000 1c29 af2b 0100 001d 1c08 10b8 a015
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0010 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 4d53 3943 3334 4232
5854 2020 0000 0000 00c0 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
The word-wide EEPROM checksum is 0xee86.
Parsing the EEPROM of a EPIC/100:
Station Address 00:E0:29:1C:2B:AF.
Board name 'SMC9432BTX ', revision 175.
Calculated checksum is 00.
??? Note that the Calculated checksum (above) doesn't match the EEPROM
checksum. Does this indicate a problem?
xwing:/home/nick# ./epic-diag -p 0xd400 -m
MII PHY found at address 3.
MII PHY #3 transceiver registers:
3000 782d 0181 4401 01e1 41e1 0001 ffff
ffff ffff ffff ffff ffff ffff ffff ffff
0040 0018 ffff ffff ffff ffff ffff ffff
ffff ffff ffff 003e ffff 0048 0000 1dd8.
Output of the 'ifconfig eth0' command shortly after boot:
xwing:/home/nick# ./ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:E0:29:1C:2B:AF
inet addr:192.168.10.1 Bcast:192.168.10.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
Collisions:0
Interrupt:11 Base address:0xd400
Output of 'netstat -nr':
xwing:/home/nick# netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
127.0.0.1 0.0.0.0 255.255.255.255 UH 3584 0 0 lo
192.168.10.0 0.0.0.0 255.255.255.0 U 1500 0 0 eth0
Attempt to ping my other computer:
xwing:/home/nick/junk/tmp# ping -c5 belgarath
PING belgarath.xwing.org (192.168.10.20): 56 data bytes
--- belgarath.xwing.org ping statistics ---
5 packets transmitted, 0 packets received, 100% packet loss
And now I run the 'ifconfig eth0' again:
xwing:/home/nick# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:E0:29:1C:2B:AF
inet addr:192.168.10.1 Bcast:192.168.10.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
Collisions:0
Interrupt:11 Base address:0xd400
And the RX and TX fields show that nothing has gone out!
If I look at my ARP table, it shows:
xwing:/home/nick# arp
Address HWtype HWaddress Flags Mask Iface
belgarath.xwing.org (incomplete) eth0
Note that even if I manually load the ARP table, I still can't get things
to work as shown below:
xwing:/home/nick/junk/tmp# arp -s belgarath 00:E0:29:1C:2B:BB
xwing:/home/nick/junk/tmp# arp
Address HWtype HWaddress Flags Mask Iface
belgarath.xwing.org ether 00:E0:29:1C:2B:BB CM eth0
xwing:/home/nick/junk/tmp# ping -c 5 belgarath
PING belgarath.xwing.org (192.168.10.20): 56 data bytes
--- belgarath.xwing.org ping statistics ---
5 packets transmitted, 0 packets received, 100% packet loss
Furthermore, if I examine the /proc/interrupts output, I see only two
interrupts at IRQ11:
11: 2 SMC EPIC/100
which seems rather strange.
Conclusion:
My driver isn't working properly with my network card.
Now... what to do next?
Nick
--------------------------------------------------------------------------
Nick Busigin ...Sent from my Debian/GNU Linux Machine... nick@xwing.org
To obtain my pgp public key, email me with the subject: "get pgp-key"
--------------------------------------------------------------------------
| To unsubscribe, send mail to Majordomo@cesdis.gsfc.nasa.gov, and within the
| body of the mail, include only the text:
| unsubscribe this-list-name youraddress@wherever.org
| You will be unsubscribed as speedily as possible.