Tech Support > Microsoft Windows > Drivers > PCMCIA recognition different between Win2K and XP
PCMCIA recognition different between Win2K and XP
Posted by Leslie on October 20th, 2007


Hi All,

I just took over the design of a PCMCIA card, and, while trying to program
and install a new batch of boards, I found that when I program the boards and
then plug them into a Win2K machine, the boards are recognized and the proper
drivers loaded, but when I plug them into a Win XP machine, one of 2 things
happens. Either the system comes back PCMCIA Unknown Manufacturer, or it
identifies the card as PCMCIA-MTD002A. Now, I'm perfectly willing to believe
that there are differences between how PCMCIA is handled between WIn2K and
WinXP, but has anyone encountered anything like this before? The boards were
designed in the "late 20th century" using FPGAs for the PCMCIA interface and
I don't have enough time for a redesign before delivery.

Oh, and just to add insult to injury, when I first came to the company, they
would work with one of the older drivers, but I can't find either that
particular driver or any source code for it...at least not yet.

Thanks,

Leslie

Posted by Pavel A. on October 20th, 2007


Usually when a I/O card is recognised as MTD something, it
means a problem reading it's attribute space
(wrong setup of an attrib window on the slot controller, accessing the card
before the card's firmware prepares the attrib data, lack of power... etc )

Is the XP and 2k machine the same
machine (dual boot?) or two different machines?
This behaviour may be related to a specific host controller
or analog parts.
And yes, the PCMCIA bus driver is different on XP and 2k.


--PA

"Leslie" <Leslie@discussions.microsoft.com> wrote in message news:B90566A5-7D80-499F-9E47-770438736FA7@microsoft.com...


Posted by Leslie on October 22nd, 2007


This is on separate machines. I have Win2K running on a laptop, which
recognizes the card with no problem. Running WinXP on several other
machines, and none of them recognizes it at all...I either get the MTD
message or the card doesn't even power up and the system does not show a
PCMCIA card in there at all.

Here's a question...if I don't have the driver, my driver, installed, will
the system recognize that there is a card there? That is to say, does the
card's initial programming in the CIS allow the OS to recognize certain
basics about the card, or do I need to have our driver loaded and
(presumably) modified to work with WinXP?

One more question...I think I must be looking up the wrong stuff in MSDN,
since I don't seem to be finding very much on this subject. Is there a
cornucopia of information on MSDN that I am missing or do I need to look
elsewhere, and if so, where?

Thanks in advance,

Leslie

"Pavel A." wrote:

Posted by Pavel A. on October 22nd, 2007


"Leslie" <Leslie@discussions.microsoft.com> wrote in message news:8154A8B9-92ED-460A-9143-5B674DFF7FBD@microsoft.com...
Yes, this will trigger the "new device found" dialog, and it should display
some human readable name of the card (not "MTD")

Yes.

Maybe it can help if you get a PCMCIA test extender with probe posts.
You'll see whether the card receives correct voltage and (with a logic and more effort)
what's wrong with reading from the attribute space.

Regards,
--PA



Posted by Leslie on October 22nd, 2007


I actually do have it on an extender card. The voltages are correct...the
power LED turns on for a second or 2 and then turns off, and the system
doesn't then recognize the card. I found the driver.sys file and I can do a
clean install on a Win2K machine that has never seen the card before. Mind
you, it recognizes at least the card make and model right away. When I do
the exact same procedure on a WinXP machine, it says MTD and when I try run
the install procedure it won't load it...it says that the file does not have
information about my hardware. I can put a logic analyzer on the probe
points, but unless WinXP actually treats the hardware differently than Win2K,
i.e. the base hardware drivers are driving the I/O ports differently, I don't
know that analyzing the data will show anything other than WinXP is acting
differently from Win2K.

"Pavel A." wrote:

Posted by Leslie on October 24th, 2007


OK, on the theory that something happened to the XP machines, since the cards
that used to work on them do not any longer, I uninstalled SP2 from one of
the machines. During this process at least one of the dlls got damaged,
since when I try to boot I get an error message about SHLWAPI.DLL. However,
I can use ctl-alt-del to access the task manager and use that to start one of
the apps that use the card, and now, with SP2 uninstalled, the card is
detected and the app works fine.

"Pavel A." wrote:

Posted by Mdeath on April 21st, 2008


Hi everyone,

I have a legacy PCMCIA card that I am trying to get to work reliably on
WinXP. My current problem is as follows:

When I put the card into a machine running Win2K, it gets recognized with no
problem and the system reads the card CIS.
When I put the card into a machine running WinXP (no SP), it -sometimes-
recognizes the card, but not every time. SP1, even less frequently, SP2
barely at all. If I spray the card with freezy-stuff, the card will be
recognized, at least until it warms up. The card uses an FPGA to process
PCMCIA bus control signals to allow access to the on-board EEPROM that
contains the CIS. I can tell from the schematic of the FPGA that the timing
for that section of the circuit looks wrong, but unfortunately there is no
way to redesign the circuit in time.

My question is this:

Given that the card works in Win2K and progressively gets worse, and the
issue seems to be one of timing, are there timing parameters for pcmcia.sys
in the registry, or settable via an .inf file, that could be different
between the various OSs and could be tweaked?

My second question is this:

Any other ideas?

Thanks in advance,

Leslie