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