# PCMCIA recognized, but card not showing in lspci

## Bigfoot77

Greetings!  I've been struggling with getting my PCMCIA working correctly on my laptop.  The PCMCIA controller is recorgnized just fine, however the card that I have inserted in it will not show up in lspci:

```
00:00.0 Host bridge: Toshiba America Info Systems CPU to PCI and PCI to ISA bridge (rev 02)

00:07.0 Communication controller: LSI Corporation 56k WinModem (rev 01)

00:08.0 VGA compatible controller: S3 Graphics Ltd. ViRGE/MX (rev 06)

00:0b.0 USB controller: NEC Corporation OHCI USB Controller (rev 02)

00:0c.0 Multimedia audio controller: ESS Technology ES1978 Maestro 2E (rev 10)

00:10.0 IDE interface: Toshiba America Info Systems Extended IDE Controller (rev 34)

00:13.0 CardBus bridge: Toshiba America Info Systems ToPIC95 (rev 07)

00:13.1 CardBus bridge: Toshiba America Info Systems ToPIC95 (rev 07)

```

I have everything built in my kernel for PCMCIA, and lsmod shows that all of the modules are properly loaded:

```
Module                  Size  Used by

axnet_cs               12375  0 

pcnet_cs               25559  0 

8390                    5732  1 pcnet_cs

pcmcia                 30272  2 pcnet_cs,axnet_cs

yenta_socket           19040  0 

pcmcia_rsrc             7221  1 yenta_socket

pcmcia_core            10079  3 pcmcia,pcmcia_rsrc,yenta_socket
```

dmesg doesn't show anything strange either.  And I'm able to remove and reinsert the card with no errors:

```
[   11.374998] yenta_cardbus 0000:00:13.0: CardBus bridge found [1179:0001]

[   11.499923] yenta_cardbus 0000:00:13.0: ISA IRQ mask 0x06b8, PCI irq 11

[   11.499953] yenta_cardbus 0000:00:13.0: Socket status: 30000007

[   11.831790] yenta_cardbus 0000:00:13.1: CardBus bridge found [1179:0001]

[   11.954101] yenta_cardbus 0000:00:13.1: ISA IRQ mask 0x06b8, PCI irq 11

[   11.954129] yenta_cardbus 0000:00:13.1: Socket status: 30000011

[   12.829187] pcmcia_socket pcmcia_socket1: pccard: PCMCIA card inserted into slot 1

          .

          .

          .

[  127.972579] pcmcia_socket pcmcia_socket1: pccard: card ejected from slot 1

[  133.439109] pcmcia_socket pcmcia_socket1: pccard: PCMCIA card inserted into slot 1
```

I installed pcmciautils from portage (from what I can tell, that's the only package now that is needed)  Unfortunately, pccardmgr is only so helpful:

pccardmgr status

```

Socket 0:

  no card

Socket 1:

  5.0V

 16-bit

 PC Card

```

pccardmgr info

```
PRODID_1=""

PRODID_2=""

PRODID_3=""

PRODID_4=""

MANFID=0000,0000

FUNCID=255

PRODID_1=""

PRODID_2=""

PRODID_3=""

PRODID_4=""

MANFID=0000,0000

FUNCID=255
```

pccardmgr ident

```
Socket 0:

  no product info available

Socket 1:

  no product info available
```

(for reference, my card is in Socket 1, although Socket 0 gives the same results)

I'm really not sure what can be going on.  I'm using Gentoo ~x86, with the 3.9.3 kernel (with gentoo, tuxonice, and ck patchsets)  I've tried the pci=assign-busses boot option that I've seen as a possible solution to this problem, but still nothing.  Has anyone else run into issues with PCMCIA lately?  The strange thing is that I had Slackware on this machine only a few months ago, and it worked without issue (and has worked for many years)  I'm assuming that it's something just with the general setup of everything.  I already checked in my BIOS, and there are no extra options for PCMCIA to set.  If anyone has any insight onto what may be going on, it would be greatly appreciated.  If there is any other information that may be helpful, just let me know.

----------

## eccerr0r

Curious, what card is it? (ATA CF card, traditional PCMCIA, or card bus)?  Only card bus with the golden cover will show up in lspci, but they all should show up in pccardmgr...

I've been losing my PCMCIA machines so I haven't tried it in years...

----------

## Bigfoot77

It's Cardbus, at least I am assuming it is since the ethernet card I have plugged into it would show up in lspci under Slackware.  I'm actually using the same kernel config file that I had under Slackware as well, so even if it didn't show up in lspci, I do have the correct driver for the ethernet card built in to the kernel.

The last time I tried PCMCIA in Gentoo was ~5 years ago (different machine than this one)  Everything seemed to work pretty easily, however that was back when there were different packages in portage for it (pcmcia-cs for one)  I'm not sure how much has changed since then.  I've searched around the forums and from what I have seen, pcmciautils is the only package now which takes care of everything.

----------

## Bigfoot77

OK, after some more playing around, I managed to get it to work finally.  It was a combination of two things.  First, my /etc/pcmcia/config.opts file was wrong (I just re-emerged pcmciautils to get the default one back) and Second, I had to manually run /lib/udev/pcmcia-socket-startup after re-emerging (a reboot would have done the same thing, but I don't do that unless I absolutely have to  :Razz: )  I was able to do an 'ifconfig -a' afterwards and saw eth0 show up in the list.  I guess in the rush of changing things around trying to get it to work, I must have changed the config.opts file and never put the default one back.

For reference, I have a Linksys PCMPC100 V3.0 card with the following modules loaded for it:

```
Module                  Size  Used by

pcnet_cs               25559  0 

8390                    5732  1 pcnet_cs
```

Strangely the card still does not show up in lspci.  Maybe I was wrong when I had it running in Slackware and it never really was there (I never actively looked since it worked right off the bat, so I could be mistaken)

Thanks for taking the time to help out, eccerr0r!

----------

## s4e8

16bit adapter is old pcmcia. cardbus is 32bit.

----------

## eccerr0r

A cursory google search indicates the ethernet PCMCIA card is 16-bit indeed, as it does not have the "golden cover" that is placed near the contact holes that plugs into the computer.

16-bit cards are legacy ISA-type cards and behave more like them.  The 32-bit cardbus cards are PCI-based and will enumerate in lspci as a tap off of a PCI bridge.

I need to look at some PCMCIA machines again, I just have been losing them (as in dumping them due to their age.)  I think they're all sort of incorporated by udev instead of the old cardmgr daemon.

I don't have many cardbus cards left either...  I think the only one I have is a Firewire card (had a wifi card in the past...)

----------

