My 2 pcmcia-cards don't work

What works, and doesn't, for you. Be specific, and please include Puppy version.
Post Reply
Message
Author
germanix
Posts: 40
Joined: Thu 30 Dec 2010, 16:32

My 2 pcmcia-cards don't work

#1 Post by germanix »

I have two pcmcia cards. The one is a USB-2.0-pcmcia-cardbus-card. The other is a TP.-Link 10/100-fast-ethernet-adapter TF-5239. Both don't work under puppy wary 5.

First I tried the USB-2.0-pcmcia-cardbus-card. I used the wakepup disk image to boot. And i found out that the USB-card works under freedos. So the question is: How come that it doesn't work under puppy wary 5?

This is lsmod-output:
  • Module Size Used by
    snd 56292 0
    soundcore 7008 1 snd
    usbhid 26944 0
    usbcore 143472 1 usbhid
    battery 9872 0
    evdev 9536 0
    serio_raw 5264 0
    pcspkr 2348 0
    apm 16648 1
    fuse 58888 0
    aufs 153580 480
    nls_iso8859_1 3724 1
    nls_cp437 5356 0
    squashfs 22480 1
    yenta_socket 23928 2
    rsrc_nonstatic 11436 1 yenta_socket
    nls_cp850 4524 1
This is lspci-output:
  • 00:00.0 Host bridge: PicoPower Technology National PC87550 System Controller (rev 02)
    00:02.0 VGA compatible controller: S3 Inc. 86cM65 [Aurora64V+] (rev 43)
    00:04.0 CardBus bridge: Texas Instruments PCI1131 (rev 01)
    00:04.1 CardBus bridge: Texas Instruments PCI1131 (rev 01)
    00:05.0 ISA bridge: PicoPower Technology PT86C523 [Vesuvius v3] PCI-ISA Bridge Slave
    00:06.0 IDE interface: Silicon Image, Inc. PCI0643
This is part of dmesg:
  • yenta_cardbus 0000:00:04.0: CardBus bridge found [0000:0000]
    yenta_cardbus 0000:00:04.0: no PCI IRQ, CardBus support disabled for this socket.
    yenta_cardbus 0000:00:04.0: check your BIOS CardBus, BIOS IRQ or ACPI settings.
    yenta_cardbus 0000:00:04.0: ISA IRQ mask 0x06b8, PCI irq 0
    yenta_cardbus 0000:00:04.0: Socket status: 30000006
    yenta_cardbus 0000:00:04.1: CardBus bridge found [0000:0000]
    yenta_cardbus 0000:00:04.1: no PCI IRQ, CardBus support disabled for this socket.
    yenta_cardbus 0000:00:04.1: check your BIOS CardBus, BIOS IRQ or ACPI settings.
    input: PS/2 Generic Mouse as /devices/platform/i8042/serio1/input/input1
    yenta_cardbus 0000:00:04.1: ISA IRQ mask 0x06b8, PCI irq 0
    yenta_cardbus 0000:00:04.1: Socket status: 30000020
    pcmcia_socket pcmcia_socket1: cs: cardbus cards are not supported.
I should mention there is a PCMCIA-Cardbus PCI 1131 (TexasInstruments).
Any ideas to get the pcmcia-cards work?

germanix
Posts: 40
Joined: Thu 30 Dec 2010, 16:32

http://pcmcia-cs.sourceforge.net/ftp/doc/PCMCIA-HOWTO.html

#2 Post by germanix »

I found this pcmcia howto in the web.
http://pcmcia-cs.sourceforge.net/ftp/do ... HOWTO.html

And so i found this pcmcia-cs-3.2.8-package.
It contains some pcmcia-debug tools.

I typed in my shell: # uname -r
So i know: my kernel is a 2.6.31.14

And so i compiled this package.
Now i've built this pet:

germanix
Posts: 40
Joined: Thu 30 Dec 2010, 16:32

#3 Post by germanix »

This seems to be the last version of pcmcia-cs at http://sourceforge.net/projects/pcmcia-cs
But i think i won't need it...
Last edited by germanix on Thu 06 Jan 2011, 19:36, edited 4 times in total.

germanix
Posts: 40
Joined: Thu 30 Dec 2010, 16:32

latest howtos & sources

#4 Post by germanix »


germanix
Posts: 40
Joined: Thu 30 Dec 2010, 16:32

#5 Post by germanix »

Last edited by germanix on Thu 06 Jan 2011, 23:01, edited 3 times in total.

germanix
Posts: 40
Joined: Thu 30 Dec 2010, 16:32

#6 Post by germanix »

It's important to know, whether the PC Card is a Cardbus or 16-bit-Card:
"CardBus PC Cards have an extra metal grounding strip on top of the cards right over the connector. 16-bit PC Cards do not have this connector."

It's also important to know, whether the PC Card host computer has CardBus or 16-bit, because you cannot run a CardBus PC Card in a 16-bit PC Card slot:
On linux: You should run the hardware information of your system and search for "PCI-Devices". There schould be an entry. Or you use the lspci command
But almost all CardBus hosts will accept a 16-bit card.

In my case: My cards are both Cardbus-PC-Cards and I have 2 cardbus slots (both: Texas Instruments PCI1131).

User avatar
Aitch
Posts: 6518
Joined: Wed 04 Apr 2007, 15:57
Location: Chatham, Kent, UK

#7 Post by Aitch »

Hi germanix

The good news is you don't have 5v 16bit pcmcia as later 3.3v pcmcia/cardbus cards won't plug in!

The PCI1131 is a bridge between the PCI system bus and two PC Card sockets, but no guarantee the sockets are 32 bit cardbus or 16 bit pcmcia.

It could be a bios issue, or acpi as your logs suggest
check your BIOS CardBus, BIOS IRQ or ACPI settings.
however it also says:-
pcmcia_socket pcmcia_socket1: cs: cardbus cards are not supported.
I'd check the bios first and see if there are any settings to enable it, acpi, or irq - turn off plug'n'pray [sorry - play]

puppy sometimes needs boot parameters set at the 5 second startup page, type:

puppy acpi=force, or acpi=noirq, or acpi=off

also try adding after whichever acpi doesn't cause problems:

pci=biosirq, or irqpoll, or routeirq

Sorry not to be more specific, but hardware and bois's vary a lot
Some bios settings need 'quickboot' set to off, if you have that type of bios?

I'm afraid puppy's boot params page is out of date

http://puppylinux.org/wikka/BootParams

HTH

Perhaps if you post the actual make and model of the Laptop, it would help identify its pcmcia specs?

You may need to be lucky enough to locate 16 bit pcmcia Lancard/usb cards

Xircom CreditCard Ethernet 10/100 with dongle

more info

http://www.quatech.com/support/comm-over-pcmcia.php

Aitch :)

germanix
Posts: 40
Joined: Thu 30 Dec 2010, 16:32

#8 Post by germanix »

Thank you for replying.
The PCI1131 is a bridge between the PCI system bus and two PC Card sockets, but no guarantee the sockets are 32 bit cardbus or 16 bit pcmcia.
It's a 32 bit Cardbus bridge. And it did work under freedos. See my lspci-output above:
  • 00:04.0 CardBus bridge: Texas Instruments PCI1131 (rev 01)
    00:04.1 CardBus bridge: Texas Instruments PCI1131 (rev 01)
But you are right, it could be a bios issue or acpi or irq issue. The laptop is an old CANON BN 750. There are no special cardbus bios settings to enable it.
I didn't post it, but I tried different boot parameters. I use grub4dos to start puppy linux. And I started vmlinuz with these options:
  • pci=biosirq
    => booting process stopped

    pci=acpi
    => booting, no special effects, no success

    acpi=off pci=bios
    => booting, no special effects, no success

    acpi=off pci=irqmask=0x02b8
    => There I've found a good explanation for these settings.
    => I tried different irqmasks, no special effects, no success
But I've found in my dmesg some more interesting informations:
  • Allocating PCI resources starting at 4000000 (gap: 4000000:fbfc0000)

    PCI: PCI BIOS revision 2.10 entry at 0xeb070, last bus=2
    PCI: Using configuration type 1 for base access

    PCI: Probing PCI hardware
    PCI: Probing PCI hardware (bus 00)

    pci 0000:00:00.0: reg 10 io port: [0x3000-0x301f]
    pci 0000:00:02.0: reg 10 32bit mmio: [0x80000000-0x83ffffff]
    pci 0000:00:02.0: reg 30 32bit mmio: [0xc000000-0xc00ffff]
    pci 0000:00:04.0: reg 10 32bit mmio: [0x000000-0x000fff]
    pci 0000:00:04.1: reg 10 32bit mmio: [0x000000-0x000fff]
    pci 0000:00:06.0: reg 10 io port: [0x1f0-0x1ff]
    pci 0000:00:06.0: reg 14 io port: [0x3f4-0x3f7]
    pci 0000:00:06.0: reg 18 io port: [0x170-0x17f]
    pci 0000:00:06.0: reg 1c io port: [0x374-0x377]
    pci 0000:00:06.0: reg 20 io port: [0x500-0x50f]

    pci 0000:00:04.0: CardBus bridge, secondary bus 0000:01
    pci 0000:00:04.0: IO window: 0x001000-0x0010ff
    pci 0000:00:04.0: IO window: 0x001400-0x0014ff
    pci 0000:00:04.0: PREFETCH window: 0x4000000-0x7ffffff
    pci 0000:00:04.0: MEM window: 0x8000000-0xbffffff
    pci 0000:00:04.1: CardBus bridge, secondary bus 0000:05
    pci 0000:00:04.1: IO window: 0x001800-0x0018ff
    pci 0000:00:04.1: IO window: 0x001c00-0x001cff
    pci 0000:00:04.1: PREFETCH window: 0x10000000-0x13ffffff
    pci 0000:00:04.1: MEM window: 0x14000000-0x17ffffff
    pci 0000:00:04.0: can't find IRQ for PCI INT A; please try using pci=biosirq
    pci 0000:00:04.0: setting latency timer to 64
    pci 0000:00:04.1: can't find IRQ for PCI INT B; please try using pci=biosirq
    pci_bus 0000:00: resource 0 io: [0x00-0xffff]
    pci_bus 0000:00: resource 1 mem: [0x000000-0xffffffff]
    pci_bus 0000:01: resource 0 io: [0x1000-0x10ff]
    pci_bus 0000:01: resource 1 io: [0x1400-0x14ff]
    pci_bus 0000:01: resource 2 pref mem [0x4000000-0x7ffffff]
    pci_bus 0000:01: resource 3 mem: [0x8000000-0xbffffff]
    pci_bus 0000:05: resource 0 io: [0x1800-0x18ff]
    pci_bus 0000:05: resource 1 io: [0x1c00-0x1cff]
    pci_bus 0000:05: resource 2 pref mem [0x10000000-0x13ffffff]
    pci_bus 0000:05: resource 3 mem: [0x14000000-0x17ffffff]

    pci 0000:00:02.0: Boot video device
    isapnp: Scanning for PnP cards...
    isapnp: No Plug & Play device found

    yenta_cardbus 0000:00:04.0: CardBus bridge found [0000:0000]
    yenta_cardbus 0000:00:04.0: no PCI IRQ, CardBus support disabled for this socket.
    yenta_cardbus 0000:00:04.0: check your BIOS CardBus, BIOS IRQ or ACPI settings.
    yenta_cardbus 0000:00:04.0: ISA IRQ mask 0x06b8, PCI irq 0
    yenta_cardbus 0000:00:04.0: Socket status: 30000006
    yenta_cardbus 0000:00:04.1: CardBus bridge found [0000:0000]
    yenta_cardbus 0000:00:04.1: no PCI IRQ, CardBus support disabled for this socket.
    yenta_cardbus 0000:00:04.1: check your BIOS CardBus, BIOS IRQ or ACPI settings.
    input: PS/2 Generic Mouse as /devices/platform/i8042/serio1/input/input1
    yenta_cardbus 0000:00:04.1: ISA IRQ mask 0x06b8, PCI irq 0
    yenta_cardbus 0000:00:04.1: Socket status: 30000020
    pcmcia_socket pcmcia_socket1: cs: cardbus cards are not supported.

    usbcore: registered new interface driver usbfs
    usbcore: registered new interface driver hub
    usbcore: registered new device driver usb
    usbcore: registered new interface driver hiddev
    usbcore: registered new interface driver usbhid
    usbhid: v2.6:USB HID core driver
    pcmcia_socket pcmcia_socket0: cs: IO port probe 0xc00-0xcff: clean.
    pcmcia_socket pcmcia_socket0: cs: IO port probe 0x820-0x8ff: clean.
    pcmcia_socket pcmcia_socket0: cs: IO port probe 0x3e0-0x4ff: clean.
    pcmcia_socket pcmcia_socket0: cs: IO port probe 0x100-0x3af: excluding 0x220-0x22f 0x278-0x27f 0x330-0x337 0x340-0x35f 0x378-0x37f 0x388-0x38f
    pcmcia_socket pcmcia_socket0: cs: IO port probe 0xa00-0xaff: clean.
    pcmcia_socket pcmcia_socket1: cs: IO port probe 0xc00-0xcff: clean.
    pcmcia_socket pcmcia_socket1: cs: IO port probe 0x820-0x8ff: clean.
    pcmcia_socket pcmcia_socket1: cs: IO port probe 0x3e0-0x4ff: clean.
    pcmcia_socket pcmcia_socket1: cs: IO port probe 0x100-0x3af: excluding 0x220-0x22f 0x278-0x27f 0x330-0x337 0x340-0x35f 0x378-0x37f 0x388-0x38f
    pcmcia_socket pcmcia_socket1: cs: IO port probe 0xa00-0xaff: clean.

User avatar
Aitch
Posts: 6518
Joined: Wed 04 Apr 2007, 15:57
Location: Chatham, Kent, UK

#9 Post by Aitch »

I think you may need tempestuous's help on this, as I'm now at the end of my knowledge

http://www.murga-linux.com/puppy/profil ... file&u=217

I can't find anything useful for that laptop, except:

http://reviews.cnet.com/laptops/canon-l ... 00062.html

It may just be that we're barking up the wrong tree and it's a driver issue for the cards you trying to put in.....

Aitch :)

germanix
Posts: 40
Joined: Thu 30 Dec 2010, 16:32

#10 Post by germanix »

Thank you for your reply.
I think there are two steps.

1) Loading modules for the pcmcia-cards:
This should be for the one card only 8139too. So I think there's no problem.
The other card might need no special module.

2) Loading modules for bridges:
During booting process there is loaded this pcmcia-module yenta_socket.
I tried to remove it using shell-console: # rmmod yenta_socket
Then there occurs an error that it cannot be removed.
Because there are two other modules in use: pcmcia_core and rsrc_nonstatic.
So I suppose that pcmcia_core is implemented in the linux kernel.

Then I found out that there should be a special module for this CardBus bridge: Texas Instruments PCI1131.
This module should be implemented in module i82365. So I tried to load i82365, but there occurs an error. Suspect.

=> So now, what to do?
There is a good idea to try early/older puppies. Perhaps their pcmcia support is a better one.
Then I'll have a look inside of these older pcmcia-cs packages.
And I'll have a look inside of these pcmciautils-packages.
Perhaps I can get more informations there.
Or I can compile with other options (e.g. supporting hotplug instead of udev or s.th. like this)

User avatar
Aitch
Posts: 6518
Joined: Wed 04 Apr 2007, 15:57
Location: Chatham, Kent, UK

#11 Post by Aitch »

=> So now, what to do?
I've PM'd tempestuous, with a link here :wink:

good luck

Aitch :)

tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#12 Post by tempestuous »

pcmcia troubleshooting information here
http://www.murga-linux.com/puppy/viewto ... 1707#31707
see the "July 2008 update" section.

And forum member tubby reports that pcmcia services fail to be initialised in Puppy 5.1.x
http://murga-linux.com/puppy/viewtopic. ... 413#461413
tubby's fix is consistent with the diagnostic commands I explained above.

User avatar
Aitch
Posts: 6518
Joined: Wed 04 Apr 2007, 15:57
Location: Chatham, Kent, UK

#13 Post by Aitch »

Thanks, tempestuous

Aitch :)

germanix
Posts: 40
Joined: Thu 30 Dec 2010, 16:32

#14 Post by germanix »

I've tried what you've suggested. But no success.

Code: Select all

pccardctl eject
pccardctl insert
pccardctl status
pccardctl ident
I cannot see my device listed.
I restarted pcmciautils

Code: Select all

pcmcia-socket-startup
The "CardBus bridge: Texas Instruments PCI1131" seems to be managed by the yenta_socket-module.
But I cannot see the cards.
So what to do now?

germanix
Posts: 40
Joined: Thu 30 Dec 2010, 16:32

#15 Post by germanix »

It seems that NO cardbus cards are supported by puppy linux till now,
because of the special compiling of puppy linux...
Strange, isn't it?:(
Otherwise someone (e.g. Mr. tempestuous) would have answered...
Thank you.

mcewanw
Posts: 3169
Joined: Thu 16 Aug 2007, 10:48
Contact:

#16 Post by mcewanw »

I had what turned out to be a pcmcia card detection problem recently ( http://www.murga-linux.com/puppy/viewto ... 373#456373 ) and this suggestion from peebee fixed it:

http://www.murga-linux.com/puppy/viewto ... 392#446392

As per the suggestion I needed to execute the pcmcia-socket-startup command after downloading the pcmciautils package.

EDIT: Sorry, just noticed, you already tried that and it didn't work for you.
github mcewanw

germanix
Posts: 40
Joined: Thu 30 Dec 2010, 16:32

#17 Post by germanix »

The pcmcia-socket-startup command is included in the pcmciautils package.
The last version is pcmciautils-017.tar.gz
This Pcmcia-HOWTO explains how to configure this package.
And there is a short describing how to compile and install pcmciautils.

First you should make a backup copy of your /etc/pcmcia/config.opts
You can find three other different versions of config.opts in this pcmciautils-017 package.

My kernel is a 2.6.31.14. And I configured and compiled this pcmciautils-017 package four times:
1) STARTUP=false / UDEV = false
That means you need no resource database and you use hotplug.
2) STARTUP=false / UDEV = true
That means you need no resource database and you use udev.
3) STARTUP=true / UDEV = false
That means you need a resource database and you use hotplug.
4) STARTUP=true / UDEV = true (default)
That means you need a resource database and you use udev.

So I can try and find out which way could be successful.:) Using puppy package manager or command petget.
Don't forget to put your original /etc/pcmcia/config.opts back to where it was if you need your original config.opts
Attachments
pcmciautils-017-i386-STARTUP_false-UDEV_false.pet
STARTUP = false / UDEV = false: That means you need no resource database and you use hotplug.
(10.78 KiB) Downloaded 327 times
pcmciautils-017-i386-STARTUP_false-UDEV_true.pet
STARTUP=false / UDEV=true: That means you need no resource database and you use udev.
(10.26 KiB) Downloaded 329 times
pcmciautils-017-i386-STARTUP_true-UDEV_false.pet
STARTUP=true / UDEV=false: That means you need a resource database and you use hotplug.
(18.86 KiB) Downloaded 307 times
pcmciautils-017-i386-STARTUP_true-UDEV_true.pet
STARTUP=true / UDEV=true (default): That means you need a resource database and you use udev.
(18.23 KiB) Downloaded 361 times

germanix
Posts: 40
Joined: Thu 30 Dec 2010, 16:32

#18 Post by germanix »

My bios is from SystemSoft version 1.01.25.
"cardbus cards are not supported"
This is very often documented in the internet.
The question is, whether I could flash the BIOS to version 1.38?

Maybe it would work using command cardmgr.
BUT: cardmgr (part of pcmcia-cs) is deprecated and only usable with Linux 2.4 and earlier kernel versions.
Seems like support stopped partially in kernels >= 2.6:
"... The pcmcia-cs socket driver will route ISA interrupts for
CardBus cards if no PCI interrupt is available. The kernel subsystem
doesn't support this option."
The question is: why cannot a 2.6 kernel also route an ISA-interrupt like pcmcia-cs-socket/package, if there is no PCI interrupt.
But old style cardmgr setups should still work if the kernel is configured correctly.

Or I could try other kernel parameters.
pci=assign-busses
pci=routeirq,irqpoll
pnpbios=off,pci=noacpi
There is the BootPrompt-HOWTO.

Post Reply