This procedure allows you to associate your own name for
a removable disk drive instead of the system default "Storage Card",
"Storage Card2" etc. This is accomplished by the fact that when a
device is inserted into the device, the system check for a specific driver for
that device's PnPID (Plug 'N Play ID). If it can't find a specific driver then
it loads a default driver called "ATADISK". What this procedure does
is walk you through created entries in the registry that have the specific PnPID
of your removable drives/devices, yet uses the same old ATADISK driver. THe
other part of the trick is the registry value called "Folder" which
allows you to specify a name besides "Storage Card" as the name the
driver uses for the folder it created when the device is mounted.
The usual disclaimers apply about messing with the registry. It's probably a
good idea to backup the system before doing all this.
In this outline I will be using my Kingston Datapak PCMCIA hard drive and
Generic (actually a Toshiba) Compact Flash card as examples.
- Backup your system!
- Uninstall any applications you have installed on any
removable drives/CF's you are going to apply this procedure to. You can
re-install them later when you're done.
- Insert removable devices
- Open registry editor and go to
[HKEY_LOCAL_MACHINE\Drivers\Active]. Expand the key and you will see a bunch
of sub-keys 02,03,04....etc
- Start clicking on each of the numbered sub-keys
looking at the value called "Name". (hint: all the removable
devices appear to start at number 40 so skip the lower values if you see
40,41,42 etc)
- When you see a key that has a value "Name"
that is "DSK#:" (where the # is actually a number 1,2 etc) stop
and look at the value called "Key". If it's
"Drivers\PCMCIA\ATADisk" then continue to next step. If not, go to
step 5 to check more keys.
- Ok, you found a disk device, double-click to edit the
"PnPId" value and COPY it using ctrl-c. You are not changing
anything here, just copying the text value that's in "PnPId". My
CF card has a PnPID of "TOSHIBA_THNCF256MAA_-CD61". My Datapka is
"KINGSTON-DP-PCM2/2GB-0446"
- Hit "ESC" or cancel the edit dialog. Click
"No" for saving changes if you're using MS Pocket Registry Editor.
- Go to [HKEY_LOCAL_MACHINE\Drivers\PCMCIA] and expand
it. You'll see a bunch of entries here. Most of them are PnpID's just like
the one we copied for our disk drive above.
- Highlight the "PCMCIA" key if not already
and select "Registry" on the menu and then "New Key". In
most registry editors you can also just right-click (alt-click on HPC) to
bring up a context menu with "New Key" on it. Paste the PnpID you
copied to the clipboard earlier with ctrl-v. Hit enter to save the new name.
- Ok, not you have a new registry key called
[HKEY_LOCAL_MACHINE\Drivers\PCMCIA\TOSHIBA_THNCF256MAA_-CD61] except instead
of the "TOSHIBA...." you have your device PnpID. Highlight the new
key.
- Go to the registry key
[HKEY_LOCAL_MACHINE\Drivers\PCMCIA\ATADisk] and highlight it.
You will see these values in there:
Name: "Dll" Type: String Value:"ATADISK.DLL"
Name: "FSD" Type: String Value:"FATFS.DLL"
Name:"Ioctl" Type: DWORD Value: 4
Name:"Prefix" Type: String Value: "DSK"
If you see more or different entries, then you need to write them down.
Write the value name, the value and the type down. Most people only have the
values I've listed so won't need to write the info down.
- Go back to the new key you created in step 10 and
highlight it.
- Add the values to the key listed in step 12 (or the
values you wrote down)
- Add an additional value called "Folder" of
type String. Set the value of this string to be whatever you want the folder
name to be for this device. This value will be used instead of "Storage
Card". e.g. "CF128" or "MicoDrive" or
"Datapak"
In summary, you just added these values to the registry key that has a name
that is the same as the "PnpId" of your device.
Key: [HKEY_LOCAL_MACHINE\Drivers\PCMCIA\YourPnPIDHere]
Values:
Name Type Value
Dll string ATADISK.DLL
FSD string FATFS.DLL
Ioctl DWORD 4
Prefix string DSK
Folder string Datapak or whatever you want *anything* but "Storage
Card"!
- Go back to step 5 and repeat for any other disk
preripherals you may have.
- Turn off unit and remove all removable devices that
you performed the above procedure for.
- Turn unit on and leave on for a while.
- Insert your removable devices.
- Turn unit back on (you can skip all this
power-on/power-off junk if you like to hot-swap everything like I do!
You devices should now show up with the names that you specified! On mine I
see, "CompactFlash128" and "DataPak" as folders instead
of "Storage Card" and "Storage Card2".
Now that these devices have unique (see notes below) folder names, you can
re-install your apps on them without ever having to worry about the renaming
problem!
Notes:
- If you have 2 or more devices with the same PnPID
then they will act the same as "Storage Card1", Storage Card2"
just using the name you put for "Folder" instead of "Storage
Card" and you will end up running into the same problem. But this shouldn't
be a problem for most. I have 4 CF cards and they are all different PnPID's so I
can have 4 different fixed folder names plus my Datapak folder name. If the
devices happen to be the same make/model/revision then the PnPID's may be the
same. The PnpID is *not* a serial number. An application could overcome even
this limitation but it won't affect most folks.
- You can also add the value "Folder" to
[HKEY_LOCAL_MACHINE\Drivers\PCMCIA\ATADisk] itself so you never have to see
"Storage Card" again no matter what CF's or Drives you put in!
- This whole procedure wouldn't have been necessary if
the writer of the driver had simply used the volume label on the device to make
the folder name.
Troubleshooting:
- You insert a device and it doesn't show up in
"My Handheld Device":
You've got the "PnpId" key right. You must have made a mistake with
one of the values. Double-check that the values match this is step 15 plus/or
special ones you wrote down.
- Device still showing up as "Storage Card":
You got the PnPID wrong, mis-typed it if you didn't use cut/paste, or created
the key in the wrong place.
- Sytems is completely fubar'd now! :
Do a cold-bood and restore your backup...you *did* make one didn't you?!?
Un-Installing:
Just delete the [HKEY_LOCAL_MACHINE\Drivers\PCMCIA\YourPnPIDHere] registry
key and the device will use the defaults in
[HKEY_LOCAL_MACHINE\Drivers\PCMCIA\ATADisk] again.
A Simple way
You can simplify this process by simply doing the
following registry change...
Browse to HKEY_LOCAL_MACHINE\Drivers\PCMCIA\ATADisk\
Create a string value named "Folder" and type the name you want for
storage cards as the data.
This name will now be used for the first ATA Card you you insert, and the same
name followed by a number if you insert more than one.
You can also use this for other storage drivers, for exemple to use "SCSI
Disk" for drives used with Adaptec APA-1460, include a string
"Folder" = "SCSI Disk" in
\HKEY_LOCAL_MACHINE\Drivers\PCMCIA\ADPDisk\.
This is a little less intrusive but does the same thing. As always though,
backup your system before hacking...
|