Today I upgraded my TP600X to kernel 2.2.16 and while I was at it, I also upgraded från pcmcia-cs 3.1.14 to 3.1.15. Since I'm using a WaveLAN (Silver 11Mbps), I also added the wavelan2_cs driver, like I had in 3.1.14.
When I inserted the WaveLAN card, cardctl promptly died, and checking the logs, this is what I found:
Jun 8 13:23:17 foobar cardmgr: initializing socket 0 Jun 8 13:23:17 foobar cardmgr: socket 0: Lucent Technologies WaveLAN/IEEE Jun 8 13:23:17 foobar kernel: cs: memory probe 0xa0000000-0xa0ffffff: excluding 0xa0000000-0xa0ffffff Jun 8 13:23:17 foobar kernel: cs: memory probe 0x60000000-0x60ffffff: clean. Jun 8 13:23:17 foobar cardmgr: executing: 'modprobe wavelan2_cs station_name=foobar enable_encryption=y transmit_key_id=1 channel=0 port_type=1 network_name=FOOBAR key_1=\"snafu\"' Jun 8 13:23:17 foobar kernel: wvlan_cs: WaveLAN/IEEE PCMCIA driver v1.0.4 Jun 8 13:23:17 foobar kernel: wvlan_cs: (c) Andreas Neuhaus <firstname.lastname@example.org>
It seems it tried to load two different drivers. I then configured, compiled and installed from the 3.1.14 sources, and 3.1.14 + wavelan2_cs works fine under 2.2.16. Something must have been introduced in 3.1.15 that either breaks with wavelan2_cs, or with kernel 2.2.16.