VOICE Home Page: http://www.os2voice.org |
June 2002
[Newsletter Index]
|
By Lon Hooker © June 2002 |
Ever since I got a digital camera a couple of years ago, I've been looking for a better way to transfer images from it's Compact Flash (CF) card into my computer. I've been using DCITU via a serial cable, but that is terribly slow. The only other thing that I could find that ships with an OS/2 driver is the PCMCIA "SwapBox" made by SCM. A good product, except that it's ISA, and I (in common with many others) have no ISA slots at all on my motherboard. SCM also makes a PCI unit, but it's fairly expensive and when you add in the cost of the required third party driver for OS/2 (available from Ap-soft), the TCO is pushing $200.
Then one day I was browsing on eBay, and came across an IDE CF reader. OK, I said to myself, if it's IDE it doesn't need any special drivers, right? So I decided to give it a try. Well I am using Daniela Engert's IDE driver, because she explicitly supports compact flash. I strongly recommend it. I didn't try the IBM driver.
The reader is the "Model FD620 IDE CF card reader/writer" made by SVEC (Taiwan). The current price is $34.95 (+ S&H) on eBay--search on "SVEC IDE CF" in computers. There may be another source [1] for these, but I haven't really looked. The reader is advertised as "windows only", but, with a simple reformat, it works just as well in eCS. I had occasion to communicate with the SVEC sales/tech support people, and they were quite pleasant and easy to work with. Don't expect too much from their documentation, though--a random selection of words from some alien dictionary.
The biggest drawback I have found is that, being IDE, a card must be in the slot at bootup so the BIOS can report it to the operating system. Once booted, of course, cards are freely swapable. But, in addition, one also needs to be present at shutdown, or shutdown will hang. With two cards, I store one in the reader, one in the camera, and swap as needed. If you only have one card, it could be inconvenient. (With w98, you may need one in the reader at every boot just to avoid drive mapping problems.)
A word to OS/2 users: Unless you have MCP, I don't see this working for you. The procedure outlined here was developed using eCS, and requires LVM information to be written to the card's partition table. Also, there is an object created in the drives folder during eCS installation called "Refresh Removable Media" (RRM) -- a special invocation of LVM that reads the card after a swap and re-creates the drive object. (Maybe an adventuresome soul with Warp 4 could give it a try and tell us what happens.)
So, for the impatient...
When performing the "wipe" command in DFSee, open an OS/2 command prompt (in the DFSee directory) and run "dfs" with no parameters. This opens a DFSee command window, where all your drives are mapped out on the screen, and the CF drive is clearly identified...along with with its physical disk number. Then, at the DFSee command prompt, type "disk n #wipe #q", where "n" is the physical disk number as mapped by DFSee and "q" closes DFSee when the "wipe" command has completed.
Wiping the card may or may not be needed, but can never hurt. My 64 MB card lost 7 MB of available space, and had *serious* problems in w98, until it was "wiped" and formatted as described. I also have a 32 MB card that worked perfectly well with just the last three steps (format, LVM, format). It may be related to the partition type -- type 04 (FAT16 <32) for the 32 MB card, and type 06 (FAT16) for the 64 MB card.
You now have a removable drive in the drives folder, the card is fully accessible by eCS, and the format is readable by a camera. When you take your first picture, the camera will write the same directories and files to the card as when it does the format itself. [2] The card is fully functional in w2k [3] and w98 [4], and is readable by PCMCIA (with adapter). I don't have any other colors of Windows, so I can't comment on them.
I have tested this with three different size cards, 4 MB, 32 MB and 64 MB. The larger cards work perfectly after being reformatted, but the 4 MB card would not work with anything -- eCS or windows. It seems to depend on partition type. The 4 MB card was type 01 (FAT12), and unusable except in a camera. The 32 MB and 64 MB cards were type 04 (FAT16 <32) and type 06 (FAT16), respectively, and both worked perfectly. This would indicate that the smallest usable card is 16 MB (the lower limit for type 04).
As to how this will work with cameras other than a Kodak DC280, I can't say...the logistics of large scale testing are far beyond this humble scribe. On the positive side, however, I was able to look at cards used by both Kodak and HP, and both of them use a form of FAT. Since that was an essentially random selection, and since FAT is the closest thing there is to a universal format, I feel somewhat safe in predicting that cards formatted the way I have outlined will work in most cameras. (Wow...talk about sticking your neck out! OK, time for the big disclaimer -- it works for me -- your mileage may vary.)
After reading all this, someone is bound to ask "What does LVM have to do with making a CF card work in a digital camera?" My answer...I haven't the foggiest. I am not a technical whiz...just an OS/2 user since version 2.0. All I can do is relate what I observed while getting this thing to work. The rote procedure I came up with is simple enough, but figuring it out took me a several rather frustrating days of mostly pure guesswork (and a lot of reboots). I ran what tests I could with the tools I had at hand, and some of the results seem a bit odd -- at least to me. Why, after that first format, are both eCS and windows able to access a card that is reported as "unformatted" by both DFSee and LVM? And also, why does writing LVM information to the card allow it to be properly formatted on the second run and (therefore?) visible to a camera? Maybe someone else can come up with an answer, but I sure can't. In the words of the immortal somebody or other..."It just works".
Anyhow, from my notes, here's what I found working with both a 64 MB and a 32 MB card:
Id 17=-- WARNING : Active (bootable), but not on 1st disk
Will not boot using a standard BIOS
Id 17=-- WARNING : Partition does not start on head-1 (cylinder boundary)
Id 17=-- WARNING : Partition doesn't end on last head (cylinder boundary)
Id 17=-- WARNING : Partition extends beyond end of the disk
id PD Vol Type, description Format Creator Volume label LVM Volume, Size Mb 17 3 }- - Prim 06 FAT16 EXTEN MSDOS5.0 KODAK_PC 61.0
Pid17=-- minor-W : Mismatch in LBA/Geometry and CHS-End sector with LBA offset
Causes: - change in BIOS level or BIOS settings for LBA
- changed EIDE/SCSI disk adapter (or firmware)
- changed DISK/SCSI device-drivers or filters
- partition-table corruption, possibly by a Virus.
- bad CHS (dummy) values by buggy partitioning tool
Pid17=-- WARNING : Active (bootable), but not on 1st disk
Will not boot using a standard BIOS
id PD Vol Type, description Format Creator Volume label LVM Volume, Size Mb 17 3 } - - Prim 04 FAT16-32M FAT16 *XWI9IHC DSC_LABEL 30.5 20 3 Pri/Log FreeSpace - - - - - - - - - - - - - - - - - - 0.062
id PD Vol Type, description Format Creator Volume Label LVM Volume, Size Mb 19 3 Pri/Log FreeSpace -- -- -- -- -- -- - - - - - - - - 61.1 (30.6)
Id 17=*: WARNING : Active (bootable), but not on 1st disk
Will not boot using a standard BIOS
id PD Vol Type, description Format Creator Volume Label LVM Volume, Size Mb 17 3 }*: Prim 06 FAT16 FAT IBM 4.50 NO NAME 61.1
And, for the 32 MB card:
id PD Vol Type, description Format Creator Volume Label LVM Volume Size Mb 17 3 }*: Prim 04 FAT16-32M FAT IBM 4.50 NO NAME 30.6
[2] It sometimes takes RRM (Refresh Removable Media) over a minute to read my 64 MB card after it has been swapped in to the reader, so just be aware it can happen, and don't panic...it will come up. The 32 MB card doesn't have the problem...comes up instantly.
[3] How the card is formatted is immaterial to w2k, the operation is the same--awkward. The card is shown as removable, and is accessible, but there is no mechanism anywhere, on either the desktop or the taskbar, which allows you to shut down the drive and safely remove the card. The only way to do it is to go to "disk drives" in device manager and "disable" the drive. If you then re-insert the same card and select "enable", the drive will come back OK. If you insert a different card, however, Uncle Bill will call you all kinds of dummy for not shutting down the drive correctly, or words to that effect. In the end he will load the new card...just be patient and take your punishment quietly.
[4] A word of caution regarding w98: Installing this reader may be hazardous to your drive letters. I have two hard drives, both attached to a Promise ATA100 controller (80 pin cable). For some reason, w98 mapped the CF reader (40 pin cable) between drive #1 and drive #2. This, of course, changed the drive letter assignments on drive #2, with the obvious consequences. I used Partition Magic's "DriveMapper" utility to set things straight, but now I have to be sure there is a card in the reader when I boot w98 to keep things from changing again. Drive letter assignments in eCS and w2k, of course, are controlled by the user, so don't have a problem.
References:
FD620 IDE CF Card Reader/Writer,support Hot Swap Type I/II |
[Feature Index]
editor@os2voice.org
[Previous Page] [Newsletter Index] [Next Page]
VOICE Home Page: http://www.os2voice.org