Summary: Cyclic Redundancy Check is an error detection mechanism to make sure that your data has been read properly. If a Cyclic Redundancy Check fails, it could mean several things.
When I burn a CD or DVD, I frequently get a "Cyclic Redundancy Check" error when I go to read it. The media has no scratches or anything obviously wrong, so why is this happening? And more importantly, what do I do?
•
A "Cyclic Redundancy Check", or more commonly just "CRC", is an error detection mechanism that makes sure that the data you're trying to read from media, such as hard disks, CDs and DVDs, is actually correct. By "correct", we mean that the data you read is in fact the data that was written.
When a CRC check fails, there are several possibilities and places to look.
•
A CRC works by taking a block of the data that is about to be written to the media, calculating a checksum (basically some math involving all the data, that results in a number), and writing that number, along with the original data, to the media. When the data is later read, that same calculation happens, and if a different number results, then an error is declared - the data read was not the same as the data written.
CRC checks happen each time you read the media. Many CD and DVD burning programs will include a read pass immediately after writing, to ensure that the data was written properly.
There are several ways that a checksum error could happen:
A Bad Write: if the device that wrote the media had a problem while writing, it could have written the wrong data.
Dirt in the Writer: dust or other obstructions in a CD or DVD writer can interfere with the laser and cause the bad data to be written.
Bad Media: poor quality media, particularly CDs and DVDs, can sometimes "not take" the data that's written to them. Perhaps there's a flaw in the physical media. These types of flaws may not be visible to the naked eye - even a one-bit error can cause a CRC calculation to fail.
Bad Write Alignment: it's fairly obvious that on CDs and DVDs data is written in a circle on the media. However, exactly where that circle lands is dependent on the alignment of the drive. It could be slightly off-center, or skewed in some way. This is frequently the case if a CD or DVD reads perfectly on the drive that wrote it, but fails when read on other drives.
Scratches and Other Damage: you've mentioned that your media's not scratched, so this may not apply to you, but CRC checking is most commonly thought of as a way to detect errors that result from physical damage to the media after it's been written. And once again, remember that a tiny scratch, if in the wrong place, can do damage. If your problem is with multiple CDs or DVDs and you've been handling them properly, then it's unlikely that this is the case.
Dirt in the Reader: much like dirt in the writer, dust and other particles can interfere with a CD or DVD reader's ability to read the media properly.
Bad Read Alignment: again, much like bad write alignment, if the reader isn't tracking to the same "circle", it may not be able to read the data. Some drives are better at compensating for this than others.
Bad Reading Drive: finally, it's always possible that the CD or DVD drive itself is having a problem reading in general.
As you can see, there are lots of possibilities.
If the problem "travels" with the CD or DVD you've written ... meaning that it fails when read in several different devices, then the problem is most likely with the writer or the media itself.
If the problem happens only when read on one specific reader, then that reader, and not the writer or media, is most suspect.
Make sure that you're using high quality, brand name blank CDs and DVDs. Occasionally clean the inside of your computer, including carefully vacuuming the CD or DVD tray from the outside to remove excess dust. If there is an alignment problem, there's little you can do yourself - you'll need to use another drive.
Can bad data be "fixed"? - in a nutshell, no. I've actually oversimplified the role of a CRC above. It typically includes both error detection and correction. That means that the calculated checksum can often also be used to determine what data is wrong, and return the correct data instead, on the fly. This probably happens often, and you'd never notice. By the time a CRC error has been declared, enough errors have occurred that the error correction has failed. At that point, you're pretty much out of luck.
If you have a CD or DVD that is reporting a CRC error, try reading it on different drives. As I mentioned above, the ability of drives to compensate for things like alignment problems, or "weak" writes, varies, and what's unreadable on one might be readable on another. If you do find a drive that works, copy the data off immediately, and plan on burning it to a new CD or DVD on a writer that's known to be good.
Related:
Why doesn't my CD-ROM work? If your CD drive makes a grinding sound, you'll need to replace it. Here's why.
Why can't I add files to my CD-R? We'll look at why you might not be able to add files to a CD-R.
Article C2720 - July 13, 2006
JFileRecovery pretty much does for data files what EAC does for scratched Music CDs. No messing.
Posted by: oldgoat at February 16, 2009 2:36 AMI just recovered an old PST file from CD, that had 8 bad 512kb sectors on the end. Took about 5 minutes.
Why MS don't have this built into Windows is beyond me.
THANK YOU LEO! I used condensed air to clean my CD drive AND my disk and ... boom ... my files came back! I have a Toshiba Satellite with a very sensitive Matshusita CD/RW drive. I can't thank you enough. Another tip is to download ParetolLogic's data recovery tool (its free) and try to find the copied files on your hard drive. It's amazing what remains on your hard drive even after you think you've copied and deleted stuff. Even if you don't need to recover files, its worth running just to see what is "out there!" Amazing.
Posted by: Kenny at May 27, 2009 7:22 PMHi LEO,
Posted by: NIRMESH at July 11, 2009 3:33 AMm having problems installing games from rar files,while unraring them it always shows CRC error(CRC mismatch....)....it even shows error on games which i have installed succesfully earlier,but they too are giving the same eroor now,i have formated my pc too,still it ain't working.
What should i do???plz help me LEO.
hello Leo.. wow superb explanation.. right to what i really wanted to know.. thank you for the added information on my coconut shell..
Posted by: zike at August 22, 2009 3:10 PMRegret, my Brand New SONY DVD Writer which was writting the CDs and DVDs perfectlly for around 2 monts now suddenly started to give trouble while writting the date on any media.
It writes complete data on the CD/DVD but while at the final stage of writing the TOC it gets crashed (error log message is appended below.
Some time, instead of writing teh data to the Media even without writting 1% of data it suddenly starts to write TOC by finalising the CD/DVD so wastage of Mrdia.
Any suggestion please.
Best Regards,
------------------------------------------------
Burning Error Log :
Windows XP 5.1
IA32
WinAspi: -
NT-SPTI used
Nero Version: 9.0.9.100
Internal Version: 9, 0, 9, 100
Recorder: Version: 1.70 - HA 1 TA 0 - 9.0.9.100
Adapter driver: HA 1
Drive buffer : 2048kB
Bus Type : default
CD-ROM: Version: 1.70 - HA 1 TA 0 - 9.0.9.100
Adapter driver: HA 1
=== Scsi-Device-Map ===
CdRomPeripheral : SONY DVD RW AW-Q170A atapi Port 0 ID 0 DMA: On
DiskPeripheral : ST380211AS atapi Port 1 ID 0 DMA: On
=== CDRom-Device-Map ===
SONY DVD RW AW-Q170A F: CdRom0
=======================
AutoRun : 1
Excluded drive IDs:
WriteBufferSize: 83886080 (0) Byte
BUFE : 0
Physical memory : 1013MB (1037824kB)
Free physical memory: 509MB (521332kB)
Memory in use : 49 %
Uncached PFiles: 0x0
Use Inquiry : 1
Global Bus Type: default (0)
Check supported media : Disabled (0)
2.10.2009
CD-ROM (ISO)
2:29:04 PM #1 Text 0 File SCSIPTICommands.cpp, Line 450
LockMCN - completed sucessfully for IOCTL_STORAGE_MCN_CONTROL
2:29:05 PM #2 Text 0 File Isodoc.cpp, Line 6789
Iso document burn settings
------------------------------------------
Determine maximum speed : FALSE
Simulate : FALSE
Write : TRUE
Finalize CD : FALSE
Multisession : TRUE
Multisession type: : Start multisession
Burning mode : TAO
Mode : 1
ISO Level : 1 (Max. of 11 = 8 + 3 char)
Character set : ISO 9660
Joliet : TRUE
Allow pathdepth more than 8 directories : TRUE
Allow more than 255 characters in path : TRUE
Write ISO9660 ;1 file extensions : TRUE
2:29:05 PM #3 Text 0 File Burncd.cpp, Line 3233
SONY DVD RW AW-Q170A
Super Link activated
2:29:05 PM #4 ISO9660GEN -11 File Geniso.cpp, Line 3349
First writeable address = 0 (0x00000000)
2:29:05 PM #5 Text 0 File ThreadedTransferInterface.cpp, Line 1029
Removed 2 run-out blocks from end of track 0. Length: 355986 -> 355984.
2:29:05 PM #6 Text 0 File Burncd.cpp, Line 3563
Turn on Track-At-Once, using CD-R/RW media
2:29:05 PM #7 Text 0 File ThreadedTransferInterface.cpp, Line 1029
Removed 2 run-out blocks from end of track 1. Length: 355986 -> 355984.
2:29:05 PM #8 Text 0 File FilesystemSettingsValidator.cpp, Line 142
FS Settings: using validator 'CUDFSettingsValidatorCD'
ParamMode = 'automatic', changing UDF partition type from 'physical' to 'physical'
Changing UDF revision from '1.02' to '1.02'
2:29:05 PM #9 Text 0 File ThreadedTransferInterface.cpp, Line 1029
Removed 2 run-out blocks from end of track 1. Length: 355986 -> 355984.
2:29:05 PM #10 Text 0 File DlgWaitCD.cpp, Line 312
Last possible write address on media: 359848 ( 79:59.73)
Last address to be written: 355985 ( 79:08.35)
2:29:05 PM #11 Text 0 File DlgWaitCD.cpp, Line 324
Write in overburning mode: NO (enabled: CD)
2:29:05 PM #12 Text 0 File DlgWaitCD.cpp, Line 2951
Recorder: SONY DVD RW AW-Q170A;
CDR code: 00 97 17 06; OSJ entry from: Moser Baer India Limited
ATIP Data:
Special Info [hex] 1: D0 00 A0, 2: 61 11 06 (LI 97:17.06), 3: 4F 3B 4A (LO 79:59.74)
Additional Info [hex] 1: 00 00 80 (invalid), 2: 00 00 00 (invalid), 3: 00 00 00 (invalid)
2:29:05 PM #13 Text 0 File DlgWaitCD.cpp, Line 499
>>> Protocol of DlgWaitCD activities:
=========================================
2:29:05 PM #14 Text 0 File ThreadedTransferInterface.cpp, Line 756
Setup items (after recorder preparation)
0: TRM_DATA_MODE1 ()
2 indices, index0 (150) not provided
original disc pos #0 + 355986 (355986) = #355986/79:6.36
relocatable, disc pos for caching/writing not required/ required
-> TRM_DATA_MODE1, 2048, config 0, wanted index0 0 blocks, length 355984 blocks [F: SONY DVD RW AW-Q170A]
--------------------------------------------------------------
2:29:06 PM #15 Text 0 File ThreadedTransferInterface.cpp, Line 958
Prepare [F: SONY DVD RW AW-Q170A] for write in TAO
DAO infos:
==========
MCN: ""
TOCType: 0x00; Session Closed, disc not fixated
Tracks 1 to 1: Idx 0 Idx 1 Next Trk
1: TRM_DATA_MODE1, 2048/0x00, FilePos 0 307200 729366528, ISRC ""
DAO layout:
===========
___Start_|____Track_|_Idx_|_CtrlAdr_|_____Size_|______NWA_|_RecDep__________
-150 | lead-in | 0 | 0x41 | 0 | 0 | 0x00
-150 | 1 | 0 | 0x41 | 0 | 0 | 0x00
0 | 1 | 1 | 0x41 | 355986 | 0 | 0x00
355986 | lead-out | 1 | 0x41 | 0 | 0 | 0x00
2:29:06 PM #16 Text 0 File ThreadedTransferInterface.cpp, Line 1029
Removed 2 run-out blocks from end of track 1. Length: 355986 -> 355984.
2:29:06 PM #17 Text 0 File SCSIPTICommands.cpp, Line 240
SPTILockVolume - completed successfully for FSCTL_LOCK_VOLUME
2:29:06 PM #18 Text 0 File Burncd.cpp, Line 4362
Caching options: cache CDRom or Network-Yes, small files-No (
2:29:06 PM #19 Phase 24 File dlgbrnst.cpp, Line 1767
Caching of files started
2:29:06 PM #20 Text 0 File Burncd.cpp, Line 4484
Cache writing successful.
2:29:06 PM #21 Phase 25 File dlgbrnst.cpp, Line 1767
Caching of files completed
2:29:06 PM #22 Phase 36 File dlgbrnst.cpp, Line 1767
Burn process started at 32x (4,800 KB/s)
2:29:06 PM #23 Text 0 File ThreadedTransferInterface.cpp, Line 2675
Verifying disc position of item 0 (relocatable, disc pos, no patch infos, orig at #0): write at #0
2:29:06 PM #24 Text 0 File MMC.cpp, Line 22511
Set BUFE: Super Link -> ON
2:29:06 PM #25 Text 0 File ThreadedTransfer.cpp, Line 273
Pipe memory size 83836800
2:29:31 PM #26 SPTI -1135 File SCSIPassThrough.cpp, Line 215
CdRom0: SCSIStatus(x02) WinError(0) NeroError(-1135)
CDB Data: 0x2A 00 00 00 02 80 00 00 20 00 00 00
Sense Key: 0x03 (KEY_MEDIUM_ERROR)
Sense Code: 0x0C
Sense Qual: 0x00
Sense Area: 0xF0 00 03 00 00 00 B7 0A 00 00 00 00 0C
Buffer x072f0540: Len x10000
0xEC 51 88 93 2D B6 DB 76 B6 5B 72 6C 28 CA 46 12
0x3C 21 92 FD 90 CA 36 EF 3D B2 DA F1 98 D8 80 C0
0xDA A2 88 64 38 74 29 36 A6 45 C0 57 B9 C5 56 27
2:29:31 PM #27 CDR -1135 File Writer.cpp, Line 306
Write error
F: SONY DVD RW AW-Q170A
2:29:31 PM #28 CDR -201 File WriterStatus.cpp, Line 325
Invalid write state
F: SONY DVD RW AW-Q170A
2:29:31 PM #29 TRANSFER -18 File WriterStatus.cpp, Line 325
Could not perform EndTrack
2:29:31 PM #30 Text 0 File MMC.cpp, Line 17309
start Close Track #2
2:29:31 PM #31 SPTI -1176 File SCSIPassThrough.cpp, Line 215
CdRom0: SCSIStatus(x02) WinError(0) NeroError(-1176)
CDB Data: 0x5B 01 02 00 00 00 00 00 00 00 00 00
Sense Key: 0x05 (KEY_ILLEGAL_REQUEST)
Sense Code: 0x72
Sense Qual: 0x04
Sense Area: 0x70 00 05 00 00 00 00 0A 00 00 00 00 72 04
2:29:31 PM #32 CDR -1176 File WriterStatus.cpp, Line 375
Session fixation error
F: SONY DVD RW AW-Q170A
2:29:31 PM #33 TRANSFER -19 File WriterStatus.cpp, Line 375
Could not perform Fixation
2:29:31 PM #34 Text 0 File WriterStatus.cpp, Line 384
falling back to disc fixation
2:29:31 PM #35 Text 0 File DVDPlusDualLayer.cpp, Line 1424
SetDriveCaps: Set LAST LBA of layer 1 to 0
2:29:31 PM #36 Phase 38 File dlgbrnst.cpp, Line 1767
Burn process failed at 32x (4,800 KB/s)
2:29:31 PM #37 Text 0 File SCSIPTICommands.cpp, Line 287
SPTIDismountVolume - completed successfully for FSCTL_DISMOUNT_VOLUME
2:29:31 PM #38 Text 0 File Cdrdrv.cpp, Line 11444
DriveLocker: UnLockVolume completed
2:29:31 PM #39 Text 0 File SCSIPTICommands.cpp, Line 450
UnLockMCN - completed sucessfully for IOCTL_STORAGE_MCN_CONTROL
Existing drivers:
Registry Keys:
Posted by: NIRMAL WALIA at October 2, 2009 9:50 AMHKLM\Software\Microsoft\Windows NT\CurrentVersion\WinLogon\AllocateCDROMs : 1 (Security Option)