Making a PCMCIA network card work?

Leszek Koltunski leszek at serwer.3miasto.net
Fri Apr 1 03:22:59 EST 2005


Hello PCMCIA gurus,

The problem: I cannot make a PCMCIA network card ( Lemel LM-N90TX card, 
but I also tried with a Buffalo LPC3-CLX with similar results ) work.
I remember the only time I've used a PCMCIA network card before, back in 
1999 with the 2.2.20 kernel, everything just worked. Did I get dumber or 
what?

System: 2.6.11 , Debian Sarge, Thinkpad R51

What I did: I've compiled my kernel with the following options related to 
PCMCIA:

leszek at utumno:/boot$ cat config-2.6.11 | grep PCMCIA
# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
# PCCARD (PCMCIA/CardBus) support
# CONFIG_PCMCIA_DEBUG is not set
CONFIG_PCMCIA=y
CONFIG_PCMCIA_PROBE=y
# PCMCIA SCSI adapter support
# CONFIG_PCMCIA_AHA152X is not set
# CONFIG_PCMCIA_FDOMAIN is not set
# CONFIG_PCMCIA_NINJA_SCSI is not set
# CONFIG_PCMCIA_QLOGIC is not set
# CONFIG_PCMCIA_SYM53C500 is not set
# CONFIG_PCMCIA_WAVELAN is not set
# CONFIG_PCMCIA_NETWAVE is not set
# CONFIG_PCMCIA_RAYCS is not set
# CONFIG_PCMCIA_WL3501 is not set
# PCMCIA network device support
CONFIG_NET_PCMCIA=y
# CONFIG_PCMCIA_3C589 is not set
# CONFIG_PCMCIA_3C574 is not set
# CONFIG_PCMCIA_FMVJ18X is not set
CONFIG_PCMCIA_PCNET=m
# CONFIG_PCMCIA_NMCLAN is not set
# CONFIG_PCMCIA_SMC91C92 is not set
# CONFIG_PCMCIA_XIRC2PS is not set
CONFIG_PCMCIA_AXNET=m
# PCMCIA character devices
# PCMCIA devices

I also have this yenta_socket compiled as a module.

Then, I compiled the pcmcia-cs package from David Hinds. It told me that 
since I've got PCMCIA support in the kernel, it's going to only build the 
userspace. Fine.

I inserted the Buffalo card ( Googling tells me it uses the axnet_cs 
driver ) and issued "/etc/init.d/pcmcia start"

cardmgr got started and my CPU usage upped to 100%. It looks like cardmgr 
was spamming syslog with infinite number of messages 'Generic or SRAM' :

Mar 30 23:00:07 localhost cardmgr[3935]: watching 1 socket
Mar 30 23:00:07 localhost kernel: cs: IO port probe 0x100-0x4ff: excluding 
0x3b8-0x3df 0x4d0-0x4d7
Mar 30 23:00:07 localhost kernel: cs: IO port probe 0x800-0x8ff: clean.
Mar 30 23:00:07 localhost kernel: cs: IO port probe 0xc00-0xcff: clean.
Mar 30 23:00:07 localhost kernel: cs: IO port probe 0xa00-0xaff: clean.
Mar 30 23:00:07 localhost cardmgr[3936]: starting, version is 3.2.5
Mar 30 23:00:07 localhost kernel: cs: memory probe 0xa0000000-0xa0ffffff: 
clean.
Mar 30 23:00:07 localhost cardmgr[3936]: socket 0: Anonymous Memory
Mar 30 23:00:07 localhost cardmgr[3936]: executing: 'modprobe sram_mtd'
Mar 30 23:00:07 localhost kernel: 2.6. kernels use pcmciamtd instead of 
memory_cs.c and do not require special
Mar 30 23:00:07 localhost kernel: MTD handling any more.
Mar 30 23:00:07 localhost cardmgr[3936]: + FATAL: Module sram_mtd not 
found.
Mar 30 23:00:07 localhost cardmgr[3936]: modprobe exited with status 1
Mar 30 23:00:07 localhost cardmgr[3936]: module 
/lib/modules/2.6.11/pcmcia/sram_mtd.o not available
Mar 30 23:00:07 localhost cardmgr[3936]:   Common memory region at 
0xb7ed0846: Generic or SRAM
Mar 30 23:00:38 localhost last message repeated 1124620 times
Mar 30 23:01:39 localhost last message repeated 2215404 times
Mar 30 23:02:14 localhost last message repeated 1283464 times

and so on...

then I killed cardmrg, modprobed axnet_cs and restarted axnet_cs - no 
difference...
Then i tried to mess with /etc/pcmcia/config.opts - to no avail...

The questions:

- seems like the system recognized my PCMCIA card as a 'memory device' Why 
is that?
- what do I need to do to make the damn card work?

Further symptoms:

output of a few commands with card inserted:

utumno:/var/log# cardctl ident
Socket 0:
   no product info available
utumno:/var/log# cardctl config
Socket 0:
   Vcc 3.3V  Vpp1 3.3V  Vpp2 3.3V
   interface type is "cardbus"
   irq 11 [exclusive] [level]
   function 0:
utumno:/var/log# cat /proc/interrupts
            CPU0
   0:   15860150          XT-PIC  timer
   1:      27281          XT-PIC  i8042
   2:          0          XT-PIC  cascade
   3:          1          XT-PIC  lirc_sir
   8:          4          XT-PIC  rtc
   9:      42258          XT-PIC  acpi
  11:    1504398          XT-PIC  ipw2200, Intel ICH4, uhci_hcd, uhci_hcd, 
uhci_hcd, ehci_hcd, Intel 82801DB-ICH4 Modem, yenta, eth0, 
radeon at PCI:1:0:0
  12:      96554          XT-PIC  i8042
  14:      28219          XT-PIC  ide0
  15:         11          XT-PIC  ide1
NMI:          0
ERR:          0
utumno:/var/log# cat /proc/iomem
00000000-0009efff : System RAM
0009f000-0009ffff : reserved
000a0000-000bffff : Video RAM area
000c0000-000cffff : Video ROM
000d0000-000d0fff : Adapter ROM
000d1000-000d1fff : Adapter ROM
000d2000-000d3fff : reserved
000e0000-000effff : Extension ROM
000f0000-000fffff : System ROM
00100000-1ff5ffff : System RAM
   00100000-00343ad9 : Kernel code
   00343ada-0042637f : Kernel data
1ff60000-1ff76fff : ACPI Tables
1ff77000-1ff78fff : ACPI Non-volatile Storage
1ff80000-1fffffff : reserved
20000000-200003ff : 0000:00:1f.1
20400000-207fffff : PCI CardBus #03
20800000-20bfffff : PCI CardBus #03
   20800000-208001ff : 0000:03:00.0
b0000000-b0000fff : 0000:02:00.0
   b0000000-b0000fff : yenta_socket
c0000000-c00003ff : 0000:00:1d.7
   c0000000-c00003ff : ehci_hcd
c0000800-c00008ff : 0000:00:1f.5
   c0000800-c00008ff : ich_audio MBBAR
c0000c00-c0000dff : 0000:00:1f.5
   c0000c00-c0000dff : ich_audio MMBAR
c0100000-c01fffff : PCI Bus #01
   c0100000-c010ffff : 0000:01:00.0
c0200000-c020ffff : 0000:02:01.0
   c0200000-c020ffff : e1000
c0210000-c0213fff : 0000:02:00.2
c0214000-c0214fff : 0000:02:02.0
   c0214000-c0214fff : ipw2200
c0215000-c02157ff : 0000:02:00.2
c0220000-c023ffff : 0000:02:01.0
   c0220000-c023ffff : e1000
d0000000-dfffffff : 0000:00:00.0
e0000000-e7ffffff : PCI Bus #01
   e0000000-e7ffffff : 0000:01:00.0
ff800000-ffffffff : reserved

lspci -vv part conc. the CardBus bridge:

0000:02:00.0 CardBus bridge: Texas Instruments PCI4520 PC card Cardbus 
Controller (rev 01)
         Subsystem: IBM: Unknown device 0552
         Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- 
ParErr- Stepping- SERR- FastB2B-
         Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
         Latency: 168, Cache Line Size: 0x20 (128 bytes)
         Interrupt: pin A routed to IRQ 11
         Region 0: Memory at b0000000 (32-bit, non-prefetchable) [size=4K]
         Bus: primary=02, secondary=03, subordinate=06, sec-latency=176
         Memory window 0: 20400000-207ff000 (prefetchable)
         Memory window 1: 20800000-20bff000
         I/O window 0: 00004000-000040ff
         I/O window 1: 00004400-000044ff
         BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt- 
PostWrite+
         16-bit legacy interface ports at 0001


I am at a loss here. Could anyone shed some light on this?
In particular, why doesn't cardctl ident recognize the card?

thanks in advance,

Leszek Koltunski





More information about the linux-pcmcia mailing list