I have a Tecra 500CDT. In PCIC compatibility mode, PCMCIA cards work fine, but in Cardbus/16-bit mode, the insert is acknowledged, but cardctl info gives no information about either card. (cardctl status shows a 5V 16-bit PC card in either slot). I don't have a Cardbus card to test, but probably this is the classic Toshiba issue where 16-bit cards do not work with a controller in Cardbus mode. Has anyone found a workaround for this problem yet? BTW, I have driver programming experience so if I could find a workaround or fix, I could code it up and test it. Thanks!
Are you using pcmcia-cs driver modules, or the kernel PCMCIA subsystem? What kernel version?
If the insert is acknowledged, then there should be some diagnostic information in your system log.
Using the kernel-supplied pcmcia drivers from 2.4.26. Should I be using the ones from this site instead?
I'm not seeing anything relevant in dmesg, besides hotplug doing its thing and loading the driver for the device (if it is recognized). What type of message should I see?
The kernel drivers are recommended.
Don't just look at 'dmesg', look at your system log. You said that the insert was acknowledged... then for a 16 bit card, there should be messages from cardmgr in your system log. I'm not sure what type of message you should see; an error of some sort, based on your description.
Sorry. I didn't realize there was output from cardmgr separately from the kernel driver. Here is all the info I have - this is a 16-bit multifunction net/modem (IBM Home & Away) card plugged into a Tecra 500CDT with the bridge in "Cardbus/16-bit" mode:
Toshiba System Managment Mode driver v1.11 26/9/2001
Linux Kernel Card Services 3.1.22
options: [pci] [cardbus] [pm]
PCI: Enabling device 00:02.0 (0004 -> 0006)
PCI: Enabling device 00:02.1 (0004 -> 0006)
Yenta ISA IRQ mask 0x0000, PCI irq 11
Socket status: 30000010
Yenta ISA IRQ mask 0x0000, PCI irq 11
Socket status: 30000006
apm: BIOS version 1.2 Flags 0x02 (Driver version 1.16)
cs: IO port probe 0x0100-0x04ff: excluding 0x480-0x48f 0x4d0-0x4d7
cs: IO port probe 0x0800-0x08ff: clean.
cs: IO port probe 0x0c00-0x0cff: clean.
cs: IO port probe 0x0a00-0x0aff: clean.
cs: memory probe 0xa0000000-0xa0ffffff: clean.
Jul 22 21:22:17 localhost cardmgr: executing: 'modprobe -r memory_cs'
Jul 22 21:22:23 localhost cardmgr: socket 0: Anonymous Memory
Jul 22 21:22:23 localhost cardmgr: executing: 'modprobe memory_cs'
Jul 22 21:22:23 localhost cardmgr: + modprobe: Can't locate module memory_cs
Jul 22 21:22:23 localhost cardmgr: modprobe exited with status 255
Jul 22 21:22:23 localhost cardmgr: module /lib/modules/2.4.26-1-586tsc/pcmcia/memory_cs.o not available
Jul 22 21:22:24 localhost cardmgr: get dev info on socket 0 failed: Resource temporarily unavailable
5V 16-bit PC Card
function 0: [ready], [wp], [bat dead]
no product info available
no product info available
Vcc 5.0V Vpp1 5.0V Vpp2 5.0V
By the way, the controller is placed on IRQ 10 when in PCIC mode, and IRQ 11 when in ToPIC95 mode. Neither IRQ conflicts with anything onthe system. When in ToPIC95 mode, even though something is wrong, interrupts are still being generated.
Is there anything I can do to give more useful information?
You can try playing around with the memory window settings in /etc/pcmcia/config.opts but I would not be too hopeful. I'm afraid this will probably end up in the dustbin of unresolved Toshiba laptop bugs. Since you say you don't even have a CardBus card to try, it doesn't seem like this is actually a problem for you, right?
The basic issue is that with no decent specs, the odds that I could lead you through debugging this are essentially zero, even given unlimited time that I don't have.
Well, it's not a problem at the moment, but I was planning to buy a Cardbus SCSI card. I guess I'll get one anyway and see if it helps me find the issue. Is there a "master list" of other Toshiba bugs that I can refer to?
There isn't really a maintained bug list; there are too many different Toshiba laptops, and the bugs vary from one kernel version to the next, since the people who work on the kernel PCMCIA code have not paid particular attention to Toshiba compatibility. You can check the linux-laptop pages for information from other users of similar Toshiba models.
You can also try out the pcmcia-cs drivers, as long as you're using a 2.4 kernel. They may behave differently from the kernel drivers.
More information on this issue: I installed kernel 2.6.8, and when a 16-bit card is inserted in Cardbus mode, I get the message: pcmcia_socket0: unable to apply power. So I guess this is the issue in 2.4 also. I haven't tried the pcmcia-cs drivers yet.
With pcmcia-cs driver on 2.4, all behaves as expected, finally! Is the 2.6 pcmcia support behind the current pcmcia-cs support? Will it be brought forward anytime soon?
The 2.6 PCMCIA support is just "different"; whether it is behind or ahead depends on your point of view and what you're trying to do.
A lot of the code was rewritten for 2.6, and rewrites generally have the side effect of causing a lot of accumulated knowledge about unusual cases to be lost. Hence the support of Toshiba bridges has regressed. It should eventually be sorted out but I would not hold my breath.
I'm experiencing the same problem with a Toshiba Tecra 730CDT. (730CDT=500CDT except for cpu speed, display size and irda). I'm using the latest stable gentoo kernel (2.6.10-r6) and the latest gentoo pcmcia-cs package marked "stable" (3.2.5, PCMCIA utilities only).
I'm trying to install:
* 3Com Megahertz 10Mbps 3CCE589ET
16 bit 5V PCMCIA
Got this one working with 3c589_cs driver supplied by kernel.
* NetVision 802.11b, probalby an AMD Am1771 or AM1772 chip
32 bit 3.3V CardBus
The first works fine when bios is configured as PCIC, using the ISA-to-PCMCIA bridge supplied by the i82365 module supplied by the kernel. It does not work with the yenta_socket module.
If the bios is set to CardBus/16bit the i82365 doesn't work (which is to be expected) but yenta does. However, yenta only sets up a PCI-to-CardBus bridge and therefore seems unable to find the 3Com card. Cardctl status simply says: "no card" and insert says nothing. Dmesg reports "cs: pcmcia_socket0: unable to apply power."
The wifi card is detected by the yenta module and lspci reports an RF controller (Advanced Micro Devices [AMD] Am 1771 MBW [Alchemy]). I haven't tried to get it to work, yet. (I'm trying to set up a wireless AP, so I need eth0 to work first.)
So what do you think? Is going back to 2.4 the only way?
Well, you can report the 2.6 problem to the linux-pcmcia mailing list:
> yenta only sets up a PCI-to-CardBus bridge
That isn't the problem.
My mistake. I used to see an ISA bridge in dmesg as well using the 2.4 kernel. But browsing through the yenta documentation I noticed it indeed only does PCI.
So - if I understand correctly - the problem isn't in the PCI-to-CardBus bridge, but rather in the CardBus code's inability to setup 16 bit interfaces...
Thanks for the link to the kernel mailing list. I'll check it out.
The yenta driver code (generally) handles both 16-bit and 32-bit cards. I'm pretty sure that if you look back at your 2.4 messages, you would see messages from either the i82365 driver or the yenta driver, but not both. This has not changed between 2.4 and 2.6.
The problem is just that the yenta driver doesn't properly handle all "quirks" of the Toshiba CardBus bridge chips.
Log in to post a comment.