Go Back   Steve's Digicams Forums > Digicam Help > Memory Cards, Microdrives, Card Readers

Reply
 
Thread Tools Search this Thread
Old Jan 16, 2008, 8:29 PM   #1
Junior Member
 
Join Date: Jan 2008
Posts: 6
Default

I recently bought a used Nikon CoolPix 950, and have encountered an interesting problem when using a Compact Flash card with it.

Briefly summarized: if you allow this camera to format a Compact Flash card larger than 256 MB, you'll end up with a malformed FAT16 filesystem. This can result in compatibility problems with some computer operating systems, and will result in filesystem and data corruption if you try to record more than 256 MB or so on the card.

Details: in a FAT16 filesystem, space is allocated and managed in "clusters" of 1, 2, 4, 8, 16, 32, or 64 sectors. You can only have 2^16 clusters, as there's only 16 bits to store the cluster index in a directory or in the FAT. The CoolPix 950 formatter appears to always use 8-sector (4kbyte) clusters, no matter how large the CF card is. If you format a card of more than 256 MB, the filesystem ends up needing more than 65535 clusters, and the cluster IDs corresponding to the space at the end of the card will be truncated when they're stored in the directory and FAT. This will eventually cause two or more files or directories to appear to use the same cluster, and these files or directories will appear corrupt and unusable.

Symptoms: a Linux system will refuse to mount the filesystem, logging a kernel error which complains that too many clusters are required. Windows 98 will mount it, but its Scandisk will report multiple severe errors (saying that the files and directories are stored in illegal locations and that the two copies of the FAT don't match). I don't know what more recent versions of Windows will report, but I believe that similar Badness will be detected

The good news: it is possible to format a card of up to 2 GB with a legal FAT16 filesystem, if you do it in a PC running Windows or Linux. The CoolPix 950 appears to be capable of using such a filesystem properly (I haven't detected any errors in this case).

Workaround: if you buy a new CF card for use with a CoolPix 950, and the card comes pre-formatted, and the camera accepts the card without complaint, then you're probably OK. Just remember not to re-format the card in the camera.

If the card isn't formatted, or if the Coolpix complains that it isn't formatted (e.g. if it's been preformatted in FAT32 format), then you have a bit of work to do. Let the camera format the card, then power down and remove the card from the camera. Move the card over to a card reader/writer attached to a PC. If you're running Windows, access the card (e.g. as E, and then tell Windows to reformat it. Windows 98 uses FAT16 format by default... no tweaking is necessary. I don't know about more recent versions of Windows - you may need to specify an advanced formatting option of some sort to persuade Windows to use FAT16 format and not the newer FAT32 format (which the Coolpix 950 does not understand).

On Linux, use the "mkdosfs" or "mkfs.vfat" program (depending on which distribution you use) and use the "-F 16" option to force the program to use FAT16 format rather than FAT32.

You should end up with a card having a legal FAT16 filesystem on it, with an acceptable cluster size and number of clusters (a 1-gig card will have 32-sector, 16kbyte clusters). You can check it with DOS or Windows Scandisk, or with the Linux "fsck.vfat" or similar program. Safely-eject the card and put it back into the camera. The camera should accept the card without telling you to format it, and you're good to go. Do not reformat the card in the camera again, or you'll undo all of your good work and have to go back to the PC again.

Corrective action: if you've got a Coolpix 950 with a card larger than 256 MB, I'd recommend checking it with Scandisk. If it's reported as being clean and legal, you're OK. If not, back up all of the files to your hard drive immediately and then reformat the card as above. Do not allow Scandisk or a similar utility to try to repair the filesystem... you'll probably lose files and it very probably won't fix the underlying problem.

Nikon's tech support web site doesn't address this issue directly, as far as I can tell. They have a FAQ for the 950 which says that the camera is qualified with Nikon CF cards of up to 64 MB. I believe that 128 and 256 MB cards will format and operate properly in the camera. Cards of 512MB, 1GB, and 2GB need this additional step in order to be used safely with the CoolPix 950.

I suspect that the same problem may exist in other CF-based CoolPix cameras but have not yet confirmed this.


DavidPlatt is offline   Reply With Quote
Sponsored Links
Old Jan 16, 2008, 9:57 PM   #2
Administrator
 
Join Date: Jun 2003
Location: Savannah, GA (USA)
Posts: 22,378
Default

Interesting. I doubt many people use a Coolpix 950 on a regular basis (since this model is rather dated now, having launched in 1999), and those that do probably wouldn't use more than 256MB on a card.

But, it looks like there is a problem.

For example, here is one of the errors trying to mount a 1GB Card that was just formatted by a Nikon Coolpix 950 (updated to firmware version 1.3):

FAT: count of clusters too big (251490)

I see the same type of problem trying to mount a 2GB card that I just formatted with a Coolpix 950, with this shown using dmesg | tail after a failure to mount it (count of clusters too big again), using mount under SimplyMEPIS 7.0 (based on Debian Etch).

sd 5:0:0:0: [sdc] 4001760 512-byte hardware sectors (2049 MB)
sd 5:0:0:0: [sdc] Write Protect is off
sd 5:0:0:0: [sdc] Mode Sense: 0b 00 00 08
sd 5:0:0:0: [sdc] Assuming drive cache: write through
sdc: sdc1
FAT: count of clusters too big (499593)
VFS: Can't find a valid FAT filesystem on dev sdc1.
VFS: Can't find ext3 filesystem on dev sdc1.
VFS: Can't find an ext2 filesystem on dev sdc1.
ReiserFS: sdc1: warning: sh-2021: reiserfs_fill_super: can not find reiserfs on sdc1

JimC is offline   Reply With Quote
Old Jan 17, 2008, 7:03 AM   #3
Administrator
 
Join Date: Jun 2003
Location: Savannah, GA (USA)
Posts: 22,378
Default

I needed to boot into XP Pro this morning for the first time in weeks, and I checked a card formatted by a Coolpix 950 there, too. This is a 2GB Sandisk Ultra II Compactflash card.

Windows Explorer doesn't complain at all (mounts it) and shows the folders created by the Coolpix 950 when it formatted the card.

If you right click on it and select properties, then go to the error checking tab and scan it, no errors are reported.

That's not a good thing (that Windows XP Pro doesn't recognize that it's formatted with more clusters than will work under FAT16).

It doesn't find any errors running chkdsk from command prompt either:

Quote:
The type of the file system is FAT.
Windows is verifying files and folders...
File and folder verification is complete.
Windows has checked the file system and found no problems.

268,390,400 bytes total disk space.
4,096 bytes in 1 hidden files.
8,192 bytes in 2 folders.
268,378,112 bytes available on disk.

4,096 bytes in each allocation unit.
65,525 total allocation units on disk.
65,522 allocation units available on disk.

It's showing it only has 64K clusters available using 4KB sizes (which doesn't match up to a 2GB Card size), and it's not seeing that the Coolpix 950 tried to format it using 499593 clusters with a 4096 byte cluster size.

So, chkdsk is showing that Windows is restricting the amount of space available on it to about 256MB.

But, Windows Explorer is still showing 1.9GB available. :-)

JimC is offline   Reply With Quote
Old Jan 17, 2008, 7:39 AM   #4
Administrator
 
Join Date: Jun 2003
Location: Savannah, GA (USA)
Posts: 22,378
Default

DavidPlatt wrote:
Quote:
Briefly summarized: if you allow this camera to format a Compact Flash card larger than 256 MB, you'll end up with a malformed FAT16 filesystem. This can result in compatibility problems with some computer operating systems, and will result in filesystem and data corruption if you try to record more than 256 MB or so on the card.
Have you tried to see what happens if you try to use more than 256MB with a Coolpix 950 on a larger card formatted by the camera? It may just return a write error while leaving the first 256MB already written intact. I haven't tried it yet to find out.

JimC is offline   Reply With Quote
Old Jan 17, 2008, 9:34 PM   #5
Junior Member
 
Join Date: Jan 2008
Posts: 6
Default

You're right, the Coolpix 950 is dated. I bought it recently (used) due to its unusual sensitivity to near-IR - I've been intrigued with near-IR photography for years and decided I wanted to actually try my hand at it.

It's rather amazing... I made an impromptu IR filter by buying a $0.75 sheet of 1/16 black acrylic scrap at my local plastic dealer and holding it up in front of the lens. Works quite nicely. I need a fairly long exposure, like 1/8 to 1/4 second in California sunlight (the plastic is fairly dense even at near-IR) but it does actually work and produces the classic "white trees, dark sky" imagery. I'll probably pick up a Hoya R72 filter by mailorder, to get better sensitivity.

Anyhow... it sounds as if XP Pro has a "safety valve" in its FAT-mounting logic which clips the cluster limit to 2^16 if the calculation overflows. It's unfortunate that the XP checker doesn't report the problem... XP might not corrupt the card when adding files but it would certainly exhibit unexpected behavior at some point. The checker would probably report a "cluster used by two files" error if the camera had recorded enough files to go beyond 2^16 clusters and had started truncating the cluster indices.

I haven't yet tried a "make it bloat" capacity test on the camera, either with a card it (mis)formatted or with a legitimately-formatted card. I mean to do so when I have the time to scrounge up a power adapter for it, aim it at a clock, and tape down the shutter release button :-) and fill it up.

I doubt I'll need anywhere near 1 gig with it... but the camera only came with the original 8-meg card, and a 1-gig was the smallest that the stores around here had in stock. I'll probably eBay a few new-old-stock smaller cards (maybe 128s) so I have spares that I can trust the camera to format properly.

Thanks for running the tests which confirm that the problem isn't specific to my one camera!


DavidPlatt is offline   Reply With Quote
Old Jan 29, 2008, 9:10 AM   #6
Senior Member
 
Join Date: Jan 2007
Location: Decatur, GA
Posts: 2,053
Default

be careful with e-bay for buying memory cards. Their are a lot fakes on e-bay that either don't work or don't offer the capacity you thought you were buying. Many many people have reported these problems. Try bhphotovideo.com and see if they can help you with a smaller card. They may have some in stock.... if their not listed ask at the help desk and see what you find out.

dave
Photo 5 is offline   Reply With Quote
Old Feb 8, 2008, 7:16 PM   #7
Junior Member
 
Join Date: Jan 2008
Posts: 6
Default

Thanks for the warning! I'd certainly be extremely cautious if I were buying a high-end/high-capacity card of any sort from an unknown vendor... the forgery problem seems pretty severe.

I ended up buying one 128MB card in used-but-good condition for all of $2.99 (I got stiffed a bit on the shipping, though). As far as I can tell it's genuine - it passes a full-range random-data read/write test and seems to format OK. It's as much as I need, at this point.


DavidPlatt is offline   Reply With Quote
 
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off



All times are GMT -5. The time now is 9:46 AM.