Please help: 3COM PCI 3c900 won't transmit under Linux

Sorin Mitran
Thu Jan 14 10:29:04 1999


I've recently installed RedHat Linux 5.2 on a dual boot Linux/Win NT
machine. The 3COM 3c900 NIC doesn't transmit under Linux.

ASUS p2L97S Pentium-II 440LX-AGP BIOS V.0105s
Matrox Mystique 220 PCI video card
Adapted AIC7880 UW SCSI (HDD, CD & JAZ)
3COM 3C900 COMBO, Bulk, PCI-Ethernet-Adapter, BNC,AUI,10BT

The machine is on a heterogeneous network of PC's, Mac's and various Unix's
While running Win NT networking works fine:


I've configured Linux with the same parameters. Here are responses from
standard commands.

> ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:60:08:CA:5E:E1
  inet addr: Bcast: Mask:
  RX packets:93 errors:0 dropped:0 overruns:0 frame:0
  TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
  Interrupt:10 Base address:0xb800

(IRQ and Base address match those from Win NT)

> route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface U 0 0 4 eth0 U 0 0 1 lo UG 0 0 0 eth0

The boot messages are:

Memory: sized by int13 088h
Console: 16 point font, 400 scans
Console: colour VGA+ 80x25, 1 virtual console (max 63)
pcibios_init : BIOS32 Service Directory structure at 0x000f9ce0
pcibios_init : BIOS32 Service Directory entry at 0xf0550
pcibios_init : PCI BIOS revision 2.10 entry at 0xf0750
Probing PCI hardware.
Calibrating delay loop.. ok - 233.47 BogoMIPS
Memory: 63136k/65472k available (748k kernel code, 384k reserved, 1204k
Swansea University Computer Society NET3.035 for Linux 2.0
NET3: Unix domain sockets 0.13 for Linux NET3.035.
Swansea University Computer Society TCP/IP for NET3.034
IP Protocols: IGMP, ICMP, UDP, TCP
Swansea University Computer Society IPX 0.34 for NET3.035
IPX Portions Copyright (c) 1995 Caldera, Inc.
Checking 386/387 coupling... Ok, fpu using exception 16 error reporting.
Checking 'hlt' instruction... Ok.
Linux version 2.0.36 ( (gcc version #8 Thu Jan
14 14:58:48 CET 1999
Starting kswapd v
Serial driver version 4.13 with no serial options enabled
tty00 at 0x03f8 (irq = 4) is a 16550A
tty01 at 0x02f8 (irq = 3) is a 16550A
lp1 at 0x0378, (polling)
PS/2 auxiliary pointing device detected -- driver installed.
Real Time Clock Driver v1.09
Ramdisk driver initialized : 16 ramdisks of 4096K size
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
md driver 0.36.3 MAX_MD_DEV=4, MAX_REAL=8
(scsi0) <Adaptec AIC-7880 Ultra SCSI host adapter> found at PCI 6/0
(scsi0) Wide Channel, SCSI ID=7, 16/255 SCBs
(scsi0) Downloading sequencer code... 419 instructions downloaded
scsi0 : Adaptec AHA274x/284x/294x (EISA/VLB/PCI-Fast SCSI) 5.1.2/3.2.4
<Adaptec AIC-7880 Ultra SCSI host adapter>
scsi : 1 host.
Vendor: IBM Model: DCAS-34330W Rev: S61A
Type: Direct-Access ANSI SCSI revision: 02
Detected scsi disk sda at scsi0, channel 0, id 0, lun 0
Vendor: iomega Model: jaz 1GB Rev: J.83
Type: Direct-Access ANSI SCSI revision: 02
Detected scsi removable disk sdb at scsi0, channel 0, id 3, lun 0
Vendor: TOSHIBA Model: CD-ROM XM-3801TA Rev: 1047
Type: CD-ROM ANSI SCSI revision: 02
Detected scsi CD-ROM sr0 at scsi0, channel 0, id 4, lun 0
scsi : detected 1 SCSI cdrom 2 SCSI disks total.
(scsi0:0:0:0) Synchronous at 20.0 Mbyte/sec, offset 8.
SCSI device sda: hdwr sector= 512 bytes. Sectors= 8467200 [4134 MB] [4.1 GB]
(scsi0:0:3:0) Synchronous at 10.0 Mbyte/sec, offset 15.
sdb : READ CAPACITY failed.
sdb : status = 1, message = 00, host = 0, driver = 28
sdb : extended sense code = 2
sdb : block size assumed to be 512 bytes, disk size 1GB.
eth0: 3Com 3c900 Boomerang 10Mbps/Combo at 0xb800, 00:60:08:ca:5e:e1, IRQ 10
8K word-wide RAM 3:5 Rx:Tx split, autoselect/10baseT interface.
Enabling bus-master transmits and whole-frame receives.
eth0: Overriding PCI latency timer (CFLT) setting of 0, new value is 32.
3c59x.c:v0.99E 5/12/98 Donald Becker
Partition check:
sda: sda1 sda2 < sda5 sda6 > sda3 sda4
sdb:scsidisk I/O error: dev 08:10, sector 0, absolute sector 0
unable to read partition table
JAVA Binary support v1.01 for Linux 1.3.98 (C)1996 Brian A. Lantz
VFS: Mounted root (ext2 filesystem) readonly.
Adding Swap: 128516k swap-space (priority -1)
Unable to load NLS charset cp437(nls_cp437)
Unable to load NLS charset iso8859-1(nls_iso8859_1)

I am only able to ping localhost and my own IP ( I
cannot ping any other machine on my LAN (141.52.148.x) or the
gateway ( under Linux (under NT all of this works).

After repeated 'ifconfig eth0' commands, I see that the RX packet count
steadily, but TX remains at 0. The RX LED flashes continuously, the
TX LED doesn't flash at all.

I've recompiled the kernel with a number of 3c59x.c versions (E,H,J and
boomerang.c). The behavior is the same.

I have moderate Linux experience but am a networking newbie.

Could anybody please offer suggestions on how to get my NIC to transmit?

Any help would be greatly appreciated!