3c575-TX and Dell Inspiron 7000 : Tx Ring full, refusing to send buffer

Dirk Pandel dpandel@physics.ucsb.edu
Wed Jul 14 18:36:26 1999


I recently installed Red Hat Linux 6.0 on my Dell Inspiron 7000 but I am
not able to get my 3c575-TX Ethernet adapter working properly. Here is the
whole story:

When I boot up Linux or use '/etc/rc.d/init.d/pcmcia start' to start
PCMCIA support I can hear a high beep, which tells me that PCMCIA was
initialized correctly.  But instead of a second high beep I hear a low
beep a minute or two after the first. This tells me that something went
wrong with the network configuration. The PCMCIA card is indeed identified
and configured correctly as you can seen here:

$ cardctl ident
Socket 0:
  product info: "3Com Corporation", "3C575A", "Fast EtherLink XL PC Card", "001"
  manfid: 0x0101, 0x5057
  function: 6 (network)
Socket 1:
  no product info available

$ cardctl config
Socket 0:
  Vcc = 3.3, Vpp1 = 3.3, Vpp2 = 3.3
  Interface type is cardbus
  IRQ 3 is exclusive, level mode, enabled
  Function 0:
    I/O window 1: 0x0100 to 0x013f, 32 bit
Socket 1:
  not configured

There doesn't seem to be an interrupt conflict and the correct module for
this card '3c575_cb.o' is loaded as well. I think the key to this problem
is the following kernel message (see also 'dmesg' and '/var/log/messages'
at end of message):

eth0: Tx Ring full, refusing to send buffer.

Apparently the driver module '3c575_cb.o' is filling the Tx Ring buffer
but the card refuses to send anything over the network. I have no idea why
this is happening. No matter how I change the PCMCIA and Network
configuration files, I always get the same error. This makes me believe
that it is actually a problem with the driver, which is still experimental
(Version 0.99L). However, I have heard from others that they got the 3c575
working without problems. (BTW: The card works fine under Windows 98, what
a surprise.)

I first suspected that the driver does not recognize the correct network
speed. So I connected the card to several 10baseT and 100baseT networks
but always obtained the same error. The indicator lights in the dongle of
the card showed the correct network speed but they were blinking instead
of being on permanently. I suppose this has some meaning.

I am slowly running out of ideas what to try next.
Any help is greatly appreciated.

----------------------------------------
$dmesg
Linux PCMCIA Card Services 3.0.9
  kernel build: 2.2.5-15 #1 Mon Apr 19 23:00:46 EDT 1999
  options:  [pci] [cardbus] [apm]
Intel PCIC probe: 
  TI 1220 PCI-to-CardBus at bus 0 slot 4, mem 0x68000000, 2 sockets
    host opts [0]: [pwr save] [serial pci & irq] [no pci irq] [lat 168/176] [bus 32/34]
    host opts [1]: [pwr save] [serial pci & irq] [no pci irq] [lat 168/176] [bus 35/37]
    ISA irqs (scanned) = 3,4,7,9,10 status change on irq 10
cs: IO port probe 0x1000-0x17ff: clean.
cs: IO port probe 0x0100-0x04ff: excluding 0x378-0x37f 0x4d0-0x4d7
cs: IO port probe 0x0a00-0x0aff: clean.
3c59x.c:v0.99L 5/28/99 Donald Becker http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html
cs: cb_config(bus 32): vendor 0x10b7, device 0x5057
  fn 0 bar 1: io 0x100-0x13f
  fn 0 rom: mem 0xa0000000-0xa000ffff
cs: cb_enable(bus 32)
  bridge io map 0 (flags 0x21): 0x100-0x13f
  bridge mem map 0 (flags 0x1): 0xa0000000-0xa000ffff
vortex_attach(bus 32, function 0, device 5057)
eth0: 3Com 3c575 Boomerang CardBus at 0x100,  00:60:08:02:aa:7a, IRQ 3
  8K word-wide RAM 3:5 Rx:Tx split, autoselect/MII interface.
  MII transceiver found at address 0, status 7809.
  Enabling bus-master transmits and whole-frame receives.
eth0: Tx Ring full, refusing to send buffer.

Messages in /var/log/messages
Jul 13 21:09:49 localhost kernel: Linux PCMCIA Card Services 3.0.9 
Jul 13 21:09:49 localhost kernel:   kernel build: 2.2.5-15 #1 Mon Apr 19 23:00:46 EDT 1999 
Jul 13 21:09:49 localhost kernel:   options:  [pci] [cardbus] [apm] 
Jul 13 21:09:49 localhost kernel: Intel PCIC probe:  
Jul 13 21:09:49 localhost kernel:   TI 1220 PCI-to-CardBus at bus 0 slot 4, mem 0x68000000, 2 sockets 
Jul 13 21:09:49 localhost kernel:     host opts [0]: [pwr save] [serial pci & irq] [no pci irq] [lat 168/176] [bus 32/34] 
Jul 13 21:09:49 localhost kernel:     host opts [1]: [pwr save] [serial pci & irq] [no pci irq] [lat 168/176] [bus 35/37] 
Jul 13 21:09:49 localhost kernel:     ISA irqs (scanned) = 3,4,7,9,10 status change on irq 10 
Jul 13 21:09:49 localhost kernel: cs: IO port probe 0x1000-0x17ff: clean. 
Jul 13 21:09:49 localhost kernel: cs: IO port probe 0x0100-0x04ff: excluding 0x378-0x37f 0x4d0-0x4d7 
Jul 13 21:09:49 localhost kernel: cs: IO port probe 0x0a00-0x0aff: clean. 
Jul 13 21:09:49 localhost cardmgr[910]: starting, version is 3.0.9
Jul 13 21:09:49 localhost cardmgr[910]: watching 2 sockets
Jul 13 21:09:49 localhost cardmgr[910]: initializing socket 0
Jul 13 21:09:49 localhost cardmgr[910]: socket 0: 3Com 3c575-TX Fast EtherLink XL
Jul 13 21:09:50 localhost cardmgr[910]: executing: 'insmod /lib/modules/2.2.5-15/pcmcia/cb_enabler.o'
Jul 13 21:09:50 localhost cardmgr[910]: executing: 'insmod /lib/modules/2.2.5-15/pcmcia/3c575_cb.o'
Jul 13 21:09:50 localhost kernel: 3c59x.c:v0.99L 5/28/99 Donald Becker http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html 
Jul 13 21:09:50 localhost kernel: cs: cb_config(bus 32): vendor 0x10b7, device 0x5057 
Jul 13 21:09:50 localhost kernel:   fn 0 bar 1: io 0x100-0x13f 
Jul 13 21:09:50 localhost kernel:   fn 0 rom: mem 0xa0000000-0xa000ffff 
Jul 13 21:09:50 localhost kernel: vortex_attach(bus 32, function 0, device 5057) 
Jul 13 21:09:50 localhost kernel: eth0: 3Com 3c575 Boomerang CardBus at 0x100,  00:60:08:02:aa:7a, IRQ 3 
Jul 13 21:09:50 localhost kernel:   8K word-wide RAM 3:5 Rx:Tx split, autoselect/MII interface. 
Jul 13 21:09:50 localhost kernel:   MII transceiver found at address 0, status 7809. 
Jul 13 21:09:50 localhost kernel:   Enabling bus-master transmits and whole-frame receives. 
Jul 13 21:09:50 localhost cardmgr[910]: executing: './network start eth0'
Jul 13 21:10:20 localhost kernel: eth0: Tx Ring full, refusing to send buffer. 
Jul 13 21:10:50 localhost cardmgr[910]: + Determining IP information for eth0...Operation failed.
Jul 13 21:10:50 localhost cardmgr[910]: +  failed.
Jul 13 21:10:50 localhost cardmgr[910]: start cmd exited with status 1