|Why my card can not start under Windows 2000/XP?|
|Synopsis:||After installation of CardWare Memory Cards Support for Windows 2000/XP, CardWare Memory Cards Viewer is not able to detect a card. Card is inserted into a socket, but the only message 'No supported memory card detected' is displayed in information pane. The Device Manager shows a conflict (Error Code 10 or Error Code 12) for the Generic FLASH/SRAM PC Card driver in the path PC Card and Flash/SRAM Memory Devices.|
|Reason:||There are several bugs in Windows that in particular cases does not
allow a memory card to start.
One of these bugs concerns the checking of memory window high boundary during memory window map operation. For 16-bit memory cards, the high memory window boundary should not exceed 16 Mb. However, during checking this condition, PCMCIA.SYS driver calculates the memory window high boundary like BaseAddress + Size (instead of BaseAddress + Size - 1) and compares with 0x00FFFFFF value (16Mb - 1 byte). In certain conditions, after resource allocation, card can have such resource assignment that formula BaseAddress + Size will give 0x01000000, compare will fail and the card will not start.
Another bug concerns resource allocation problem on 16-bit PC Card adapters. For some reason, Windows can't correctly detect the physical memory ranges that are really busy, considers that they are free and assigns them to the card. Using these memory ranges, driver can't even read the card and, therefore, the card can't be started.
|Solution:||CardWare Memory Cards Support for Windows 2000/XP version 1.00.005 or later
implements special work-around which allows to change the hardware
resources assigned to the card. To change the settings of memory window
that is assigned to the card, user should add parameters to the command
line of CWMEM2K.SYS driver. The parameters are the following:
/ML:<address> - the lowest memory address to start claim the resources from
For example, the most usual settings of these parameters are the following:
/ML:0xD0000 /MH:0xDFFFF /MS:0x1000
To modify command line of CWMEM2K.SYS driver, user should run Regedit.exe utility, then open registry key HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Cwmem2k\Options and modify 'CommandLine' value.
Note: Only user with Administrative privileges can modify command line parameters of CWMEM2K.SYS driver.