PRB: Long File Name (LFN) Checksum Errors Reported by FATFS (260318)



The information in this article applies to:

  • Microsoft Windows CE Operating System, Versions 2.12
  • Microsoft Windows CE Operating System, Versions 2.11
  • Microsoft Windows CE Operating System, Versions 2.0

This article was previously published under Q260318

SYMPTOMS

During system operation, debug messages similar to the following may appear in the debug output when a file allocation table (FAT) mass storage device is attached:
0x81f954cc: FATFS!FindNext: LFN chksum (0x54 vs. 0xda) error
0x81f954cc: FATFS!FindNext: LFN chksum (0x95 vs. 0x1b) error
0x81f954cc: FATFS!FindNext: LFN chksum (0xaa vs. 0x66) error
				

CAUSE

These warning messages indicate that long file name (LFN) directory entries exist, which have been unlinked from the short file name entry. The unlinked LFN directory entries are usually caused by removal or renaming of files on the disk by a user, when using a non-LFN-aware operating system.

RESOLUTION

This is a benign form of FAT directory corruption and can be corrected with a disk repair tool such as Windows ScanDisk. If the media can be moved to a Microsoft Windows desktop computer, the problem can be corrected. Data that is stored on the disk is not at risk because of this condition.

STATUS

This behavior is by design.

MORE INFORMATION

The LFN on-disk format uses several slots in the directory table to store segments of the long file name. When reading the directory, FATFS must re-assemble the long file name segments and connect them to the primary directory entry, which uses the old-style 8.3 directory entry format. Each segment contains the checksum of the primary 8.3 name. When the long file name segments do not have a matching checksum, they are considered orphaned LFN segments and are discarded.

Modification Type:MinorLast Reviewed:12/19/2003
Keywords:kbprb KB260318