[vortex-bug] 3C905CX-TXM - No packets recieved at all, but TX ok, and no error messages anywhere.

Garnet Chaney gchaney@webmill.com
Sat, 2 Dec 2000 15:10:33 -0800

My problem is the following: My 3C905CX-TXM cards are transmitting, but they
never receive anything.
I am using 3c59x.c, v0.99Qk 7/5/2000 with Linux 1.1.2 release 2.2.14
(Caldera eServer 2.3)
(Previously I was using 3c59x.c v0.99H but I upgraded to Qk driver very
shortly after I first notice problems, and did not keep a copy of 0.99H

 I have two new machines with L440GX+ dual processor motherboards. This
motherboard comes with an Intel PRO/100+ (82559) based nic. I have added a
3C905CX-TXM to each machine. The motherboard NIC's are working fine. But the
3c905cx's, when I try to ping between them, I can use TCPDUMP to watch them
ARPing for each other's address, but neither one seems to hear the request
from the other. (I've used another machine with TCPDUMP to spy on the
traffic between the 4 cards, and compare the Pro/100 traffic to the 3c905
traffic.)   ifconfig on both machines shows  the 3c905's with 1000's of
packets TX, but none on RX, no errors, overruns, nothing.

The /var/log/messges shows no errors for either NIC.
eth0: 3Com 3c905C Tornado at 0x2800 ,00:01:03:27:08:a7, IRQ 18
  8K byte-wide RAM 5:3 Rx:Tx split, autoselect/Autonegotiate interface
  MII transciever found at address 24, status 7809
  Enabling bus-master transmits and whole-frame receives

And just for interest, here is the /var/log/messages about the motherboard
eth1: Intel EtherExpress Pro 10/100 at 0x2880, 00:d0:b7:a8:80:b5, IRQ 21
  Receiver lock-up bug exists -- enabling work-around
   Board assembly 000000-000, Physical connectos present: RJ45
   Primary interface chip i82555 PHY #1.
   General sub-system self-test: passed.
   Internal registers self-test: passed.
   ROM checksum self-test: passed (0x04f4518b)

I made a DOS boot floppy and ran all the 3COM diagnostics on both machines,
including setting up one of the machines as an echo server, and everything
worked fine between the 3com NICs.  The software discovered both NIC
configured for autoselect/autonegotiate.

Some oddities I have noticed:
Loading the 3c59x driver is masking the info about the other card's driver:
- The sysinfo command shows eth0 (3c905)  & eth1 (PRO/100+),  but says that
both are  3COM PCI Etherlink III Vortex 10Mbps, and that they are being
handled by the 3c59x module. If I rmmod 3c59x   then Eth0 goes away, and
Eth1 is properly shown as what it is, with the proper  name and module.

However with the 3c59x loaded, both are reported with their proper interrupt
(18), and (with ifconfig) proper IO address (2800H).

Thanks to Mr. Becker and the team for all the great drivers.