Start a Conversation

Unsolved

This post is more than 5 years old

S

64324

November 1st, 2010 08:00

PCMCIA Problems with Dell Latitude E6410

I have a National Instruments DAQCard - 6024E PCMCIA card which keeps coming up with a message stating if is 'not responding to the first IRQ Level request' when ever I try to use it. I am running a Dell Latitude E6410 laptop with Windows XP, I have flashed the BIOS to the latest version and updated the drivers and software to the current versions from National Instruments but with still no success. I have been in contact with NI who say that it is problem with this particular laptop due to issues assigning ISA addresses to PCMCIA cards and that it will require a firmware or BIOS update to fix this. Can anyone tell if there is a work around or whether or not this is due to be fixed by Dell in the not too distant future by way of a BIOS or firmware update?

Many Thanks Alex   

June 30th, 2011 04:00

Hi,

I was just wondering if any progress has been made to fix this problem yet?? I have tried swapping the OS over to windows 7 professional with no avail. Can't help thinking that the inclusion of the PCMCIA port on this laptop is a completely useless given that most PCMCIA cards are old and require lower ISA addresses and Dells lack of support on this issue is proving far from helpful...

Regards Alex

9 Legend

 • 

47K Posts

June 30th, 2011 09:00

Newer Chipsets do not support ISA aka they only support 3.3v Cardbus not PCMCIA.

XP introduces other problems.

Service pack1, Service pack2 , Service pack3  Disable ISA IRQ's because they do not
support ISA  IRQ's.  By default ISA to PCI IRQ routing is Disabled.

You set a registry entry to ZERO to Re enable the IRQ due to it being disabled by default.
 
To turn on IRQ routing when you are using Windows edit the registry. To do so, start Registry Editor, and then view the following key in the registry:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Pcmcia\Parameters
 
Add the following registry value to this registry key, and then quit Registry Editor:
Value name: DisableIsaToPciRouting
Data type: DWORD
Value data: 0
The Text of the .REG file looks like this.
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Pcmcia\Parameters]
"DisableIsaToPciRouting"=dword:00000000

These KB articles apply to WIN2000 but they work EXACTLY the same in XP for the same reasons.

http://support.microsoft.com/kb/257458/EN-US/

http://support.microsoft.com/kb/279491

http://www.kvaser.com/support/technote/pcmcia_adapter.htm

 

If you don't know how to do this then download the following file and save.

Then double click the file to "import" into the registry.

http://www.elandigitalsystems.com/support/supportfiles/disable_isa_to_pci_routing.reg

Or

http://www.tssc.de/download/support/IsaToPci.reg

A similar article from toshiba

http://uk.computers.toshiba-europe.com/cgi-bin/ToshibaCSG/faq.jsp?service=UK&FID=TIU0000001c35

They add an additional parameter when using a 16 bit orinoco wireless card

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Pcmcia\Parameters

"IrqRouteToPciController"=dword:00000006

Their Registry file can be downloaded here

http://uk.computers.toshiba-europe.com/Contents/Toshiba_uk/EN/Others/TICardBusIrqRouting.zip

 

If the operating system routes an interrupt from a 16-bit PC Card that does not support shareable PCI interrupts, then the system might stop working. To prevent this from happening, you should indicate that the card does not support shareable interrupts by placing a PcmciaExclusiveIrq directive in the card's INF file.

For example, assume you have a modem whose driver contains an interrupt service routine (ISR) that was not designed to support interrupt sharing. You can direct the operating system to assign a fixed ISA interrupt to the modem by adding the following line to an AddReg section in the modem's INF file:

HKR,,PcmciaExclusiveIrq,0x00010001,1

Note, however, that once you put the PcmciaExclusiveIrq directive in a device's INF file, the device will not function with any controller or bridge that does not have access to ISA interrupt.

 

 

There are problems related to 16-bit PC Card devices that require ISA interrupts to operate and why vendors should move to support shareable PCI interrupts. It also explains how device vendors with devices or drivers that do not support sharable PCI can inform Microsoft Windows operating systems using an INF.

The article also introduces Microsoft plans to require that 16-bit PC Card devices and drivers support shareable PCI interrupts in order to receive the "Designed for Windows" logo.

On This Page

Introduction Introduction
INF Overrides INF Overrides
Logo Requirement Timeline Logo Requirement Timeline
Resources and Call to Action Resources and Call to Action

 

Introduction

16-bit PC Card devices that require ISA interrupts cause significant problems for end users because, in some systems, CardBus controllers do not have an ISA interrupt connected to them. Therefore, such CardBus controllers cannot provide an ISA interrupt to devices inserted into CardBus slots. If a device appears that requires an ISA interrupt (which is relatively common for 16-bit PC Cards), the device cannot function and may cause system-wide problems, such as interrupt storms.

This article explains this problem in detail. The long-term solution to this problem is to implement a proposed new logo requirement that would require all 16-bit PC Card devices to support shareable PCI interrupts.

Note: Before the advent of CardBus, 16-bit PC Cards were connected to the system over a legacy PCMCIA bridge (also referred to as a PCIC bridge). These bridges are not capable of running CardBus cards or routing 16-bit PC Card devices to a PCI IRQ. The information in this article about routing to PCI interrupts does not apply to PCIC bridges.

Types of PCMCIA Devices

There are two classes of PCMCIA cards, both of which are supported by CardBus controllers:

  • 32-bit PCI-compliant CardBus PC Cards. In this document, these devices are referred to simply as "CardBus cards."

  • 16-bit PC Cards, which are essentially ISA devices.

Interrupt Routing for CardBus and 16-bit PC Cards

CardBus cards are essentially PCI devices, and their interrupts are routed to PCI IRQs as defined by the PCI specification. 16-bit PC Cards were defined before the advent of PCI, and their interrupts were, therefore, typically routed to ISA IRQs. It is important to note that 16-bit PC Cards can also support routing interrupts to PCI. However, they have to meet the following two basic requirements in order to successfully use PCI interrupts instead of ISA interrupts.

  • Support PCI level-triggered interrupt generation. Most 16-bit PC Cards support level-triggered interrupts because the support is defined in the PCMCIA specification and because CardBus controllers have the ability to route 16-bit PC Card interrupts either to an ISA IRQ or to a PCI IRQ.

  • Support interrupt sharing. PCI interrupts are shareable. Therefore, 16-bit PC Cards and their drivers must be designed to handle interrupt sharing. Many 16-bit PC Card drivers do not successfully support interrupt sharing. Common problems that prevent devices and drivers from sharing interrupts are:

    • The Interrupt Service Routine (ISR) in the driver for the card was not designed to return the proper indication that a given IRQ was generated by its respective device. This is one of the primary prerequisites for correct ISR operation.

    • The card does not correctly provide an indication in hardware registers that it is asserting an IRQ, thus denying the ISR the ability to function correctly on a shared IRQ.

    • The card generates a spurious interrupt on power up.

    All of these problems cause an interrupt storm, which will cause the system to stop responding.

System Configuration Issues

Although many 16-bit PC Card drivers do not successfully support interrupt sharing (and therefore require an ISA interrupt), there are system configurations on the market in which the CardBus controller is not connected to any ISA IRQ, and therefore, cannot provide an ISA interrupt to 16-bit PC Cards.

Examples of configurations where CardBus controllers do not have a connection to an ISA interrupt include:

  • A desktop machine with a CardBus controller plugged into a standard PCI slot. In this case, the CardBus controller does not have access to an ISA interrupt, because ISA interrupts are never present at a PCI slot. In the past, these PCI cards may have been distributed with an ISA "paddle card." The purpose of the paddle card was to provide a connection to ISA IRQs. However, paddle cards are typically no longer available.

  • A Mini-PCI device that contains an R2 PC Card device installed behind a CardBus controller. These are typically wireless devices.

Because no ISA interrupts are available for CardBus controllers in these configurations, PCI interrupts are the only type of interrupts available. However, if a device that does not support PCI interrupts is inserted into a CardBus slot in this system, it will not function and may cause system-wide problems, such as an interrupt storm.

Ideally, no device would require an ISA interrupt, and Windows could just assign shareable PCI interrupts to all 16-bit PC Cards. Microsoft is planning to require support for PCI interrupts in future versions of the "Designed for Windows" Logo requirements so that this problem can be avoided.

INF Overrides

If Windows routes an interrupt from a 16-bit PC Card and that card does not support shareable PCI interrupts, then the system may stop responding. To avoid this problem, vendors should always support shareable PCI interrupts. If a device does not support shareable PCI interrupts, it should inform Windows using this INF override so that an interrupt storm can be avoided.

PcmciaExclusiveIrq:
This setting can be specified in the INF of the target device to prevent Pcmcia.sys from routing that device to a shared IRQ. For example, if the a modem fails to support interrupt sharing because its drivers ISR was not designed for it, the following directive can be specified in its INF (in an AddReg section):


  
  
  
  
  
  1. HKR,,PcmciaExclusiveIrq,0x00010001,1

CAUTION: This INF setting effectively breaks this device for all bridges that have no ISA IRQs detached. Use this setting only when it is absolutely certain that the device cannot function on a shared PCI IRQ.

Logo Requirement Timeline

As stated earlier in this article, future planned logo requirements will require all 16-bit PC Card devices to support shareable PCI interrupts. This is a proposed logo requirement and will take effect 18 months after the formal requirement is published.

Note to 16-bit PC Card vendors: In the same timeline, your devices will be required to support flexible allocation of I/O resources for your devices. That is, 16-bit PC Card devices will not be allowed to request specific ranges of I/O space, but will only be allowed to request a specific amount of I/O space.

Resources and Call to Action

Call to Action:

  • System manufactures should be aware that there are devices that require ISA IRQs. Therefore, system vendors should ensure that ISA IRQs are available to CardBus controllers in the system until the logo requirements described in this article help phase out this problem.

  • System manufacturers should ensure that BIOS code sets CardBus controllers to PCIC mode for compatibility with Windows 95/98/Me operating systems, Windows 2000, and Windows XP.

  • Device manufacturers should implement CardBus devices instead of 16-bit PC Card devices because they are PCI compliant and not legacy ISA.

  • If a vendor must implement 16-bit PC Card devices, design them to support shareable PCI interrupts. R2 cards that support PCI shared interrupts are much more likely to work properly because they do not rely on system manufacturers to wire an ISA interrupt to the CardBus controller.

  • Driver developers should design drivers to support shareable PCI interrupts.

  • For more information, see CardBus Controllers and Windows.

10 Posts

July 29th, 2011 05:00

Hi.

Did you solve your problem about the PCMCIA slot on the Dell Latitude E6410 laptop? If so, how?

See this about the same problem on the PCMCIA slot on three Dell Latitude E5520 laptops recently purchased (may 2011):

http://en.community.dell.com/support-forums/laptop/f/3518/p/19390148/19907319.aspx

Also, you can test your National Instruments DAQCard-6024E on a desktop with Windows 7 and a PCI to PCMCIA adapter. On above post I used for tests of PC Card cards and Cardbus cards a PCMCIA to PCI adapter based on a Ricoh RL5C475A chip in a modern desktop with Windows 7 64 bits, which worked beautifully in all situations.

HTH

Regards, Tarantulito, Spain.

9 Legend

 • 

47K Posts

July 29th, 2011 11:00

Since 5V bus and ISA IRQ's with a Paddle board are no longer valid no.

The following registry changes may help OR make things worse.

32 bit 33mhz 5V PCI is dead as is ISA bus.

 

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Pcmcia\Parameters]

"SoundsEnabled"=dword:00000001

"IsaIrqRescanComplete"=dword:00000000

"DisableIsaToPciRouting"=dword:00000000

"IrqRouteToPciController"=dword:00000006

 

Interrupt handling

The concept of 16 discrete IRQ lines, each uniquely assigned to a device, is peculiar to the ISA bus and its derivatives. The CPU sees only a single interrupt signal, obtains an interrupt vector address and then processes the interrupt routine at that address. The use of 16 lines was the method chosen by the designers of the original IBM PC to tell the interrupt controller which address to supply.

Each PCI slot has four interrupt lines connected to it, designated INTA# to INTD#. The first (or only) interrupt-using function on a PCI board must be connected to INTA#. The other three lines allow up to four functions to be combined on one board using INTA# - INTD# in that order.

The PCI interrupt lines and the output from the ISA interrupt controller are combined in a programmable interrupt router, which generates the single interrupt signal for the CPU. How they are combined is not defined by the PCI specification. PCI interrupts are edge-triggered and therefore shareable, so some of them may be connected together.

The IBM PC architecture expects particular devices to use particular IRQs (e.g. the primary disk controller must use IRQ14). Furthermore, because ISA interrupt lines cannot be shared, PC interrupt routines expect that when they are called, they are servicing their specific device and no other.

This means that in a PC, the INTx# lines in each PCI slot - or those that are being used - must each be mapped to a separate IRQ which the operating system or driver software will expect the device in that slot to use. This is usually done using the BIOS Setup utility. Early PCI systems which did not have this facility required an ISA 'paddle-board' to be used with add-ins like IEE 488 controllers to ensure they were connected to the appropriate IRQ.

No Events found!

Top