Troubleshooting, Maintaining & Repairing PCs
Stephen Bigelow
 $54.95  0-07-913732-6
Backward Forward
Chapter: 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53

Reserve your copy at a
Beta Bookstore near you!
Contact Bet@books
© 1998 The McGraw-Hill Companies, Inc. All rights reserved.
Any use of this Beta Book is subject to the rules stated in the Terms of Use.

CHAPTER 38

PC Cards and peripherals

Desktop computers have always provided a standardized interface - the expansion bus. On the other hand, mobile computers have traditionally lacked all the most basic upgrade potential. By the late 1980s, it was clear that a standard would be needed to allow rapid and convenient upgrades for the exploding field of mobile computing. Neil Chandra of Poquet Computer (now part of Fujitsu) took a vision originally conceived to provide memory for the hand-held Poquet computer, and brought together industry leaders to forge a standard. In 1989 Chandra's brainchild, the Personal Computer Memory Card International Association (or PCMCIA), was formed as a standards body and trade association. The objective of the PCMCIA is to provide universal, non-proprietary expansion capability for mobile computer systems (Fig. 38-1). More than 500 organizations are affiliated with the PCMCIA, which also works very closely with other major standards organizations such as the Japan Electronics Industry Development Association (JEIDA), the Electronics Industries Association (EIA), the Joint Electron Device Engineering Council (JEDEC), and the International Standards Organization (ISO). This chapter explains the inner workings of a PCMCIA interface and cards that use it. You will also find a broad selection of troubleshooting procedures intended to help you overcome many of the problems attributed to the PCMCIA interface, and the difficulties it can encounter under Windows 95.

Understanding the PC Card

Ultimately, the universal expansion standard envisioned by the PCMCIA has taken the form of a "card" (called a PC Card) which is roughly the length and width of a credit card (Fig. 38-2). This basic shape has remained virtually unchanged since the initial release of PCMCIA standards (version 1.0) in September 1990. The original specification (reflecting the original Poquet vision) defined an interface that was intended exclusively for memory cards such as DRAM, flash EEPROM, and ROM. However, a memory-only interface did not even come close to fulfilling the promise of mobile expansion capability - there is much more to PCs than memory.

PCMCIA release 2.0 followed a year later in September 1991. Version 2.0 took the quantum leap that version 1.0 ignored and incorporated I/O capability and software support into the PC Card. It was this addition of I/O capability that PC Card technology finally began to attract serious attention from mobile computer manufacturers. PC Card makers could now move past memory products and offer a wealth of other expansion products such as LAN cards, fax/modems, and disk drives. Release 2.1 followed in July of 1993 which specifies software support and BIOS card and socket services. The newest set of PCMCIA standards appeared in February of 1995 (loosely referred to as PCMCIA ’95 or Release 3.0). Release 3.0 added support for "multi-function" PC Cards such as modem/LAN cards, as well as support for 3.3 volt operation, DMA handling, and 32-bit CardBus bus-mastering.

Since February of 1995, there have been some important revisions of the PCMCIA standards, but no "new" revision levels. In May of 1995, the second printing of PCMCIA standards addressed timing problems during card power up/power down sequences. In November of 1995, the third printing of PCMCIA standards included provisions for custom card interfaces and indirect CIS addressing. The latest standards update in July of 1996 provided for a Zoomed Video (ZV) interface for fast video systems, and a Flash Translation Layer (FTL) for card reprogramability.

Making it work

Of course, integrating a PC Card into a computer is not as easy as just attaching a connector to the PC busses. A selection of system hardware and software is needed as illustrated in Fig. 38-3. This multi-layered approach is typical of most PC peripherals - if you've ever installed a CD-ROM drive before, this type of diagram probably looks very familiar.

At the foundation of PC Card architecture is the hardware layer. This represents the physical card itself, its connectors, and the circuitry needed to interface the card to the PC buses. In most cases, PC Card support can be added to a computer with one or two VLSI (Very Large Scale Integration) ICs and a bit of "glue" logic. You can see this hardware implemented for a desktop or tower PC in the PC Card drive shown in Fig. 38-4.

The next layer above hardware is called the Socket Services layer. Socket Services act as a supplement for system BIOS by providing the low-level routines needed to access the card hardware. It is important to note that Socket Services software is frequently implemented as firmware - either in the system BIOS itself (often in new BIOS versions) or on an expansion ROM included on the PC Card reader’s adapter board. Socket Services are used by the computer to identify how many sockets are in the system, and whether cards are inserted or removed while system power is applied.

The Card Services layer forms the interface between the operating system and Socket Services. When Socket Services detects the presence of a card, Card Services allocates and manages the system resources (interrupts, DMA channels, and addressing) needed by the card(s). When a card is removed, Card services will free those system resources again. It is this unique ability to find, use, and then free system resources that gives PC Cards their powerful I/O capability and "plug and play"-type flexibility. Since Card Services software is universal across hardware platforms, it can be loaded either as a DOS or Windows device driver, or may be an integral part of the operating system, such as IBM's DOS 6.22 and OS/2 4.0.

Unfortunately, not all notebook and sub-notebook systems use Socket and Card Services - this is a major reason for PC Card compatibility problems. Some PC Cards come with software device drivers that attempt to communicate directly with the system hardware. These cards were developed prior to the release of the PCMCIA Card Services standard, and such cards will only work on certain hardware platforms. Also, not all notebooks provide PCMCIA Socket Services. Some vendors provide proprietary BIOS firmware that supports a specific, limited set of PC Cards. Just recently, some vendors have begun bundling compatible card and socket services with their systems. These card support device drivers are loosely termed "enablers", and are discussed in detail below.

Above Card Services, you see the familiar DOS and Application layers. Specialized (client) device drivers that may be needed for particular cards (such as an ATA card driver or flash file driver) are considered as part of the DOS layer.

Enablers

Many PC Cards offer an additional wrinkle before they work on your system - they need an enabler. While Socket Services interface the card to your hardware, and Card Services provide resource management, the PC Card is still not always fully configured. An enabler is often required to place the PC Card at a particular I/O address, memory address, or IRQ. There are three types of enabler software; generic enablers, specific enablers, and point enablers.

Perhaps the most common type of enabler is called a generic enabler (some vendors also refer to these as "super client drivers"). Generic enablers are capable of configuring a wide range of the most common card types such as modems and network adapters, and are usually provided with PCMCIA system software. Generic enablers typically require Socket Services and Card Services to be loaded before it can run. The problem with generic enablers is their demand on conventional memory - it is not uncommon to see a generic enabler demand 40-50KB. Along with socket and card services, the memory requirements to support a PC Card can easily reach over 100KB. This memory problem is most acute when running large native DOS applications. However, unless you’re running more than one type of PC Card, you might be able to use a specific enabler.

A specific enabler is a program designed to configure a single type of PC Card, and may be provided by the PC Card maker (or by a third-party software company). There are two compelling advantages to specific enablers. First, a specific enabler demands only a fraction of the memory used by generic enablers. If you use only one specific type of card, a specific enabler can save up to 40KB of memory. Second, your generic enabler may not support a particular type of PC Card, so a specific enabler can be used to supplement a generic enabler using a minimum amount of additional RAM.

There IS the potential for some problems when both a generic enabler and specific enabler are loaded - and both recognize and configure a particular type of I/O card. An oversight in the PCMCIA specification allows the first enabler to be loaded and configure the card if the card is installed when the machine is booted; if the card is inserted after the machine is booted, however, the last enabler loaded will configure the card. This can create serious problems if the two enablers have different ideas about how the card should be configured, or if the application software depends on a particular enabler to configure the card. Here are the rules for loading generic and specific enablers together:

There is also a third type of enabler called a point enabler. This is similar to a specific enabler in that it is designed to configure a single type of PC Card. Unlike generic or specific enablers, however, point enablers do not require Socket Services or Card Services to be loaded. Instead, they talk directly to the PCMCIA adapter hardware. This has both advantages and drawbacks. The most compelling advantage is memory - since socket and card services are not needed, a point enabler takes up very little memory. Unfortunately, that is where the advantages end. In order to communicate with hardware directly, a point enabler must be designed for specific hardware. As a result, a point enabler usually doesn’t work on all PC Card systems. Also, the point enabler will bypass the socket and card services if they are loaded. This can be a real problem if you want to use other cards at the same time. Generally speaking, bypassing your socket and card services is not a good idea, so reserve point enablers as a last resort (and only if you use no other PC Cards in the system at the same time).

Card types

PCMCIA standards also define the physical dimensions that a PC Card is limited to. There are three types of cards; Type I, Type II, and Type III. Although the length and width of each card remains the same, the thickness of their substrate area can vary (as shown in Fig. 38-5) to accommodate different applications. The classic Type I card is only 3.3mm thick. While this is too thin for mechanical assemblies, it is ideal for most types of memory enhancements. Type II cards run 5.0mm thick which make them ideal for larger memory enhancements and most I/O cards such as modems or LAN adapters. Note in Fig. 38-5 that the edges and connector area (the interconnect area) of the card remain at 3.3mm to fit the card’s slide rails. The Type III card is a full 10.5mm thick which is large enough to accommodate the components for a complete hard drive or radio communication device like a cellular modem. Like Type II cards, the interconnect area remains 3.3mm. This 3.3mm rail height permits thinner cards to be inserted into thicker slots (but not vice versa).

CardBus and Zoomed Video

If you work with PC Cards at all, chances are that you’re going to encounter CardBus and Zoomed Video architectures. The CardBus is a 32-bit implementation of the PC Card which appeared as part of the PCMCIA standard in February of 1995. The CardBus supports bus-mastering data transfers up to 133Mbps at 33MHz. In short, the CardBus is PCMCIA’s answer to the PCI interface used on modern motherboards. Of course, CardBus is not identical to PCI, but it is as close as PC Cards have been able to come.

Zoomed Video (or ZV) is another enhancement to the PC Card which supports a high-speed connection between a PC Card and host computer system. This connection allows the card to write video data directly to the system’s VGA controller. The data is transferred with no buffering requirements because it is transferred over the ZV bus - not the system bus. As a result, ZV cards are ideal for video capture, PC/TV applications.

Inside the card

You can develop a tremendous respect for PC Cards by understanding the fragile and compact assemblies that are inside it. Consider the Maxtor MobileMax Lite shown in Fig. 38-6. The drive contains a single platter, upper and lower R/W heads, a voice coil servo motor to position the heads, a spindle motor to spin the platters, and the circuitry required to handle all drive functions and interfacing. As you might imagine, each element of the PC card must be kept extremely thin - still, it is sometimes difficult to believe that the assembly actually fits into a shell only 0.5 cm thick (Type II). Another important consideration in PC card design is the control and suppression of electrostatic discharge (ESD). Static electricity must be prevented from reaching the card's PC board where IC damage can occur. Once a card is inserted into a system, a discharge tab at the physical interface connector carries away any accumulation of charges to system ground. Until a card is inserted, a card protects its circuitry from damage using the Faraday cage principle - the same principle used by anti-static bags to protect their contents. The shell of most PC cards is either constructed of a metal (such as stainless steel) or some sort of metalized plastic. Both shell halves are bonded together by a small spring. Any charge introduced to the card is quickly dispersed over the entire shell surface instead of being allowed to enter the card.

Hot insertion and removal

One of the great disadvantages to most expansion devices is that computer power must be completely off before the device can be installed or removed. Not only is this necessary to prevent accidental damage from improper insertion, but the traditional BIOS and DOS only allocate system resources when the system is first initialized - they were not designed to accommodate allocating system resources "on-the-fly". Even "Plug and Play" devices only allocate resources during initialization. PC Cards take a major step toward this type of "dynamic resource allocation" with the support of hot swapping. Hot swapping (or hot insertion and removal) refers to the ability to insert and remove cards while the PC power is still on without any degradation or damage to the system or card. Ideally, software applications can recognize the card’s function and adjust accordingly.

While PC Cards supports hot swapping, and can be inserted or removed without fear of damaging the card itself, very few operating systems or application programs are currently "PC Card aware". That is, they do not automatically recognize when cards have been inserted or removed. Therefore, users of any computer with PC Card slots should close any open application programs before inserting or removing a PC Card. Otherwise, the application may not initialize a card that has been inserted, and may lock up when a card is removed.

NOTE: When working with PC Cards, always be sure to close any open applications before inserting or removing cards from the system. If possible, shut the system down entirely.

Understanding attribute memory

One of the greatest challenges facing PC Cards is cross-compatibility - the ability to use various card species from diverse manufacturers in the same card slot. There are quite a few card sizes and types currently in production, and many more card models will be available by the time you read this book. How does the computer "know" when you have replaced your 2MB SRAM card with a 20MB Flash card or a 100MB PCMCIA hard drive? You should understand that a computer capable of accepting PC Cards must be able to detect and adjust to the diverse attributes of each card it may encounter, even though each card may utilize the same physical card interface.

The best analogy to this are hard drives which are available in a staggering array of capacities, heads, cylinders, sectors, and so on, but all those drives can use the same physical interface (i.e. ATA-2). A computer interacts properly with a hard drive because you enter the drive's key parameters in the computer’s CMOS setup routine. The same basic problem exists for PC Cards. However, memory cards are intended to be transient items - inserted and removed at will. Imagine the inconvenience of having to re-enter a card’s key parameters each time a new card is inserted. Even a single typing error can be disastrous for some cards and their contents.

The PCMCIA has supported a standard for memory card services that defines the software interface for accessing cards. The interface can either be a device driver loaded when the computer boots, or designed directly into BIOS ROM or the operating system. In order for this driver system to work, each card must be able to identify itself to the computer. The complete characteristic and ID data for a memory card is held in the attribute memory area of each individual card. Attribute memory contains a surprising amount of information - it must, considering the huge number of potential differences in card layout and features. Attribute memory tells the computer how much storage a card contains, the particular device type (memory, disk, I/O, and so on), the card's data format, speed capabilities, and many other variables.

The contents of attribute memory is typically setup information that falls into one of four categories of PCMCIA's Card Identification System (CIS) - otherwise known as the card’s "meta-format". Those four layers are; the basic compatibility layer indicating how the card’s storage is organized, the data recording format layer specifying how blocks of card information are to be stored, the data organization layer defining the card’s operating system format (i.e. DOS, Microsoft’s FlashFile system, PCMCIA’s XIP, and so on), and any specific standards (or system-specific standards) needed to support an operating system.

The CIS data contained in attribute memory is a collection of related data blocks which are interlinked rather like a chain. Each "link" in this chain (a data block) is called a tuple, and can be up to 128 bytes long. The first byte of a tuple encodes the function of that tuple and its parameters. The second byte in a tuple links to the next tuple (if any) and specifies the precise number of bytes in that tuple. Since you know how long the present tuple is, you know exactly where the next tuple begins. In addition to standard tuples, individual card manufacturers are also free to add their own unique tuples to support proprietary features. it is not necessary for you to know the precise operation of each tuple, but it can help you to be familiar with their nomenclature and general purpose. One of the most important tuples is the Function ID entry called CISTPL_FUNCID. This tuple tells the host computer exactly what kind of card is installed. Table 38-1 shows typical entries for the most popular PC Card types.

Connections

The standard PC Card is connected to a PC through a 68-pin header arranged in two rows of 34 pins as shown in Fig. 38-7. If you look at the header pins closely, you will notice that several of the pins are longer than the others - these are ground pins. By making them longer, a card will be attached to ground first when inserted. Figure 38-8 clearly illustrates how a PC Card interfaces to its mating connector. When the card is removed, ground will still be attached after the power pins have been disconnected. Good grounding helps to ensure the card’s reliability, and permit "hot" insertion and removal. When you look at the assignment of each pin in Table 38-2, you will see that there are basically four types of signals at the PCMCIA interface; data pins, address pins, power (and ground), and control signals. It is this healthy mix of signals that make it possible to support many of the PC Card applications that are available today. Also note that the CardBus PC Cards use the same 68-pin connector, but their signal assignments are vastly different.

PC Card applications

Now that PC Cards are being developed according to release 2.1, they offer a series of compelling advantages for mobile computer users:

PC Card problems

Like all new PC technologies, however, there are some disappointing problems with the early implementations of PC Cards. Before you decide to buy that next "PC Card-compatible" system, you should understand some of the factors that have contributed to PCMCIA’s poor early showing. When the PCMCIA issued release 1.0 in 1990, Socket and Card services did not exist - card makers had to supply their own specific drivers which had to be tested on each specific computer. If the host computer were updated or upgraded, the cards that worked on the older systems would probably not work on the newer ones. This resulted in perplexing compatibility problems.

Socket and Card services were added in 1991 with PCMCIA release 2.0, but the release also brought I/O devices into the PC Card picture. Although this made PCMCIA much more versatile, I/O brought in a host of new problems. Although all I/O cards are supposed to be treated as a generic device, an operating system does not see all devices the same way. For example, an operating system does not treat a hard drive and a modem the same way, but card makers did not take that into account, so compatibility between systems is still an issue. Also, most operating systems are designed to work with resources that are present when a system is booted, so although you may be able to insert and remove cards safely, the operating system can rarely adjust the system resources properly. As a result, many cards have to be installed before the system boots.

Today, most PCMCIA cards work in most systems, and can be inserted and removed without rebooting the computer - but there are no guarantees. The situation has gotten much better over the last year or so, but beware of older PCMCIA systems.

Today’s cards

PCMCIA cards have come a long way since the early memory cards of 1990. Virtually any device that can be implemented on an expansion card can be fabricated as a PC Card. As a technician, you should understand the range of devices that you may encounter when servicing notebook and sun-notebook systems:

Installing a PC Card

Like so many things in PC service, proper installation can avoid a round of troubleshooting later on. This is particularly true for PC Cards because they are completely dependent on software for proper configuration and operation. This part of the chapter describes the general steps involved in setting up a typical PC Card. Of course, always be sure to read the manual that accompanies your card for specific instructions or caveats. Most PC Cards require access to four different pieces of software; the Socket Services, the Card Services, the "enabler" (or "super client driver"), and a resource manager (usually a high-level driver). Table 38-3 lists some typical PC card drivers for DOS, and Table 38-4 lists the PC card drivers for use under Windows.

NOTE: The file names shown in Tables 38-3 and 38-4 are examples often used in Compaq laptops. Your own system may utilize entirely different file names, but their purpose and loading order will almost always remain the same.

If you’re system does not yet support PC Cards (or if you are restoring a failed hard drive), you will need to install the Socket and Card Services first. This should usually be done before installing the card itself. However, keep in mind that most mobile computers come with card and socket services installed already, so you should NOT re-install those applications since they may be optimized for your particular hardware. Power-up the PC and read the driver banners. If you see mention of card and socket services, that software is probably installed already. Windows 95 has a small suite of card and socket service drivers (refer to the PCMCIA Plug and Play card wizard under your Control Panel).

Next, you will need to install the PC Card enabler (you may also see this grouped with Card Services software). In many cases, the diskette accompanying the PC Card will have an installation routine that will add the enabler’s command line to CONFIG.SYS. Otherwise, you will have to add the enabler’s command line manually by editing the CONFIG.SYS file. Once the enabler is added to CONFIG.SYS, save the file and turn off the PC. Insert the card in its card slot, then restart the PC. If the software is installed correctly so far, you should hear a beep as the card is recognized. You will hear two beeps if the card is not recognized (check the card and software installation).

Finally, you will need to install the "resource manager" (or client driver) that accompanies the particular card. For example, a PC Card fax/modem usually requires a fax/modem client driver, or a PC Card hard drive requires an ATA IDE client driver, and so on. Client drivers are often card-specific, so be sure to install the client driver that accompanies your particular card.

You can see an example of how this works by looking at the combination of software in Table 38-5. The program names are examples only (your particular software will use different names). Notice that PC Card support requires several different pieces of software - and the software varies depending on the particular cards that you need to support. For example, an ATA IDE card and a fax/modem card use the same socket services, card services, and enabler, but require two different client drivers. With this type of relationship, you can load ONLY the drivers that are needed to support specific card types.

Optimizing memory in PC Card systems

PC cards are very demanding of conventional memory. For example, a typical PC Card-equipped PC must allocate almost 180KB of conventional memory in order to support the PCMCIA slot and PC Card devices. While this is not so much of a problem in Windows 95, DOS and Windows 3.1x environments can experience severe memory shortages. Fortunately, it is often possible to reclaim some conventional memory (sometimes as much as 115KB). The actual amount depends on the number of drivers required for proper PC Card support, and the size of each respective driver, but the process needed to reclaim memory often breaks down into four steps:

Remove any unnecessary drivers

The first step in regaining the memory normally used by PCMCIA drivers is to remove (or disable) any drivers that are not required in your configuration. If there are PCMCIA drivers that are not currently being used by the particular PC Card, remove them by inserting the word REM (which stands for "REMark") or a single semi-colon (";") at the beginning of the appropriate statement in your CONFIG.SYS file. This will prevent the driver(s) from being loaded the next time the system is booted, and will therefore reclaim the memory that the driver(s) would have used.

NOTE: If you are not currently using PC Cards at all, you can add a REMark to all PCMCIA driver references and delete the X=D000-DFFF exclusion on the EMM386 command line in your CONFIG.SYS file - this disables PCMCIA support entirely. You will regain all the upper memory usually available in non-PCMCIA based PCs, but you will not have access to PCMCIA capabilities.

For example, remarking-out the PCMCIA files ATADRV.EXE and MEMDRV.EXE will recover a bit more than 20KB of memory. Remarking-out the files MS-FLASH.SYS and DBLFLASH.EXE will recover 83KB of memory. Just keep in mind that these drivers must be loaded later if you add an ATA, SRAM, or Flash Memory card to the PC.

Recover unused memory areas

Take control of memory regions in the UMA which you know are not being used. For example, Compaq recommends that if you are not using a monochrome controller in an expansion base, you can recover the monochrome region (B000h-B7FFh) to gain 32KB. To accomplish this, you’d use the "Include" statement in your EMM386 command line such as:

I=B000-B7FF

Remember that you will loose the ability to utilize devices that need that memory region. For the Compaq example, you’d loose the ability to use monochrome cards in an Elite SmartStation.

NOTE: If you have any problems entering Windows after making this change you may need to add the following to the [386enh] section of the SYSTEM.INI file:

DEVICE=C:\DOS\MONOUMB.386

Utilize any PCMCIA reserved window

The next step is to make use of any reserved memory in the UMA not being used by PCMCIA cards. As an example, new Compaq PCMCIA-based PCs reserve a 64KB window of memory in the UMA from D000h through DFFFh for PC Cards to reside in. Card Services requires 4KB of that memory, but most cards that you install do not require the balance of 60KB. In fact, some cards do not require any memory in this area other than the 4KB required by Card Services (to determine how much memory your PC Cards require, consult the card’s user guide or call the manufacturer).

First, determine how much memory each of your PCMCIA cards require in order to initialize. For example, PCMCIA modems usually do not require any memory, and most PCMCIA Ethernet adapters require only 8 to 12KB. If your memory requirements are relatively small, you can usually move the PCMCIA window out of the D000h range allowing for larger contiguous UMBs. A good place to move this range to is the C800h area (so long as no other devices have BIOS residing in this area).

Modify your CONFIG.SYS file by moving the PCMCIA card initialization area out of the D000h range and reducing the amount of memory used from 64KB to a smaller amount. As an example, a modem (with the 4KB Card Services overhead) and Ethernet Card will usually only require 16KB or less, so you can change the default EMM386.EXE statement of:

X=D000-DFFF

to

X=C800-CBFF

The example above will yield a 48KB gain in the UMA. If you are unable to determine just how much memory your card requires to initialize, it may take several "trial-and-error" attempts to assess how much memory it requires. In this example, you may even be able to recover more memory since some Ethernet PCMCIA cards require less than 12KB. You will also need to modify the card services .INI file (i.e. CSALLOC.INI) by adding or editing the MEMEXCLUDE entry to exclude the newly defined C800-CBFF range such as:

MEMEXCLUDE=CC00-EFFF

This will tell Card Services to avoid using any memory above CC00h to configure PCMCIA cards. Finally, modify the [386Enh] section of your SYSTEM.INI file to include an EMMEXCLUDE statement that matches the range excluded on the EMM386.EXE line in the CONFIG.SYS file. For this example, the line must read:

EMMEXCLUDE=C800-CBFF

NOTE: Whenever you alter the exclusion range in your EMM386 line, be sure to modify the MEMEXCLUDE statement in your card services .INI file, and the EMMEXCLUDE statement in the SYSTEM.INI file to match.

Change the driver loading order

Shifting the load order of your specific drivers (but not the PCMCIA drivers themselves - they must remain in the same order) may allow you to load more drivers into upper memory. To do this, you can manually adjust the driver order through "trial-and-error" by changing the execution order in the CONFIG.SYS file. Alternatively, you can try to force specific drivers into desired regions of upper memory by using the /L: option for DEVICEHIGH (CONFIG.SYS) and LOADHIGH (AUTOEXEC.BAT).

NOTE: The load order of PCMCIA drivers themselves should not be modified.

Example: IBM Token Ring PC Card

As an example, let’s look at some typical configuration files for an IBM Token Ring PC Card on a Compaq laptop. You’ll need to attack the memory problem in four steps; optimize the card’s resource assignments (the IBM Token Ring adapter uses utility called PCCARD to change the card’s I/O, IRQ, and memory assignments), modify CONFIG.SYS, modify SYSTEM.INI, and modify the card services .INI file (i.e. CSALLOC.INI).

CONFIG.SYS example

DEVICE=C:\DOS\HIMEM.SYS

DEVICE=C:\DOS\EMM386.EXE NOEMS I=B000-B7FF X=C800-D0FF I=D100-EFFF

DEVICEHIGH=C:\DOS\SETVER.EXE

FILES=60

BUFFERS=20

DOS=HIGH,UMB

LASTDRIVE=E

FCBS=4,0

STACKS=9,256

SHELL=C:\DOS\COMMAND.COM C:\DOS\ /E:512 /p

REM *** Begin PCMCIA Drivers, DO NOT Change Order ***

DEVICEHIGH=C:\CPQDOS\SSVLSI.EXE

DEVICEHIGH=C:\CPQDOS\CS.EXE /IRQ A

DEVICE=C:\CPQDOS\CSALLOC.EXE

REM DEVICEHIGH=C:\CPQDOS\ATADRV.EXE

DEVICEHIGH=C:\CPQDOS\CARDID.EXE C:\CPQDOS\CARDID.INI

REM DEVICEHIGH=C:\CPQDOS\MEMDRV.EXE

REM DEVICEHIGH=C:\CPQDOS\DBLFLASH.EXE

REM DEVICEHIGH=C:\CPQDOS\MS-FLASH.SYS

REM *** End PCMCIA Drivers ***

DEVICEHIGH=C:\DOS\POWER.EXE

DEVICEHIGH=C:\DXM\DXMA0MOD.SYS

DEVICEHIGH=C:\DXM\DXMC0MOD.SYS ,CC00

SYSTEM.INI Example

[386ENH]

Add the entry:

DEVICE=C:\DOS\MONOUMB.386

and change the entry:

EMMEXCLUDE=D000-DFFF

to:

EMMEXCLUDE= C800-D0FF

This range should reflect the exclude statement on the EMM386 line in your CONFIG.SYS file.

CSALLOC.INI Example

MEM=C800-D0FF

RIO=170-177,2E8-2EF,370- 377,3E8-3F7,3F0-3F7

IOINCLUDE=3F0-3F7

MEMEXCLUDE=B000-B7FF,C000-C7FF,D100-EFFF

Troubleshooting PC Card problems

The PCMCIA represents an interface - not a particular card. As a consequence, PC Card troubleshooting is rather like solving problems with any other type of bus interface (SCSI, ISA, VL, and so on). The objective is not to repair a PC Card itself, but rather to isolate a functional problem to the card, the interface itself, or some portion of the host system’s driver configuration and operating system. When you determine a PC Card to be defective, your best course is to replace the card outright, or return it to the manufacturer for repair.

Symptom 38-1. The SRAM or flash card looses its memory when powered down or removed from the system. Since flash cards make use of advanced EEPROMs you might wonder why batteries would be incorporated. Some flash cards use a small amount of SRAM to speed the transfer of data to or from the card. Batteries would be needed to backup the SRAM only. If your memory card does not appear to hold its memory, you should start your investigation by removing the memory card and testing its batteries. Make sure the card's batteries are inserted properly. Use your multimeter to check the battery voltage(s). Replace any memory card batteries which appear marginal or low. You should expect a 2 to 5 year backup life from your memory card batteries depending on the amount of card memory - more memory results in shorter battery life. All battery contacts should be clean and bright, and contacts should make firm connections with the battery terminals.

Try a known-good working card in your system. You may verify a new or known-good memory card on another computer with a compatible card slot. If another card works properly, your original memory card is probably defective and should be replaced. Under no circumstances should you actually OPEN the card.

Symptom 38-2. You are unable to access a memory card for reading. You may not be able to write to the card either. Begin troubleshooting by checking memory card compatibility (programmed OTPROM cards and Mask ROM cards can not be written to). If a memory card is not compatible with the interface used by your small-computer, the interface may not access the card. For example, a PCMCIA-compatible 68 pin card will probably not work in a 68 pin card slot that is not 100% PCMCIA compatible. Try a known-good compatible card in the suspect card slot. Also check your CONFIG.SYS or AUTOEXEC.BAT files to be sure that any required device drivers have been installed during system initialization. If you are having difficulty writing to an SRAM or flash card, take a moment and inspect the card's write protect switch. A switch left in the "protected" position prevents new information from being written to the card. Move the switch to the "unprotected" position and try the memory card again.

If you are having difficulty writing to EEPROM or Flash EEPROM cards, check your programming voltages (Vpp1 and Vpp2). Without high-voltage pulses, new data can not be written to such cards. Measure Vpp1 and Vpp2 with your oscilloscope with the card removed from your system (it may be necessary to ground the card detect lines (CD1 and CD2) to fool the host system into believing that a card is actually installed. You will probably have to disassemble your small-computer’s housing to gain easy access to the motherboard’s card connector. If one or both programming pulses are missing during a write operation, check your power supply output(s). When high-voltage supplies are missing, troubleshoot your computer’s power supply. If programming voltage(s) are present, there may be a defect in the card controller IC or board, or any discrete switching circuitry designed to produce the programming pulses. Try replacing the card controller (or motherboard).

The memory card may be inserted incorrectly. Two card detect signals are needed from a PCMCIA-compatible card to ensure proper insertion. If the card is not inserted properly, the host system will inhibit all card activities. Remove the card and re-insert it completely. Make sure the card is straight, even, and fully inserted. Try accessing the card again.

If trouble remains, remove the card and inspect the connector on the card AND inside the computer. Check for any contacts that may be loose, bent, or broken. It may be necessary to disassemble the mobile computer in order to inspect its connector, but a clear view with a small flashlight will tell you all you need to know. Connections in the computer that are damaged or extremely worn should be replaced with a new connector assembly. When a memory card connector is worn or damaged, the memory card should be replaced

If your results are still inconclusive, try a known-good memory card in the system. Keep in mind that the new card must be fully compatible with the original one. Make sure that there are no valuable or irreplaceable files on the known-good card before you try it in a suspect system. If a known-good card works properly, then the old memory card is probably damaged and should be replaced. If a known-good card also does not work, the original card is probably working properly. Your final step is to disassemble your computer and replace the memory card controller or motherboard. A defective controller can prevent all data and control signals from reaching the card.

Symptom 38-3. You see an error message indicating that a PCMCIA card will not install or is not recognized. Chances are that one or more device drivers in the system are interfering with the offending PCMCIA card. Load your CONFIG.SYS file into an ordinary text editor and systematically edit out any other PCMCIA drivers. Try re-initializing the system after each change. Once you locate the offending driver, try reconfiguring the driver such that it will not interfere (maybe a new driver or patch is available).

Symptom 38-4. Even though a desired card is installed, an error message or warning is displayed asking you to insert the card. The PCMCIA card may not be installed properly. Try removing the card, then re-insert it carefully. The card socket may not be enabled, so the application may not be able to see it. Make sure that the card socket is enabled. For most systems (such as the Canon NoteJet 486 which ships with the PCMCIA socket turned off), the solution is to get into the BIOS setup for the computer, and to enable the PCMCIA socket. Check the documentation for your system to find out how to get into the BIOS setup. Sometimes this feature is located in the "advanced settings" or in the "power management" area of the BIOS settings. After you have changed the settings, save the changes and restart your system. In more advanced systems (such as the Compaq Concerto), you can turn the PCMCIA socket off and on with the computer's setup utility under Windows. After changing the settings, save the changes and restart your system.

Another possibility might be that the application program interacting with the PCMCIA slot is addressing the wrong interrupt line for insertion or removal. Check for any card socket diagnostics and determine which interrupt(s) the application is trying to use for Card Status Change. Check the device driver for the card and add an explicit command line switch to specify the desired interrupt. If an interrupt is already specified, make sure that this is the correct one.

Symptom 38-5. You encounter a number of card service errors or other problems when anti-virus programs are used. Such errors include "Card Services Allocation Error", "Error: configuration file not found", "Error: Could Not Open Configuration File", or "Error using Card Services". Under some circumstances, an anti-virus program can interfere with PCMCIA card services. The Norton anti-virus program NAV&.SYS is known to cause this sort of problem if it is loaded before the card services software. There are typically three ways around this type of problem. First, re-arrange the order of drivers called in your CONFIG.SYS file so that NAV&.SYS comes after the card services software. Second, use NAV_.SYS instead of NAV&.SYS. While NAV_.SYS requires more space than NAV&.SYS, but it is better at co-existing with other memory-resident programs. Third, remove NAV&.SYS and use NAVTSR instead. If you are using anti-virus programs, try remarking them out of CONFIG.SYS or AUTOEXEC.BAT.

Symptom 38-6. There are no pop-up displays when a PC card is inserted or removed. Normally, when a card is installed or removed, a dialog box will appear indicating the card that has been inserted or removed. However, there are three reasons why this might happen. First, the DOS pop-up function - also called a "card event manager" - is disabled under DOS (but still works under Windows). Check the card services software and make sure that the proper command line switches are set to enable the DOS pop-up. Second, there may be an upper memory area (UMA) conflict. Many card managers require 10KB or more of UMA (each). If there is no free UMA, the card manager can not read the card’s attribute memory to install the card. Make sure that there is plenty of UMA space available for the card services software, and check that it loads properly. Third, the PCMCIA card may not be supported by the card services software - the two might not be fully compatible. Try a different card, or update the card services software.

Symptom 38-7. The application locks up when a PC card is inserted or removed. Not all applications are fully PCMCIA-aware - that is, they do not recognize card insertion and removal properly. If your application crashes or locks up when a card is inserted or removed, chances are that the application is not written to handle hot insertion or removal with the card services software being used. Try inserting the card before starting the application, or close the application before removing it.

Symptom 38-8. The fax/modem card works fine in DOS, but refuses to work in Windows 95. In virtually all cases, the port addresses and IRQ assigned by Windows 95 do not match the assignments the card is expecting. Go to the Control Panel, double-click on Ports, and double-click on the COM Port you are assigning to your fax/modem. Then go to Advanced and check to see if the Port Address and IRQ match your fax/modem settings. If they don't, put in the proper settings and restart Windows 95.

Symptom 38-9. The mouse/trackball locks up or acts strangely after a fax/modem card is installed. Chances are that the pointing device is sharing the same IRQ as the fax/modem card. In most cases, changing the fax/modem card IRQ assignments will correct the problem (though you may also change the pointing device IRQ instead).

Symptom 38-10. My peripheral (i.e. sound card, scanner, or so on) no longer works now that the PC Card is installed. This type of problem almost always indicates a hardware conflict. In most cases, the IRQ assigned to the PC Card is conflicting with the IRQ assigned to the malfunctioning device. Survey your system and determine the IRQs used by every device. You can change the IRQ of the PC Card, or change the IRQ of the other conflicting device. In either case, you’ll need to restart the PC after you make those changes.

Symptom 38-11. The PCMCIA CardSoft enabler software won't install. You probably have a PCMCIA enabler already installed on the system. If enabler software is already installed, it MAY support your card. If so, you can skip the new enabler software. If not, you need to remove the current enabler software, and then install the new enabler software.

Symptom 38-12. When installing a PC Card such as a fax/modem card, you find that the desired COM port or IRQ is not available. In virtually all cases, the needed COM port or IRQ is being used by another device. Check for hardware conflicts, and reset the PC Card to use different resources.

Symptom 38-13. You don't hear the proper number of beeps when inserting a PCMCIA card. When the PC Card is inserted into a slot properly, you should hear a certain number of beeps. In most cases, this will be either one or two beeps (depending on your particular card software). If you don’t hear the correct number of beeps, chances are that the card has not been inserted properly into its socket.

Symptom 38-14. The card’s configuration refuses to accept memory addresses (if needed). Some PC Cards require certain memory resources for proper operation. If you are prohibited from assigning those addresses to the PC Card, chances are that those memory locations are being used by another device in the system. Check for resource conflicts. You can usually resolve memory conflicts by changing the address assigned to the PC Card, or the address assigned to the conflicting device.

Symptom 38-15. Other programs stop working or change their behavior after the card software is installed. In most cases, new .DLL files installed to support the PC Card have changed shared files used by other programs. Check with the technical support for your particular PC Card maker and see if there are any problem files identified - and see if there are any updated files available. If so, you can usually download the corrected file and copy it to the /windows/system directory (or other suitable directory). If no corrected file is available, you will need to un-install the PC Card, and restore the original shared files from installation disks or tape backups.

Symptom 38-16. When starting a client driver under Windows 95, the message "Client registration failed" appears. In most cases, the client driver is not installed, or not installed properly. In principle, you’ll need to remove any traces of the client driver, then reinstall the client driver from scratch. You may also have resource conflicts which prevent the client driver from loading. For example, consider problems with Nogatech’s CaptureVision 95 client driver:

  1. Highlight the "NOGATECH NOGAVISION" entry and click the Remove button. Now, remove the card from your computer.
  2. Go to the Windows\INF directory.
  3. Look for an "OEMx.INF" file (where x can be any digit) - don't worry if you can't find any OEMx.INF files.
  4. Rename the file(s) to OEMx.BAK (where x is the digit).
  5. Look for a NOGATECH.INF file and delete the file - don't worry if you can't find the file.
  6. Now go to the Windows\System directory.
  7. Look for any files starting with "noga". Delete any files starting with "noga".
  8. Now, reinstall the software and start CaptureVision 95 when finished with the setup.
  1. Double-click the line "Sound, Video, and Game Controllers".
  2. You should see the line "Nogatech Nogavision Video Capture".
  3. If you do not get this line, try to install the software once again.
  4. If you see an exclamation mark in front of the line "Nogatech Nogavision Video Capture" you have resource problems and the drivers have not been loaded.

Symptom 38-17. The PC Card will not configure properly. An I/O Address conflict message is displayed. There is a resource conflict between several PC Cards. For example, network and SCSI PC Cards often require the same I/O addresses. You will need to find available I/O space, then reconfigure one of the conflicting devices to use that available space.

Check for point enablers. Most PC Cards depend on Card and Socket Services software, as well as generic enablers, for proper configuration. However, point enablers bypass card and socket services. If you can use a generic enabler instead of a point enabler, try removing the point enabler. As a rule, point enablers should not be used when there is more than one PC Card in the system.

Check for I/O resources using a program such as MSD (Microsoft Diagnostics), and note any regions of I/O space that are unused. If the cards provide several different "prefabricated" configurations, try each of those configurations - chances are that one of those configurations will work on your computer. If none of the "prefabricated" configurations will resolve the problem, you will need to manually change one of the cards to use free space available in the system. In many cases, this can be accomplished by making command line changes to the card’s enabler or client driver. Once you finish making changes, you’ll need to reboot the computer for your changes to take effect.

Symptom 38-18. My system hangs when Card Services loads. First, check to see that you are only loading one copy of Card Services software - attempting to load a second copy can sometimes hang the system. It is also possible that the PC Card software configuration file (typically an .INI file such as PCM.INI) may be set up improperly. You may need to modify the configuration file to place the Card Services software in the "poll" mode (i.e. /POLL). Refer to the documentation that accompanied your software or system for more information on configuration modes.

Symptom 38-19. You get an "Invalid command line switch" message displayed when loading services or client drivers. You may be placing command line switches in the wrong places. Traditionally, command line switches are placed on the actual command lines in CONFIG.SYS or AUTOEXEC.BAT. For some PC Card installations, however, command line switches must be entered in the PC Card configuration file (an .INI file such as PCM.INI). In some cases, switches must be entered in the configuration file INSTEAD of the actual command line entry.

Symptom 38-20. You have a Xircom Combo card (i.e. fax/modem and LAN) and cannot get it to work with standard card manager software. This is typically because Xircom developed a non-PCMCIA compliant combo card (marked "Combo Card") prior to the ratification of the new PCMCIA standards. As a consequence, the card is supported with proprietary software. You will have to install proprietary software in order to use the Xircom Combo Cards. Only cards marked "PC Card compliant multi-function cards" are supported by standard software.

Symptom 38-21. You get a "Abort, Retry, Ignore" message when accessing an ATA PC Card. In most cases, you are missing the client driver for your ATA PC Card (in CONFIG.SYS), or the wrong client driver is installed. You will need to install the proper client driver for your ATA PC Card, then reboot the system and watch for the drive letter assigned to the socket.

Symptom 38-22. You can't get any sound from the PC Card sound device, or you get an error message saying that it can't talk to card services. As with many network cards, most PC Card sound devices have their own client driver software that configures the card. If you try to use the card with standard card management software, you will need to remove the sound device from that software, then install the PC Card-specific software after Socket and Card Services (other card management software) has been loaded.

Symptom 38-23. When you insert a Practical Peripherals PractiCard 14,400 bps modem (revision A) in a PCMCIA slot, the modem may not be initialized. This is a hardware problem with older Practical Peripherals PC Card modems. You will need to upgrade the modem to revision B or later in order to correct the problem.

Symptom 38-24. The SRAM card refuses to work. In many cases, this is a software problem. SRAM cards are supported by an ATA PC Card driver - in effect, the SRAM card is treated like a drive. Make sure that the proper client driver is installed for your particular SRAM card. Also make note of the drive letter assigned to the SRAM card during system initialization. Point enablers for an SRAM card can also cause problems when there are other cards in the system being supported with Socket and Card Services or other enablers.

Symptom 38-25. When you first install your PC Card software, you get the error message; "No PCMCIA Controller found". In virtually all cases, the software version that you are using does not support the PCMCIA controller used in your system. You will need to contact the software maker (or the system maker) and see if there is an updated version or patch available for the PC Card software. It is also possible that the system’s PCMCIA controller is disabled (in CMOS), or that it is defective.

Symptom 38-26. When a program attempts to identify or check the status of a PC Card modem, the program may stop responding (or cause the computer to hang) if the modem has been powered off using power management features. The problem occurs when the program makes calls to the modem, but the modem had been powered off with power management features. Ideally, you should not be able to make calls to a device while it is in idle or power-down mode, but some programs allow this to happen. In turn, the program making the calls can crash, or take the system with it. This is a known problem in Microsoft’s OSR2 for Windows 95. For now, the only way around the problem is to disable power save functions on the PC Card, or shut down the offending program before allowing the PC Card to go idle.

Symptom 38-27. When you eject a PC Card network adapter from a CardBus socket without stopping the card in PC Card properties, your computer may restart. This is a software-related problem encountered under Windows 95 - the PC Card network adapter is removed from the CardBus socket without properly notifying VMM (the software that controls the resources used by the PC Card). The software continues to "think" the PC Card is installed, even after the card is removed, and subsequent access causes the system to crash. The only workaround at this time is to stop the PC Card network adapter using the PC Card tool in your Control Panel (or the PC Card icon on the taskbar) before you remove the network adapter PC Card.

Symptom 38-28. After a multi-function PCMCIA adapter is installed, the adapter may appear as a "parent" node below a "child" node in the Windows 95 Device Manager. In almost all cases, this is due to a problem during device installation - the .INF file used to install the device has been processed incorrectly. Unfortunately, this is not a Windows 95 problem, but a manufacturer-specific .INF file problem. Contact the PC Card manufacturer and see if there is an updated .INF file or other workaround for the problem.

Symptom 38-29. After a second boot with a CardBus PCMCIA controller installed in your computer, the Device Manager may display a red "X" for one or more PCMCIA sockets on your system. Red "X"s mean that the sockets are disabled. CardBus controllers are dynamically enabled during the first boot after installation (even though they are installed disabled). On the second boot, Windows 95 recognizes that the device is disabled and reports this to the Device Manager. Enable the PCMCIA CardBus controller:

When Windows 95 restarts, the PCMCIA Wizard runs to help you configure the PCMCIA controller. CardBus controllers must be explicitly enabled to start the PCMCIA wizard on the second boot.

Symptom 38-30. After installing Windows 95 OSR2, the Device Manager may display a PCIC-compatible PCMCIA controller as a conflicting resource (an exclamation point in a yellow circle). This typically happens with CardBus PCMCIA controllers. CardBus controllers had been initialized by BIOS into the PCIC-compatible mode for backward compatibility. Unfortunately, OSR2 disables the PCIC compatibility mode in BIOS and configures the controller straight to CardBus mode. However, it neglects to remove the PCIC-compatible controller entry from your Device Manager. You will have to remove the PCIC-compatible entry from your Device Manager manually:

Symptom 38-31. When using a 3COM Elnk3 PCMCIA network card and a Xircom CE2ps PCMCIA network card together on a DEC HiNote Ultra CT475 computer, the Xircom card is not recognized. You’ll find that the Xircom card does not appear in the Device Manager or the PCMCIA tool in your Control Panel. This is a system-specific problem which can be rectified by inserting the Xircom CE2ps card first, then inserting the 3COM Elink3 card.

Symptom 38-32. When you use the Suspend command on certain Gateway laptop computers, battery power continues to drain. This is a known problem with Gateway ColorBook 4SX25, ColorBook 4SX33, ColorBook 4DX33, Liberty, and Solo systems, and is due to a BIOS bug. When the Suspend mode is implemented, the PCMCIA slots should receive 0.0 volts. Instead, the slots are receiving 2.5 volts. This continues to drain the battery. Upgrade the BIOS on those systems to correct the problem.

Symptom 38-33. When you insert a Hayes Optima 14.4 PCMCIA modem into a PC Card socket, you hear a single (low) tone (or other indication) that the PCMCIA modem has not been recognized. This is typically a modem hardware problem - versions of the Hayes Optima PCMCIA 14.4 modem before version 2.6H do NOT work with Windows 95 PC Card Socket Services. These older modems can be easily identified by their beige color (later modems are silver). In a situation like this, there is no workaround other than to upgrade the PCMCIA modem to a later version.

Symptom 38-34. When you use the Windows 95 Compression Agent with a removable PCMCIA hard disk, the Compression Agent may restart continuously at 10% finished. This can occur if the drive is marked as "removable" in the Device Manager. Fortunately, there is a workaround:

Unfortunately, once the PCMCIA drive is no longer marked as "removable", you may no longer be able to swap drives on the fly.

Symptom 38-35. When you start Windows 95 with a PCMCIA hard disk inserted in the computer's PCMCIA slot, the hard disk seems to be recognized, but may not be available in Windows 95. This is a problem with Windows 95 which can occur if your computer does not have an IDE hard disk controller installed. If there is no IDE hard disk controller installed, the PCMCIA hard disk is assigned IDE port 1F0h. Since this port is normally associated with the primary hard disk controller, Windows 95 treats it differently from other IDE ports and does not assign it a drive letter. To get around this problem, remove the PCMCIA hard disk after Windows 95 starts, and then insert the disk into the PCMCIA slot again.

Symptom 38-36. When you insert a PCMCIA disk drive into a PCMCIA slot, your computer beeps (indicating that the PCMCIA card is recognized) but the disk drive is unavailable in Windows 95. This is often due to a hardware conflict - the PCMCIA disk controller may be configured to use I/O ports 170-177 and your computer may use the same ports for other purposes. Check the resource settings in Device Manager. If the PCMCIA disk controller is using ports 170-177, you can try reserving I/O ports 170-177 (forcing Windows 95 to configure the PCMCIA disk controller at another I/O address):

As an alternative, try disabling any secondary disk controller that uses I/O ports 170-177 in the computer's CMOS settings.

Symptom 38-37. When you attempt to dial under Windows 95 using an Integrated Services Digital Network (ISDN) connection, your computer may hang. This is a hardware-specific problem that has been known to occur with Eicon PCMCIA ISDN adapters. The hardware version of the adapter does not support dialing under Windows 95 properly. Unfortunately, you will have to correct this hardware problem by updating to a new ISDN adapter.

Symptom 38-38. When you try to send a fax from a cellular phone using Microsoft Exchange and a Motorola Power 14.4 PCMCIA modem, your fax feature may not work. This is a problem with Microsoft Exchange - the default initialization string sent to the modem from Microsoft Exchange initializes the modem for non-cellular calls only (regardless of the status of the Use Cellular Protocol option in Modems properties). You will need to edit your Windows 95 Registry with REGEDIT.EXE to correct the problem.

NOTE: Altering Registry values can have devastating effects on your Windows 95 system. Always make a backup copy of the Registry files (SYSTEM.DAT and USER.DAT) before starting your edit.

The following registry key contains the initialization strings for installed modems (where <xxxx> is the modem ID number). To determine which ID is the correct modem, see the DriverDesc key.

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\Modem\<xxxx>\Init

Use the following value to use the modem with a cellular phone:

"2"="AT&F1&D2&C1\\V1S0=0E0V1<cr>"

To return the initialization string to normal (land use), change the key to:

"2"="AT&F&D2&C1\\V1S0=0E0V1<cr>"

NOTE: You can reset these values to their default values by removing the modem in Device Manager and then reinstalling it.

Symptom 38-39. When you run Windows 95 on a Dell Latitude XP Notebook computer with a port replicator, PC Card services may not be available. There will probably be no listing for the PC Card socket in the Device Manager, and the PC Card icon may be missing in your Control Panel. The Dell port replicator is fitted with a SCSI adapter, but by default, both the PC Card socket and the SCSI port use the same IRQ (often IRQ 11). You will have to change the setting for the PC Card socket:

Symptom 38-40. When you try to undock a laptop computer with a PCMCIA card installed in a Databook PCMCIA controller socket, you may receive the following error message; "The computer failed to undock". This is generally a problem where the PC Card adapter is interfering with the docking port adapter. The only known workaround to this problem is to remove all PC Cards from their sockets before undocking the mobile computer - afterward, the Eject command on your Start menu should work correctly.

Symptom 38-41. When you insert a PCMCIA SRAM or flash memory card into a Windows 95 computer that has been configured to use protected-mode PCMCIA card drivers, there may be no drive letter in My Computer or Windows Explorer associated with the PCMCIA card. This can occur even though the card seems to be recognized properly and the appropriate driver appears to be installed. The problem is often that while the drivers may be installed, they are not installed correctly - the protected-mode drivers for SRAM and flash PC Cards must be installed differently than drivers for other cards. To install a PCMCIA SRAM card in Windows 95, you must place one or more entries in the CONFIG.SYS file such as:

device=c:\<windows>\system\csmapper.sys

device=c:\<windows>\system\carddrv.exe /slot=<x>

where <windows> is the Windows folder and <x> indicates the number of PCMCIA card slots in the computer. To install a PCMCIA flash memory card in Windows 95, you must also place some driver entries in CONFIG.SYS such as:

device=c:\<windows>\system\csmapper.sys

device=c:\<windows>\system\carddrv.exe /slot=<x>

device=c:\<windows>\ms-flash.sys

where <windows> is the Windows folder and <x> indicates the number of PCMCIA slots in the computer.

NOTE: Not all SRAM and flash card drivers are included with Windows 95. In many cases, you will need to use drivers provided with the particular cards.

NOTE: If you use only protected-mode drivers for SRAM and flash cards, you will not have access to the cards if you boot your computer to a command prompt.

Symptom 38-42. You are logged on without a password. When you remove a Plug and Play network adapter in Device Manager and then restart your computer, the network adapter is redetected, and you are logged on to the network and validated by a Microsoft Windows NT server without entering a password. This problem also manifests itself when you remove a PCMCIA network adapter from the PCMCIA socket in your computer, restart your computer, and then reinsert the PCMCIA network adapter, you are logged on to the network and validated by a Windows NT server without entering a password. This can occur under three circumstances; you have a null Windows password, password caching is enabled, or user profiles are enabled.

To correct these problems, configure Windows 95 so that your Windows password is not null, or use the System Policy Editor to disable password caching. To configure Windows 95 so that your Windows password is not null, follow these steps:

Use the following steps to edit the registry with System Policy Editor and disable password caching in Windows 95:

Symptom 38-43. You have trouble with incompatible NDIS driver versions. When you are using a portable computer with a PCMCIA network adapter that uses NDIS 2.0 (16-bit) drivers, the computer may stop responding (hang) or reboot when you try to start it while it is not docked in its docking station if the docking station contains a network card that is capable of using NDIS 3.x (32-bit) network adapter drivers. This happens because Windows 95 detects the NDIS 2.0 drivers for the PCMCIA network adapter and forces the loading of NDIS 2.0 drivers for the other network adapter (which is not currently present because the computer is undocked). Because one of the network adapters is not present, an incomplete binding occurs, which can cause the computer to hang or reboot. To enable Windows 95 to start whether the computer is docked or undocked, create a multiple-boot configuration.

NOTE: Before you attempt to create a multi-boot configuration, make sure that you have a docked state that requires an NDIS 3.x driver to be loaded and an undocked state that requires an NDIS 2.0 driver to be loaded (or vice versa).

Symptom 38-44. You can’t set up the PCMCIA slot in an AT&T Globalyst 130 laptop. This is because the Globalyst 130 requires an unusual PCMCIA card setup compared to other Globalyst laptops. The AT&T Globalyst 130 does not have any options in the BIOS for enabling/disabling the PCMCIA socket services on the laptop. Instead, the socket must be enabled by loading the device driver, SS365SL.EXE, in the CONFIG.SYS file. This file is a socket enabler, and must be loaded for protected-mode socket services to initialize in Windows 95. Without this file, the PCMCIA socket services are disabled.

Symptom 38-45. When you are using a Motorola Power 14.4 Cellular Modem with Windows 95, you may not be able to dial the second time you try to use the modem. The initialization string used for this modem in Windows 95 enables a "dial suffix" - the dial suffix (also known as "staged dialing") enables transmission of tones after the connection has been made without breaking the connection. This feature is often used in such applications as electronic banking. With staged dialing enabled, you must remove and reinsert the PC Card modem each time you want to dial. You can disable staged dialing by editing the MDMMOTO.INF file:

HKR, Settings, DialSuffix,, ""

NOTE: Be sure to make a backup of the .INF file before beginning your edit.

Symptom 38-46. A PCMCIA Token Ring network adapter refuses to work in the computer. This type of problem can occur when the following combination of conditions exist. First, the token ring network adapter uses an address range of A20h-A2Fh. Second, the PC has a sound board or other device in the address range of 220h-22Fh. And third, only the 10 least significant digits are used to resolve I/O addresses. Since the Windows 95 I/O arbitrator only pays attention to the first 10 bits of any I/O allocation, devices that have I/O allocations that conflict in a 10-bit decode are registered by the system as having an I/O address conflict. As a consequence, this is a problem with Windows 95. You can work around this problem by manually configuring both devices:

NOTE: If these values continue to conflict with other devices, you may have to use different values.

Symptom 38-47. You restart the computer improperly after installing PCMCIA drivers. After you run the PCMCIA Wizard to install protected-mode Socket Services for a PC Card, you are instructed to shut down Windows 95 and then turn your computer off and back on. If you restart your computer by pressing <Ctrl>+<Alt>+<Del> instead of turning the computer off and back on, you may receive an error message stating that the PCMCIA drivers are not working correctly. The problem is that the protected-mode drivers for the PCMCIA controller may not initialize correctly when you perform a warm boot because the real-mode drivers still have control of the device. Correct the problem by performing a cold reboot of the system.

Symptom 38-48. In System Agent, the Last Result column for a ScanDisk task may report "Check was stopped because of an error". However, the SCANDISK.LOG file does not list any errors, and you do not encounter any errors if you run ScanDisk manually. This problem may be caused by an invalid drive in ScanDisk's DrivesToCheck registry setting - the setting can become invalid if a drive that existed when the ScanDisk task was created is subsequently removed. For example, this problem can occur when you remove a PCMCIA drive, uncompress or unmount a compressed drive, or remove a laptop computer from its docking station. The way around this problem is to delete the existing ScanDisk task and schedule a new task - or run ScanDisk manually.

Symptom 38-49. When you start Windows 95 on a Zenith ZDS 1762 laptop computer, the computer may stop responding (hang) while Windows 95 is running the CONFIG.SYS file. This problem occurs if PCENABLE.EXE (Zenith's PCMCIA driver) is loaded before MZTINIT.SYS (Zenith's Mozart sound system driver) in the CONFIG.SYS file. When this occurs, PCENABLE.EXE installs a hook for IRQ 7, which MZTINIT.SYS also tries to use. Edit the CONFIG.SYS file and move the Mozart sound driver above any PC Card drivers. Save your changes, then restart the computer.

Symptom 38-50. When you use the Suspend feature on a Dell Latitude XP laptop computer connected to a port replicator, your PCMCIA devices may not reactivate when you exit the Suspend mode. This problem can occur with BIOS version A05 or earlier. BIOS versions A05 and earlier do not send an Advanced Power Management (APM) "resume" event to reactivate PCMCIA devices when the computer is connected to a port replicator. You may avoid this problem by NOT using the Suspend feature while the laptop is connected to a port replicator. To resolve the problem on a more permanent basis, you will need to update the laptop’s BIOS version.

Symptom 38-51. You have trouble using similar cards simultaneously. For example, if you start Windows 95 with one Xircom PCMCIA network card inserted in the computer, the card works correctly until you insert a second Xircom PCMCIA network card. When you insert the second card, the second card works correctly and the first stops working. If you remove and reinsert the first card, it works correctly and the second card stops working. This happens because both cards have the same PCMCIA ID but different checksums - the cards both appear to be the same card to Windows 95, so Windows 95 switches system resources from one card to the other. Ultimately, if you must run two network cards at the same time, they cannot both be Xircom network cards.

Symptom 38-52. The Zenith Zplayer PCMCIA CD-ROM adapter does not function correctly using Windows 95 32-bit drivers. In virtually all cases, the 32-bit PCMCIA drivers included with Windows 95 are not compatible with the Zenith Zplayer PCMCIA adapter. You will need to disable the 32-bit PCMCIA drivers:

NOTE: Do not run the PCMCIA Wizard to install the 32-bit PCMCIA drivers.

Symptom 38-53. On a computer with only one PCMCIA socket, Windows 95 cannot set up a new PCMCIA card if the original PCMCIA card is being used to access the Windows 95 source files. If you remove the PCMCIA card that is providing access to Windows 95 source files to set up a new card, Windows 95 cannot access the source files. When you are prompted to provide the source files, you cannot remove the new card and insert the original card because Windows 95 does not detect the removal and insertion of PCMCIA cards during the configuration of the new card. To get around this problem, use the Add New Hardware wizard to manually install the new PCMCIA card. This process pre-installs the necessary driver files, so that you can set up the new card without accessing Windows 95 source files.

Symptom 38-54. You cannot format an SRAM card using the Windows 95 graphical user interface because the Full and Quick format options are not available. In almost all cases, there is a problem with the device driver for the SRAM card - the device driver is probably returning device parameters for a 128KB SRAM card regardless of what card is actually inserted in the PC Card slot. You will need to contact the SRAM card maker to obtain an updated driver which corrects the problem.

Symptom 38-55. After you dock or undock a Compaq Elite laptop computer, the computer's PCMCIA devices may stop working. Also, multiple disabled PCMCIA controllers may appear in Device Manager. This is a problem with early versions of Compaq Elite PnP BIOS - some versions report incorrect PCMCIA resources. When this happens, Windows 95 disables the PCMCIA controller. To correct this problem on a permanent basis, you’ll need to update the Compaq BIOS with a current version (5/95 or later). To remove incorrect PCMCIA devices in the mean time:

Symptom 38-56. When you set up Windows 95, it will not install more than one PCMCIA network adapter correctly. This is because the Windows 95 32-bit socket drivers are not enabled. To install the Windows 95 32-bit PCMCIA socket drivers:

NOTE: Windows 95 is specifically designed to detect and install only one PCMCIA network card during setup.

Symptom 38-57. When you try to connect to a network using an IBM Token Ring PCMCIA network card on an Omnibook 600 computer, you are unable to view any resources. There is a resource conflict between the Omnibook's proprietary PCMCIA controller and the IBM Token Ring PCMCIA network card. The Omnibook's proprietary PCMCIA controller supports I/O ranges up to 3FFh. The IBM Token Ring PCMCIA network card can only reside at I/O address A20h. There is no solution to this problem - the IBM Token Ring PCMCIA network card cannot be used on an Omnibook 600 computer.

Symptom 38-58. When you run ScanDisk, the "Select the drive you want to check for errors" box may show drives that do not exist, or may not show drives that do exist. In most cases, you have removed or inserted an ATA PC Card. Unfortunately, the drive list in ScanDisk is static. That list is generated when you start ScanDisk, and it is not updated while ScanDisk is running. If you add or remove drives (such as PCMCIA drives or DriveSpace-compressed drives) while ScanDisk is running, the list is not updated to reflect the changes. You must update the drive list by exiting and then restarting ScanDisk.

Symptom 38-59. When you insert a Xircom CE2 PCMCIA network adapter card, the card may not work and the computer may not be connected to the network. When this occurs, your computer may stop responding. The network adapter may require a real-mode enabler or different client drivers to work properly. To correct this problem, load the real-mode card and socket services drivers in the CONFIG.SYS file. The actual drivers that are required vary from one system to another, but they typically look like:

device=cs.exe

device=sscirrus.exe

Symptom 38-60. PCMCIA cards are not configuring properly on your Compaq computer. In many cases, you have an outdated or buggy BIOS in the system. You can usually correct this kind of problem by updating the BIOS version.

Symptom 38-61. When the system boots up, you see the error message "Divide Overflow" before entering Windows 95 - this forces you to boot Windows 95 in Safe Mode. The drivers installed for the PCMCIA card are obsolete, or otherwise incompatible with Windows 95. You will need to disable those real-mode drivers in CONFIG.SYS and AUTOEXEC.BAT, and ultimately install the current drivers for Windows 95.

Symptom 38-62. Your PC Card client drivers refuse to load, and an error message appears when starting Windows 95. In most cases you have real-mode PCMCIA drivers starting in CONFIG.SYS and AUTOEXEC.BAT which are causing problems for Windows 95. Try disabling those real-mode PC Card drivers in CONFIG.SYS and AUTOEXEC.BAT first. Turn off the PC and remove the PC Card. Boot to Windows 95 normally, then insert the card - you may need to run the PCMCIA wizard to install the proper card drivers. You may also need to download the latest protected-mode drivers from the PC Card maker, then install the new drivers with the "Have Disk" option.

Symptom 38-63. PCMCIA cards are not configuring properly on IBM Thinkpads. This is because you must run a specific IBM utility to update the BIOS on IBM Thinkpads first. Install "IBM WIN95SETUP" before installing Windows 95 - this utility updates the BIOS, which has several Plug and Play fixes. This utility can be obtained from; www.pc.ibm.com or IBM’s BBS. You can then install Windows 95, and proceed to re-install your PCMCIA cards.

Symptom 38-64. The computer produces a single, low beep when the PCMCIA card is inserted, but the PC Card icon will show no information about the socket, and the "Stop" feature shows the error that a "Device Cannot Be Removed". In almost all cases, the PC Card has not been assigned the proper memory exclusion, and is experiencing a memory conflict with another device in the system. Go into the Control Panel, then select the "PC Card" icon. Choose "Global Settings" and make sure that the "Automatic setting" check box is checked. Then restart Windows 95. This should clear the problem.

Symptom 38-65. Windows 95 does not recognize the parameters of the PCMCIA Note Disk. You will have to perform a hard disk drive setup for an unformatted drive. Before proceeding, be sure to backup any vital information on the PC Card disk - it will be erased:

Further Study

That’s all for Chapter 38. Be sure to review the glossary and chapter questions on the accompanying CD. If you have access to the Internet, take a look at some of the various PC Card resources listed below:

General PC Card information: http://beta.missilab.com/readertest/pcmcia.html

PC Card Frame Grabbers: http://www.ct-oy.com/artsi/pcmcia.html

PC Card information: http://login.eunet.no/~sverream/pcmcia.htm

PC Card Links: http://www.cybersim.com/kats/pcmcia/

PC Card newsgroup: alt.periphs.pcmcia

PC Card suppliers: http://www.apresearch.com/databaselist.htm

PCMCIA: http://www.pc-card.com/

Backward Forward
Chapter: 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53

Reserve your copy at a
Beta Bookstore near you!
Contact Bet@books
© 1998 The McGraw-Hill Companies, Inc. All rights reserved.
Any use of this Beta Book is subject to the rules stated in the Terms of Use.

Beta Books | Beta Bookstores | Computing McGraw-Hill

Professional Publishing Home | Contact Us | Customer Service | For Authors | International Offices | New Book Alert | Search Catalog/Order | Site Map | What's New


A Division of the McGraw-Hill Companies
Copyright © 1998 The McGraw-Hill Companies. All rights reserved. Any use is subject to the Terms of Use; the corporation also has a comprehensive Privacy Policy governing information we may collect from our customers.