SourceForge has been redesigned. Learn more.
Close

Toshiba Cardbus & 16-bit interoperation

2004-06-25
2013-04-08
  • Ryan Underwood

    Ryan Underwood - 2004-06-25

    Hi,

    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!

     
    • David Hinds

      David Hinds - 2004-06-28

      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.

      -- Dave

       
    • Ryan Underwood

      Ryan Underwood - 2004-07-21

      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?

       
      • David Hinds

        David Hinds - 2004-07-22

        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.

        -- Dave

         
    • Ryan Underwood

      Ryan Underwood - 2004-07-23

      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[640]: executing: 'modprobe -r memory_cs'
      Jul 22 21:22:23 localhost cardmgr[640]: socket 0: Anonymous Memory
      Jul 22 21:22:23 localhost cardmgr[640]: executing: 'modprobe memory_cs'
      Jul 22 21:22:23 localhost cardmgr[640]: + modprobe: Can't locate module memory_cs
      Jul 22 21:22:23 localhost cardmgr[640]: modprobe exited with status 255
      Jul 22 21:22:23 localhost cardmgr[640]: module /lib/modules/2.4.26-1-586tsc/pcmcia/memory_cs.o not available
      Jul 22 21:22:24 localhost cardmgr[640]: get dev info on socket 0 failed: Resource temporarily unavailable

      cardctl status:
      Socket 0:
        5V 16-bit PC Card
        function 0: [ready], [wp], [bat dead]
      Socket 1:
        no card

      cardctl ident
      Socket 0:
        no product info available
      Socket 1:
        no product info available

      cardctl 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

      cardctl config:
      Socket 0:
        Vcc 5.0V  Vpp1 5.0V  Vpp2 5.0V
      Socket 1:
        not configured

       
    • Ryan Underwood

      Ryan Underwood - 2004-07-23

      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.

       
    • Ryan Underwood

      Ryan Underwood - 2004-07-26

      Is there anything I can do to give more useful information?

       
      • David Hinds

        David Hinds - 2004-07-27

        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.

        -- Dave

         
    • Ryan Underwood

      Ryan Underwood - 2004-07-27

      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?

       
      • David Hinds

        David Hinds - 2004-08-01

        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.

        -- Dave

         
    • Ryan Underwood

      Ryan Underwood - 2005-01-16

      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.

       
    • Ryan Underwood

      Ryan Underwood - 2005-01-17

      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?

       
      • David Hinds

        David Hinds - 2005-01-18

        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.

        -- Dave

         
    • Tijn Porcelijn

      Tijn Porcelijn - 2005-03-20

      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?

       
      • David Hinds

        David Hinds - 2005-03-22

        Well, you can report the 2.6 problem to the linux-pcmcia mailing list:

        http://lists.infradead.org/mailman/listinfo/linux-pcmcia

        > yenta only sets up a PCI-to-CardBus bridge

        That isn't the problem.

        -- Dave

         
        • Tijn Porcelijn

          Tijn Porcelijn - 2005-03-22

          > yenta only sets up a PCI-to-CardBus bridge

          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.

          Tune

           
          • David Hinds

            David Hinds - 2005-03-23

            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.

            -- Dave

             

Log in to post a comment.