# Great Minds, I implore you!

## ixtow

I have been at war with PCMCIA/CardBus for almost 6 months now.  I won't tell the whole story [room sighs in relief], but I will have to spend a little time explaining...

I have 4 PCMCIA NICs.  3 are CardBus adapters, and they do not work, ever, in Gentoo.  The 4th is a 16-bit NetGear 802.11b.  It works even when I don't have the orinoco support compiled...  OR don't even have any cardservice function of any kind at all!  I can completely disable pcmcia in the kernel, all drivers related to pcmcia network cards too, and it still works....

Point is, this ain't right!  And I'd like to be able to use a wired NIC, like my Intel/Xircom MBLA3400 [Pro/100 CardBus II].

It would have been nice for someone to say that I have to "emerge pcmcia-cs-drivers" for 32-bit a long time ago....  But oh well, I know now.

I went hand to hand with emerge for telling me the package is still masked, when I created the .unmask file....

So, against orders, I commented it out of the .mask file.  I now finally get to run the emerge but the compile time process tells me this:

```

bash-2.05b# emerge pcmcia-cs-tools

Calculating dependencies ...done!

>>> emerge (1 of 1) sys-apps/pcmcia-cs-tools-3.2.4 to /

>>> md5 src_uri ;-) pcmcia-cs-3.2.4.tar.gz

>>> Unpacking source...

>>> Unpacking pcmcia-cs-3.2.4.tar.gz to /var/tmp/portage/pcmcia-cs-tools-3.2.4/work

>>> Source unpacked.

apm

pnp

    -------- Linux PCMCIA Configuration Script --------

The default responses for each question are correct for most users.

Consult the PCMCIA-HOWTO for additional info about each option.

Linux kernel source directory [/usr/src/linux]

The kernel source tree is version 2.6.5-gentoo-r1.

The current kernel build date is Tue Jun 1 18:00:20 2004.

Build 'trusting' versions of card utilities (y/n) [n]

Include 32-bit (CardBus) card support (y/n) [y]

Include PnP BIOS resource checking (y/n) [y]

Module install directory [/lib/modules/2.6.5-gentoo-r1]

Kernel configuration options:

    Kernel-tree PCMCIA support is disabled.

    Symmetric multiprocessing support is disabled.

    Preemptive kernel support is enabled.

    High memory support is disabled.

    PCI BIOS support is enabled.

    Power management (APM) support is enabled.

    SCSI support is enabled.

    IEEE 1394 (FireWire) support is disabled.

    Networking support is enabled.

     Radio network interface support is enabled.

     Token Ring device support is disabled.

     Fast switching is disabled.

     Frame Diverter is disabled.

    Module version checking is enabled.

    Kernel debugging support is disabled.

    Preemptive kernel patch is enabled.

    /proc filesystem support is enabled.

    PAE support is disabled.

2.5.0 and later kernels require that PCMCIA be configured in the

    kernel source tree.  To fix, reconfigure and rebuild your

    kernel with PCMCIA enabled.

Configuration failed.

!!! ERROR: sys-apps/pcmcia-cs-tools-3.2.4 failed.

!!! Function src_compile, Line 57, Exitcode 1

!!! failed configuring

```

And I find it hilarious! The madness has finally consumed me!

Why?

Because I have nothing set as a module in my kernel config/current kernel.

Why did I do that?

Frustration.

Why am I telling you this?

Because, if I don't have a module for PCMCIA support, and I'm using a PCMCIA card and slot at this very moment (the aforementioned NetGear Adapter that works even when explicitly disabled...) , to post this message, exactly how can I have:

```

Kernel configuration options:

    [b]Kernel-tree PCMCIA support is disabled.[/b]

    Symmetric multiprocessing support is disabled.

```

Or am I just imagining things, and all this network connectivity is an optical illusion?

I am using 2.6.5-gentoo-r1, I DO have EVERYTHING PCMCIA related compiled into the kernel.  Actually, I don't have a single module anywhere...

6 months I tell you....  ...they're coming to take me away, ha-HA!

...please help.............      :Crying or Very sad: 

----------

## diebels

Have you tried compiling pcmcia and related drivers as modules in kernel.

That's what I've done, and only using

sys-apps/pcmcia-cs

Think my modules get's loaded when /etc/init.d/net.eth0 script, which contains

```
depend() {

        use hotplug pcmcia

}
```

is loaded.

You need pcmcia-cs-drivers? Your hardware is not supported in kernel?

----------

## codergeek42

I'm using a generic  PCI<->PCMCIA cardbus for my orinoco-chipset PCMCIA 802.11b/g wireless card. I compiled cardbus support into my kernel statically, emerge'd pcmcia-cs, edited /etc/conf.d/pcmcia to use my network ESSID and WEP key, edited /etc/conf.d/net to make iface_eth0 use DHCP then did 

```
# rc-update add pcmcia default

# rc-update add net.eth0 default
```

. Then on boot, it takes about 2-3 seconds for it to start PCMCIA services, then anotheer few to obtain the IP/net info from my DHCP-enabled router. And my net connection works fine. Hth!

[ edit: forgot to mention that with pcmcia-cs, I also emerge'd wireless-tools ]

----------

## b0fh_

Hmm.

Try compiling everything PCMCIA as a kernel module, not built-in.

Much easier to fiddle with, and AFAIK most pcmcia-hotplug scripts need this.

No need to install pcmcia-cs-utils, I do fine without it (only sys-apps/pcmcia-cs here).

Don't forget to compile the drivers for your pcmcia network cards as modules too.

Peace.

----------

## ixtow

Unfortunately, the kernel doesn't seem to support:

Intel Pro/100 CardBus II [MBLA3400]

Intel Pro/100 CardBus II [MBLA3300]

D-Link AirPro 802.11a/b [DWL-AB650] (NOT a "+")

So pcmcia-cs-drivers was my last hope, and it has had no effect.  I have tried compiling all kernel available drivers both into kernel, and as modules, no effect.  I've used both 2.4 and 2.6 kernels.  No effect.  

As things stand, the system recognizes that a CardBus device has been inserted, but it doesn't do anything after that.  Doesn't load anything or do anything but say "Yup, there it is, now I DARE you to find a way to use it!"

I'm beginning to think that this simply can't be done, and that my old 16 bit NetGear card is all that Gentoo/Linux can handle.

I appreciate the helpful suggestions, but it's all stuff I've tried already.

Lets not even talk about the Sound, and the USB mouse that only (halfway) works in 2.6 kernels.......

I'm willing to make a wager on this one....  I'll bet $50 that it can't be done, and I'll mail this thing to anyone who wants to prove me wrong and take a shot at the money!

----------

## ixtow

I've wasted enough of my life on this.  This Laptop is going back to Windows.  Gentoo/Linux simply can't do the job.

----------

## diebels

Kernel config for pcmcia and cardbus:

```
<M> PCMCIA/CardBus support                                

[ ]   Enable PCMCIA debugging                             

<M>   CardBus yenta-compatible bridge support
```

Your intel card:

```
x[*] Ethernet (10 or 100Mbit)                                         x x  

  x x<M>   Generic Media Independent Interface device support             x x  

  x x< > Sun Happy Meal 10/100baseT support                               x x  

  x x< > Sun GEM support                                                  x x  

  x x[ ] 3COM cards                                                       x x  

  x x    Tulip family network device support  --->                        x x  

  x x< > HP 10/100VG PCLAN (ISA, EISA, PCI) support                       x x  

  x x[*] EISA, VLB, PCI and on board controllers                          x x  

  x x< >   AMD PCnet32 PCI support (NEW)                                  x x  

  x x< >   AMD 8111 (new PCI lance) support (NEW)                         x x  

  x x< >   Adaptec Starfire/DuraLAN support (NEW)                         x x  

  x x< >   Broadcom 4400 ethernet support (EXPERIMENTAL) (NEW)            x x  

  x x< >   Reverse Engineered nForce Ethernet support (EXPERIMENTAL) (NEW)x x  

  x x< >   Digi Intl. RightSwitch SE-X support (NEW)                      x x  

  x x< >   EtherExpressPro/100 support (eepro100, original Becker driver) x x  

  x x<M>   Intel(R) PRO/100+ support

```

Is it listed here?

```
Intel(R) PRO/100+ support qqqqqqqqqqqqqqqqqqqqqqqk

  x CONFIG_E100:                                                            x  

  x                                                                         x  

  x This driver supports Intel(R) PRO/100 family of adapters, which         x  

  x includes:                                                               x  

  x                                                                         x  

  x Controller  Adapter Name                       Board IDs                x  

  x ----------  ------------                       ---------                x  

  x                                                                         x  

  x 82558       PRO/100+ PCI Adapter               668081-xxx,              x  

  x 689661-xxx                                                              x  

  x 82558       PRO/100+ Management Adapter        691334-xxx,              x  

  x 701738-xxx,                                                             x  

  x 721383-xxx                                                              x  

  x 82558       PRO/100+ Dual Port Server Adapter  714303-xxx,              x  

  x 711269-xxx,                                                             x  

  x A28276-xxx                                                              x  

  x 82558       PRO/100+ PCI Server Adapter        710550-xxx               x  

  x 82550       PRO/100 S Server Adapter           752438-xxx               x  

  x 82559                                          A56831-xxx,              x  

  x A10563-xxx,                                                             x  

  x A12171-xxx,                                                             x  

  x A12321-xxx,                                                             x  

  x A12320-xxx,                                                             x  

  x A12170-xxx                                                              x  

  x 748568-xxx                                                              x  

  x 748565-xxx                                                              x  

  x 82550       PRO/100 S Desktop Adapter          751767-xxx               x  

  x 82559                                          748592-xxx,              x  

  x A12167-xxx,                                                             x  

  x A12318-xxx,                                                             x  

  x A12317-xxx,                                                             x  

  x A12165-xxx,                                                             x  

  x 748569-xxx                                                              x  

  x 82559       PRO/100+ Server Adapter            729757-xxx               x  

  x 82559       PRO/100 S Management Adapter       748566-xxx,              x  

  x 748564-xxx                                                              x  

  x 82550       PRO/100 S Dual Port Server Adapter A56831-xxx               x  

  x 82551       PRO/100 M Desktop Adapter          A80897-xxx               x  

  x PRO/100 S Advanced Management Adapter                                   x  

  x 747842-xxx,                                             

 745171-xxx                                                              x  

  x CNR         PRO/100 VE Desktop Adapter         A10386-xxx,              x  

  x A10725-xxx,                                                             x  

  x A23801-xxx,                                                             x  

  x A19716-xxx                                                              x  

  x PRO/100 VM Desktop Adapter         A14323-xxx,                          x  

  x A19725-xxx,                                                             x  

  x A23801-xxx,                                                             x  

  x A22220-xxx,                                                             x  

  x A23796-xxx                                                              x  

  x                                                                         x  

  x                                                                         x  

  x To verify that your adapter is supported, find the board ID number      x  

  x on the adapter. Look for a label that has a barcode and a number        x  

  x in the format 123456-001 (six digits hyphen three digits). Match        x  

  x this to the list of numbers above.                                      x  

  x                                                                         x  

  x For more information on how to identify your adapter, go to the         x  

  x Adapter & Driver ID Guide at:                                           x  

  x                                                                         x  

  x http://support.intel.com/support/network/adapter/pro100/21397.htm       x  

  x                                                                         x  

  x For the latest Intel PRO/100 network driver for Linux, see:             x  

  x                                                                         x  

  x http://appsr.intel.com/scripts-df/support_intel.asp                     x  

  x                                                                         x  

  x More specific information on configuring the driver is in               x  

  x <file:Documentation/networking/e100.txt>.                               x  

  x                                                                         x  

  x To compile this driver as a module, choose M here and read              x  

  x <file:Documentation/networking/net-modules.txt>.  The module            x  

  x will be called e100.                                                    x 

```

----------

## ixtow

I don't see anything PCMCIA/CardBus related in those listings...  But don't think I haven't already tried it.   :Wink:   I've done some pretty off-the-wall stuff in the last several months.  Hoping that the PCI drivers for completely unrelated cards, would work, isn't the strangest.

It's time to accept that fact that Linux just hasn't got broad enough support on PCMCIA to be useful.

I hate M$ as much as anyone, but at least it works...  My desktop will remain Gentoo, but this Toshiba Portege 7200CTe is going back to Windows.

I'm simply unwilling to invest any more time into this.  If someone else wants to take the time to prove me wrong, the $50 bet is no joke.  I'm not wasting anymore time on it.

----------

## diebels

stop, think, breathe, act  :Wink: 

The text you are reading now have been transferred trough a 3com 3c575 pcmcia network card. Using the "pci" drivers for "unrelated cards" (3c590/3c900 series 592/595/597) says the readme.

```
[*] Ethernet (10 or 100Mbit)                                         x x  

  x x<M>   Generic Media Independent Interface device support             x x  

  x x< > Sun Happy Meal 10/100baseT support                               x x  

  x x< > Sun GEM support                                                  x x  

  x x[*] 3COM cards                                                       x x  

  x x<M>   3c590/3c900 series (592/595/597) "Vortex/Boomerang" support  
```

Pci and pcmcia drivers for network cards is often the same. The yenta-socket driver takes care of the pcmcia part. The driver itself is usually more up to date than the documentation. And often supports more cards than the documentation claims.

So calm down, don't panic, and:

```
emerge -C pcmcia-cs-drivers pcmcia-cs-tools

emerge -u pcmcia-cs
```

make a kernel with the right modules shown in this tread

if done right(and your card is supported),

```
/etc/init.d/pcmcia start

/etc/init.d/net.eth0 start
```

and it works

But if you've made up your mind about giving up...

----------

## ixtow

I would not deny your incredible degree of patience by giving up, even when I want to...   :Wink:   It would be too rude, even for me!

I comprehend the elimination of the pcmcia-cs-drivers and  ...cs-tools.  I have done this.  Prior, however, I was compelled to take the extreme action of downloading and compiling the code manually, ie, no emerge.  I manually built and installed 3.2.7.  I think I got rid of it, or at least the system's inclination to use it, by deleting the source directory, and switching back to my 2.6.5 kernel.  During boot, there are no longer any references to the drivers built by the manual compilation.  However, during boot, the system simply states that it is watching 2 slots when the Intel adaptors are present.

I did as you have instructed, and added the PCI support.  I tried it as both module and in-kernel.  There was no effect.  I would give you the output kernel messages, but there were none...  The system no longer acknowledges even the mere presence of the Intel Adaptors.  I may as well be plugging in a diaper, a head of lettuce, or several credit-card shaped rocks....

But that NetGear MA401 just keeps on truckin' no matter what I do/screw up.  I bet I could induce a Kernel Panic of some kind, and the card would find a way to fix it....  I kid you not, this thing runs and connects to the AP with no config or support of any kind!  I don't even know the SSID....  Pulls an IP off of my Router's DHCP (which somehow is getting assigned to the loopback (lo) device)....  Oddity, I never get beeps when I unplug or plug it in....  It used to when I was on the 2.4 kernels with pcmcia-cs-drivers....  but it works......

NDISwrapper?  Say it ain't so......

I compromised, I'm dual-booting with Win2K.  I'd love to do without Windows, but I've at least got to be able to put it to practical use.

Any other ideas?

----------

## Rainmaker

do you have hotplug emerged?

My PCMCIA modem card (some Tornado thingie) wouldn't get recognized before I had hotplug running

----------

## ixtow

Should I put hotplug in the boot or default runlevel? I've tried both, but not with PCI drivers enabled.

BTW, I'm using Links for web browsing (which is REALLY fun in the forums...) because KDE just spontaneously decided to quit...  DCOMserver crap, I'm trying things I found elsewhere in the forums to fix that...  Oddly, KDE will not unmerge.  Emerge says that it can't find any packages to remove. I can only alter it by emerging an older package version, then re-emerging the newer version.  Great fun on  Pentium III 600Mhz...

Anyway, I'm going to try out this hotplug thing again, with the PCI drivers.  I'll try both runlevels too....

----------

## ixtow

Many thanks to diebels for telling me to try it anyway.

Though it defies logic, reason, and possibly the Physical Laws of the Universe too, my Intel cards are working!

But that is only two-thirds of the issue.  DWL-AB650 is still not working, but I really didn't do anything to try to make it work yet...

I'm going to pick a bunch of maybe-d-link-related non-pcmcia/non-cardbus kernel modules, and see what happens.

This seems like I just pumped water into my gas tank, and my car still runs just as well as with gas...  Why would any sane person try it in the first place?  It's not logical.

Can someone explain the general principal upon which cardbus functions?  Perhaps that will allow me to understand why this actually works.

My best guess, is that it operates more as a conduit for the PCI protocol; when 32-bit CardBus devices are involved.  Kinda like PPTP over DSL/Cable.  If that is the case, then yes, it makes sense...  But I'm just guessing.

----------

## Rainmaker

if you're into that stuff, take a look in /usr/src/linux/Documentation

I'm sure there's a document in there explaining the cardbus basics

----------

## diebels

Nice to hear you got it working  :Smile: 

I guess mostly pcmcia network cards are identical to pci cards of the same model in different package. Thats why they run with the same drivers. There are specific drivers that take care of the pci or pcmcia part.

I was a bit confused with this myself when going to 2.6 kernel and not finding drivers for my card in the pcmcia section of make config. Tried one in the pci section and it worked.

----------

