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