Making a PCMCIA network card work?

Leszek Koltunski leszek at serwer.3miasto.net
Sun Apr 3 06:54:38 EDT 2005


Ok, I managed to get this thing working, albeit after quite a lot of 
bald-spot scratching.

1) insert Knoppix 3.3 live-CD
2) watch it configure the CardBus automatically
3) do a 'lsmod' to figure out what modules are necessary
4) recompile 2.6.12-rc1-mm4 with additional PCI network card support
5) reboot into new kernel and modprobe the modules ( 8139too, mii, 
pci_hotplug )
6) cardctl ident suddenly can see the card

utumno:/var/log# cardctl ident
Socket 0:
   product info: "CardBus", "Fast Ethernet"
   manfid: 0x0000, 0x024c
   function: 6 (network)

7) Voilla!

In a second, I am going to find out if it also works with 2.6.11 .

-------------------------------------------------------------------------

What is confusing is that from user's standpoint, any credit-card-sized 
gizmo is a PCMCIA card. So, when I try to make it work, I read PCMCIA 
HOWTO and learn that it is configured by cardmgr. How can I know that it 
is indeed a CardBus thingy and I need standard PCI drivers for it? No 
googling helps in this case, since the card ( Lemel LM-N90TX ) appears to 
be quite obscure. Furthermore, how would I figure out it needs 8139too if 
not for Knoppix?

Questions:

1) Any chance you could reduce the confusion and have *all* hot-swappable 
devices be managed by hotplug, thus removing the need for some obscure 
proggies like cardmgr, cardctl & friends?

2) do I still even need the pcmcia-cs userspace? since hotplug manages 
things, I shouldn't, right? It is quite important as I am building a 
system for a severely memory-constrained set-top-box.

3) do I need the 'pci-hotplug' module at all? Knoppix modprobed it, and it 
sounds like it might be related to a working CardBus card, so I included 
it, too...

4) About ACPI being 'unable to get handler for 0000:03:00.0 , here's 
related part of dmesg:

ttyS0 at I/O 0x3f8 (irq = 4) is a NS16550A
ttyS1 at I/O 0x2f8 (irq = 3) is a NS16550A
ACPI: PCI Interrupt 0000:02:00.0[A] -> Link [LNKA] -> GSI 11 (level, low) 
-> IRQ 11
Yenta: CardBus bridge found at 0000:02:00.0 [1014:0552]
Yenta: Using INTVAL to route CSC interrupts to PCI
Yenta: Routing CardBus interrupts to PCI
Yenta TI: socket 0000:02:00.0, mfunc 0x01d21b22, devctl 0x64
Yenta: ISA IRQ mask 0x04b8, PCI irq 11
Socket status: 30000020
pcmcia: I/O behind socket: 0x4000 - 0x8fff
cs: IO port probe 0x4000-0x8fff: clean.
pcmcia: Memory behind socket: 0xc0200000 - 0xcfffffff
pcmcia: Memory behind socket: 0xe8000000 - 0xefffffff
ACPI: Can't get handler for 0000:03:00.0
8139too Fast Ethernet driver 0.9.27
PCI: Enabling device 0000:03:00.0 (0000 -> 0003)
ACPI: PCI Interrupt 0000:03:00.0[A] -> Link [LNKA] -> GSI 11 (level, low) 
-> IRQ 11
PCI: Setting latency timer of device 0000:03:00.0 to 64
eth1: RealTek RTL8139 at 0xe09fe000, 00:e0:98:b1:96:0e, IRQ 11
eth1:  Identified 8139 chip type 'RTL-8139C'

and 'lspci -vv':

0000:03:00.0 Ethernet controller: Abocom Systems Inc RTL8139 [FE2000VX] CardBus Fast Ethernet Attached Port Adapter (rev 10)
         Subsystem: Abocom Systems Inc RTL8139 [FE2000VX] CardBus Fast Ethernet Attached Port Adapter
         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: 64 (8000ns min, 16000ns max)
         Interrupt: pin A routed to IRQ 11
         Region 0: I/O ports at 4000 [size=256]
         Region 1: Memory at c0400000 (32-bit, non-prefetchable) [size=512]
         Capabilities: [50] Power Management version 2
                 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1+,D2+,D3hot+,D3cold-)
                 Status: D0 PME-Enable- DSel=0 DScale=0 PME-


the card still works, as I said above...

5) On an unrelated note, LIRC ( infrared control ) does not work with 
2.6.12-rc1-mm4:

utumno:/var/log# modprobe lirc_sir
WARNING: Error inserting lirc_dev 
(/lib/modules/2.6.12-rc1-mm4/misc/lirc_dev.ko): Unknown symbol in module, or unknown parameter (see dmesg)
FATAL: Error inserting lirc_sir 
(/lib/modules/2.6.12-rc1-mm4/misc/lirc_sir.ko): Unknown symbol in module, or unknown parameter (see dmesg)

in syslog, we have

Apr  3 18:48:39 localhost kernel: lirc_dev: Unknown symbol class_simple_device_add
Apr  3 18:48:39 localhost kernel: lirc_dev: Unknown symbol class_simple_destroy
Apr  3 18:48:39 localhost kernel: lirc_dev: Unknown symbol class_simple_device_remove
Apr  3 18:48:39 localhost kernel: lirc_dev: Unknown symbol class_simple_create
Apr  3 18:48:39 localhost kernel: lirc_sir: Unknown symbol lirc_unregister_plugin
Apr  3 18:48:39 localhost kernel: lirc_sir: Unknown symbol lirc_register_plugin

LIRC works flawlessly with 2.6.10 and 2.6.11
Where do I report this?

Leszek





More information about the linux-pcmcia mailing list