[tulip] Compaq Presario laptop and tulip PCMCIA card

Jesse F. Hughes jesseh@cs.kun.nl
Thu Mar 7 07:29:02 2002


Donald Becker <becker@scyld.com> writes:

> On 6 Mar 2002, Jesse F. Hughes wrote:
>
> Where are you getting the name "level one"?  Level One makes
> transceivers, but the chip on the Linksys card is from ADMtek.

It's what's printed on the box.  "Level one 10/100Mbps Ethernet PC
Card".

Perhaps a different company of the same name?

> 
> >  Currently, my sound card, the i82365 module and the
> > PCMCIA card are *all* assigned IRQ 9.  Not surprisingly, this leads to
> > problems.
> ...
> > I'm using a 2.2.18 kernel on a slackware distribution.  I am not at
> > the moment using the latest tulip modules, but rather the modules that
> > came with the kernel.  
> > 
> > I briefly tried the latest modules, but it's not clear what chip my
> > card has.  The manfid is 0x13d1, 0xab02 (Linksys Etherfast PCM200 v2).
> 
> See
>   http://www.scyld.com/network/updates.html
> 
> What does the driver report about detecting the card?

Here's what I see in /var/log/messages (when restarting my card services).

-----------------------------------------------------------
Mar  7 11:33:24 diogenes cardmgr[59]: exiting
Mar  7 11:33:26 diogenes kernel: unloading PCMCIA Card Services
Mar  7 11:33:27 diogenes kernel: Linux PCMCIA Card Services 3.1.23
Mar  7 11:33:27 diogenes kernel:   kernel build: 2.2.18 #22 SMP Mon Jan 8 15:05:17 PST 2001
Mar  7 11:33:27 diogenes kernel:   options:  [pci] [cardbus]
Mar  7 11:33:27 diogenes kernel: PCI routing table version 1.0 at 0xfdf70
Mar  7 11:33:27 diogenes kernel: Intel PCIC probe: 
Mar  7 11:33:27 diogenes kernel:   TI 1211 rev 00 PCI-to-CardBus at slot 00:0a, mem 0x68000000
Mar  7 11:33:27 diogenes kernel:     host opts [0]: [ring] [pci + serial irq] [pci irq 9] [lat 32/176] [bus 32/34]
Mar  7 11:33:27 diogenes kernel:     ISA irqs (scanned) = 3 PCI status changes
Mar  7 11:33:27 diogenes cardmgr[466]: starting, version is 3.1.23
Mar  7 11:33:27 diogenes cardmgr[466]: watching 1 sockets
Mar  7 11:33:27 diogenes kernel: cs: IO port probe 0x0c00-0x0cff: excluding 0xcf8-0xcff
Mar  7 11:33:27 diogenes kernel: cs: IO port probe 0x0800-0x08ff: clean.
Mar  7 11:33:27 diogenes kernel: cs: IO port probe 0x0100-0x04ff: excluding 0x200-0x207 0x220-0x22f 0x388-0x38f 0x4d0-0x4d7
Mar  7 11:33:27 diogenes kernel: cs: IO port probe 0x0a00-0x0aff: clean.
Mar  7 11:33:44 diogenes kernel: cs: cb_alloc(bus 32): vendor 0x13d1, device 0xab08
Mar  7 11:33:44 diogenes cardmgr[466]: initializing socket 0
Mar  7 11:33:44 diogenes cardmgr[466]: socket 0: Linksys EtherFast PCM200 v2
Mar  7 11:33:44 diogenes cardmgr[466]: executing: 'modprobe cb_enabler'
Mar  7 11:33:44 diogenes cardmgr[466]: executing: 'modprobe pci-scan'
Mar  7 11:33:44 diogenes cardmgr[466]: executing: 'modprobe cb_shim'
Mar  7 11:33:44 diogenes kernel: cb_shim.c:v1.00 4/15/2000  Donald Becker <becker@scyld.com>
Mar  7 11:33:44 diogenes kernel:  http://www.scyld.com/linux/drivers.html
Mar  7 11:33:44 diogenes cardmgr[466]: executing: 'modprobe tulip'
Mar  7 11:33:44 diogenes kernel: tulip.c:v0.93 11/7/2001  Written by Donald Becker <becker@scyld.com>
Mar  7 11:33:44 diogenes kernel:   http://www.scyld.com/network/tulip.html
Mar  7 11:33:44 diogenes kernel: cs: cb_config(bus 32)
Mar  7 11:33:44 diogenes kernel:   fn 0 bar 1: io 0x800-0x8ff
Mar  7 11:33:44 diogenes kernel:   fn 0 bar 2: mem 0x60060000-0x600603ff
Mar  7 11:33:44 diogenes kernel:   fn 0 rom: mem 0x60040000-0x6005ffff
Mar  7 11:33:44 diogenes kernel:   irq 9
Mar  7 11:33:44 diogenes cardmgr[466]: get dev info on socket 0 failed: No such device
-----------------------------------------------------------

> 
> > When I run tulip-diag -p 0x800, I'm told that a recognized chip has
> > been found, but does not appear to exist in I/O space.  So, I feel
> > that I'm closer to the solution when I use the modules that came with
> > my kernel distribution.
> 
> The diagnostic program is independent of the driver you are using.  You
> should read the kernel message logs to see where the resource assignment
> problem is.  There is usually a work-around that you can configure in
> /etc/pcmcia/config.opts.

I have explicitly added the line "exclude irq 9" to config.opts, but
it doesn't seem to help.

Also, by default, my distribution runs i82365 with the option
"poll-interval=100".  I *thought* that meant that no IRQ would be
assigned to the i82365 module, but it appears I just don't know.

When I changed that option to "irq_list=<some list without 9>", the ds
module wouldn't load.

This is the output from the diagnostic program:

-----------------------------------------------------------
Unable to find a recognized card in /proc/pci.
If there is a card in the machine, explicitly set the I/O port address
  using '-p <ioaddr> -t <chip_type_index>'
 Use '-t -1' to see the valid chip types.
-----------------------------------------------------------

When I offer the options "-p 0x800 -t 17", I am told that a recognized
chip has been found but does not appear to exist in I/O space.
Feeding it the -f flag, I see this:

-----------------------------------------------------------
root@diogenes:~/tulip# ./tulip-diag -p 0x800 -t 17 -f
tulip-diag.c:v2.09 1/28/2002 Donald Becker (becker@scyld.com)
 http://www.scyld.com/diag/index.html
Assuming a ADMtek AL985 Centaur (Linksys CardBus v2) adapter at 0x800.
 Comet duplex is reported in the MII status registers.
 Transmit started, Receive started, full-duplex.
  The Rx process state is 'Transferring Rx frame into memory'.
  The Tx process state is 'Closing Tx descriptor'.
  PCI bus error!: Unknown 7.
  The transmit unit is set to store-and-forward.
 Interrupt sources are pending!  CSR5 is ffffffff.
   Tx done indication.
   Tx complete indication.
   Tx out of buffers indication.
   Transmit Jabber indication.
   Link passed indication.
   Tx FIFO Underflow indication.
   Rx Done indication.
   Receiver out of buffers indication.
   Receiver stopped indication.
   Receiver jabber indication.
   Link changed indication.
   Timer expired indication.
   Link failed indication.
   PCI bus error indication.
   Early Rx indication.
  Comet MAC address registers ffffffff ffffffff
  Comet multicast filter ffffffffffffffff.
WARNING: The EEPROM is missing or erased!
 Use '-a' or '-aa' to show device registers,
     '-e' to show EEPROM contents, -ee for parsed contents,
  or '-m' or '-mm' to show MII management registers.
-----------------------------------------------------------

And this is the relevant section of /proc/pci.

-----------------------------------------------------------
PCI devices found:
  Bus 32, device   0, function  0:
    Ethernet controller: Unknown vendor Unknown device (rev 17).
      Vendor id=13d1. Device id=ab08.
      Medium devsel.  Fast back-to-back capable.  IRQ 9.  
      I/O at 0x800 [0x801].
      Non-prefetchable 32 bit memory at 0x60060000 [0x60060000].
-----------------------------------------------------------

(NOTE: "exclude irq 9" currently appears in my config.opts file,
despite the fact that IRQ 9 is listed above.)

Thanks for any help you can offer and let me know what other
information I should provide.

-- 
"Destiny is a funny thing. Once I thought I was destined to become
 Emperor of Greenland, sole monarch over its 52,000 inhabitants.  Then
 I thought I was destined to build a Polynesian longship in my garage.
 I was wrong then, but I've got it now." -- The Tick