Discussion:
[gentoo-user] Software for checking CDs and DVDs for errors?
Pouru Lasse
2018-12-03 16:27:45 UTC
Permalink
I've got a bunch of scratched disc-based games (PS2, Xbox 360) that I'd
like to check for errors. Is there any program for Linux that does this?
I found and tried dvdisaster, but it only works for CDs, not
DVDs. Everything else seems to be Windows-only.

- Lasse
Francesco Turco
2018-12-03 18:31:26 UTC
Permalink
Post by Pouru Lasse
I've got a bunch of scratched disc-based games (PS2, Xbox 360) that I'd
like to check for errors. Is there any program for Linux that does this?
I found and tried dvdisaster, but it only works for CDs, not
DVDs. Everything else seems to be Windows-only.
ddrescue?
--
https://fturco.gitlab.io/
Joerg Schilling
2018-12-04 10:28:30 UTC
Permalink
Post by Francesco Turco
ddrescue?
Are you sure this helps?

From the name, it sounds like it does not understand SCSI level, but this is
required for best recovery results, as the problems usually are in the bad
implementation at the drivers at kernel level.

Jörg
--
EMail:***@schily.net (home) Jörg Schilling D-13353 Berlin
***@fokus.fraunhofer.de (work) Blog: http://schily.blogspot.com/
URL: http://cdrecord.org/private/ http://sf.net/projects/schilytools/files/'
Jack
2018-12-03 21:32:34 UTC
Permalink
Post by Pouru Lasse
I've got a bunch of scratched disc-based games (PS2, Xbox 360) that I'd
like to check for errors. Is there any program for Linux that does this?
I found and tried dvdisaster, but it only works for CDs, not
DVDs. Everything else seems to be Windows-only.
I have not installed dvdisaster, but I'd be really surprised if it
won't check dvd's. The ebuild description is "Tool for creating error
correction data (ecc) for optical media (DVD, CD, BD)" so if it really
balks at a dvd, I'd file a bug.

Also - what is your criteria for finding an error? Could you just read
the entire disk or copy to /dev/null and just look for any read
errors? (I'm not sure if I'd try cp or dd or some variant on dd.)

Jack
Dale
2018-12-03 22:50:12 UTC
Permalink
Post by Jack
Post by Pouru Lasse
I've got a bunch of scratched disc-based games (PS2, Xbox 360) that I'd
like to check for errors. Is there any program for Linux that does this?
I found and tried dvdisaster, but it only works for CDs, not
DVDs. Everything else seems to be Windows-only.
I have not installed dvdisaster, but I'd be really surprised if it
won't check dvd's.  The ebuild description is "Tool for creating error
correction data (ecc) for optical media (DVD, CD, BD)" so if it really
balks at a dvd, I'd file a bug.
Also - what is your criteria for finding an error?  Could you just
read the entire disk or copy to /dev/null and just look for any read
errors?  (I'm not sure if I'd try cp or dd or some variant on dd.)
Jack
I was wondering if the checksums could be checked?  If the OP can find
the checksum for the DVD as it comes from the factory, then he could
check what he has against that.  Question is, is that info even
available or does it vary over batches of DVDs?  If it varies, it may
not be possible to test that way even if checksums are available. 

Thing that makes this different for the OP, a damaged audio or even a
video DVD can be corrected sometimes within the player itself.  I know
audio can and has done so for ages.  Video maybe, maybe not.  I suspect
video game DVDs fall more into the category of a data disk tho.  A
scratch may not be a problem with audio but when it comes to data, it
could be broken completely. 

Another thought, maybe if one is bad the maker would replace for a small
fee?? 

Just throwing that out there in case checksums are available and it
could be done that way.  Sort of doubt it tho. 

Dale

:-)  :-) 
Andrew Udvare
2018-12-04 02:16:43 UTC
Permalink
I was wondering if the checksums could be checked?  If the OP can find
the checksum for the DVD as it comes from the factory, then he could
check what he has against that.  Question is, is that info even
available or does it vary over batches of DVDs?  If it varies, it may
not be possible to test that way even if checksums are available.
Just throwing that out there in case checksums are available and it
could be done that way.  Sort of doubt it tho.
Checksums do exist. The Redump project is trying to collect all relevant
disc information for every video game ever made, basically.

http://redump.org/disc/57802/

The process to generate this information is very specific and requires
software that isn't made for Linux unfortunately. But the MD5, CRC32,
SHA1 is there which can be usually be checked with `dd /dev/sr0 |
sha1sum` for a basic disc.

PS1 and PS2 games can be checked without special hardware in this case,
but for others, specific hardware is required.

In my case I have a JTAG Xbox 360, so the best way for me to check a
game is to have my Xbox 360 dump the disc contents entirely with an app
that would not be available on a normal Xbox 360. If this fails at any
point it's a bad disc (or it needs cleaning/repair).
--
Andrew
Dale
2018-12-04 02:47:12 UTC
Permalink
Post by Andrew Udvare
Post by Dale
I was wondering if the checksums could be checked?  If the OP can find
the checksum for the DVD as it comes from the factory, then he could
check what he has against that.  Question is, is that info even
available or does it vary over batches of DVDs?  If it varies, it may
not be possible to test that way even if checksums are available.
Just throwing that out there in case checksums are available and it
could be done that way.  Sort of doubt it tho.
Checksums do exist. The Redump project is trying to collect all relevant
disc information for every video game ever made, basically.
http://redump.org/disc/57802/
The process to generate this information is very specific and requires
software that isn't made for Linux unfortunately. But the MD5, CRC32,
SHA1 is there which can be usually be checked with `dd /dev/sr0 |
sha1sum` for a basic disc.
PS1 and PS2 games can be checked without special hardware in this case,
but for others, specific hardware is required.
In my case I have a JTAG Xbox 360, so the best way for me to check a
game is to have my Xbox 360 dump the disc contents entirely with an app
that would not be available on a normal Xbox 360. If this fails at any
point it's a bad disc (or it needs cleaning/repair).
So as usual, they are not very Linux friendly.  Figures.  I was hoping
that there might be something helpful out there.  Sounds like there is
but only in certain cases.  That said, if that will help the OP with
only half the games, that is half that can be tested.  Otherwise, one
has to play a lot of games and see if it crashes.  ;-)

My favorite game, if you call this that, Kpatience.  I play spider
solitaire with it.  Sometimes a few other games.  I did play Tux Racer
once years ago tho.  I don't recall ever buying a game tho.  I've heard
of a lot of them and even seen some run but never was to into it. 

Maybe some of this will lead to something that can help the OP. 

Dale

:-)  :-) 
Pouru Lasse
2018-12-04 07:51:40 UTC
Permalink
Post by Dale
Post by Andrew Udvare
Post by Dale
I was wondering if the checksums could be checked?  If the OP can find
the checksum for the DVD as it comes from the factory, then he could
check what he has against that.  Question is, is that info even
available or does it vary over batches of DVDs?  If it varies, it may
not be possible to test that way even if checksums are available.
Just throwing that out there in case checksums are available and it
could be done that way.  Sort of doubt it tho.
Checksums do exist. The Redump project is trying to collect all relevant
disc information for every video game ever made, basically.
http://redump.org/disc/57802/
The process to generate this information is very specific and requires
software that isn't made for Linux unfortunately. But the MD5, CRC32,
SHA1 is there which can be usually be checked with `dd /dev/sr0 |
sha1sum` for a basic disc.
PS1 and PS2 games can be checked without special hardware in this case,
but for others, specific hardware is required.
In my case I have a JTAG Xbox 360, so the best way for me to check a
game is to have my Xbox 360 dump the disc contents entirely with an app
that would not be available on a normal Xbox 360. If this fails at any
point it's a bad disc (or it needs cleaning/repair).
So as usual, they are not very Linux friendly.  Figures.  I was hoping
that there might be something helpful out there.  Sounds like there is
but only in certain cases.  That said, if that will help the OP with
only half the games, that is half that can be tested.  Otherwise, one
has to play a lot of games and see if it crashes.  ;-)
My favorite game, if you call this that, Kpatience.  I play spider
solitaire with it.  Sometimes a few other games.  I did play Tux Racer
once years ago tho.  I don't recall ever buying a game tho.  I've heard
of a lot of them and even seen some run but never was to into it. 
Maybe some of this will lead to something that can help the OP. 
Dale
:-)  :-) 
Looks like checking the checksums is the way to go for the PS2 games,
somehow I just assumed it wouldn't be that simple.

I thought that dvdisaster should work for DVDs based on the name, but it
gives the error "this software does not support DVD-ROM type media" for
DVD games and also for regular movie DVDs. Maybe the ebuild is limited
to just CDs for some reason.

- Lasse
Jack
2018-12-04 18:48:47 UTC
Permalink
On 2018.12.04 02:51, Pouru Lasse wrote:
[snip....]
Post by Pouru Lasse
I thought that dvdisaster should work for DVDs based on the name, but
it gives the error "this software does not support DVD-ROM type
media" for DVD games and also for regular movie DVDs. Maybe the
ebuild is limited to just CDs for some reason.
This is not saying it doesn't work with any DVD - just specifically
that it doesn't work with DVD-ROM media. As someone else pointed out,
these old game console DVDs might well be using a media type specific
to that console - still not usable with dvdisaster. It (dvdisaster)
would probably work with DVD-Data (if that's the right name for it)
although that obviously won't help you any.

Jack

Joerg Schilling
2018-12-04 10:31:51 UTC
Permalink
Post by Dale
So as usual, they are not very Linux friendly.  Figures.  I was hoping
The main problem with Linux is that the drivers at SCSI level in the kernel are
worse than they could be, so if you like to get better results, you should
encourage the kernel people to do their homework.

One of the biggest problem on Linux is e.g. that the SCSI drivers only return
16 bytes of error information, but the standard says that the error information
contains at least 18 bytes.

Jörg
--
EMail:***@schily.net (home) Jörg Schilling D-13353 Berlin
***@fokus.fraunhofer.de (work) Blog: http://schily.blogspot.com/
URL: http://cdrecord.org/private/ http://sf.net/projects/schilytools/files/'
Joerg Schilling
2018-12-04 10:39:00 UTC
Permalink
Post by Andrew Udvare
PS1 and PS2 games can be checked without special hardware in this case,
but for others, specific hardware is required.
Games on DVD are a general problem as I expect them to contain intentionally
"unreadable sectors" that can neither be distinct from unreadable sectors
because of damage nor re-created while burning a new medium.

The background is that there is too few information on the low level DVD format
and in special as there are only secret vendor specific SCSI commands that
would allow to deal with this kind of intentional damage.

AFAIK, there was a tool from a German who did later leave Germany for legal
reasons who made a software called "clonedvd" that could do the job for some
drives on Win-DOS.

Jörg
--
EMail:***@schily.net (home) Jörg Schilling D-13353 Berlin
***@fokus.fraunhofer.de (work) Blog: http://schily.blogspot.com/
URL: http://cdrecord.org/private/ http://sf.net/projects/schilytools/files/'
Davyd McColl
2018-12-04 04:16:42 UTC
Permalink
Post by Jack
Post by Pouru Lasse
I've got a bunch of scratched disc-based games (PS2, Xbox 360) that I'd
like to check for errors. Is there any program for Linux that does this?
I found and tried dvdisaster, but it only works for CDs, not
DVDs. Everything else seems to be Windows-only.
I have not installed dvdisaster, but I'd be really surprised if it
won't check dvd's. The ebuild description is "Tool for creating error
correction data (ecc) for optical media (DVD, CD, BD)" so if it really
balks at a dvd, I'd file a bug.
Also - what is your criteria for finding an error? Could you just read
the entire disk or copy to /dev/null and just look for any read
errors? (I'm not sure if I'd try cp or dd or some variant on dd.)
Jack
Not so much just for verification, but I'd also check out ddrescue. If the
tool dumps your media easily, it's probably good. If it struggles, you may
at least still have a workable image by the time it is done.

IIRC, some game discs may also throw a curve-ball here: they had
intentional errors introduced near the end of the disc to prevent image
dumping for copy protection. I'm sure I ran across a ps2 game or two like this.

-d
Andrew Udvare
2018-12-04 05:21:15 UTC
Permalink
Not so much just for verification, but I'd also check out ddrescue. If the tool dumps your media easily, it's probably good. If it struggles, you may at least still have a workable image by the time it is done.
The lasers in older game consoles are very weak and they get even worst with age. They don't tend to do well with many scratches. The disc may read in a PC with scratches, but then fail to load in the console. I have found PC drives to be far more resilient to scratches compared to consoles.

In the case of PlayStation 1, in the interest of space, they went with mode 2 XA format which makes the discs lack error correction codes. This means if the disc fails in a PC it definitely will fail in the console with no way to correct.
--
Andrew
Joerg Schilling
2018-12-04 10:27:11 UTC
Permalink
Post by Pouru Lasse
I've got a bunch of scratched disc-based games (PS2, Xbox 360) that I'd
like to check for errors. Is there any program for Linux that does this?
I found and tried dvdisaster, but it only works for CDs, not
DVDs. Everything else seems to be Windows-only.
I am not sure what you really intend as your question does not really explain
whether you are interested in detecting problems or whether you are interested
in the best results you could get from trying to recover data from a defectice
medium.

In any case, I recommend "readcd", as it implements read recovery at SCSI level
and thus prevents you from depending on the usually bad implementation in the
kernel level driver.

In addition, readcd implements low level error discovery. Note that this works
for CD media and for some DVD drives with DVD media. I currently know of no way
to detect media quality for BluRay media.

BTW: The error recovery methods in readcd(1) are from sdd(1) that has been used
to recover from bad HD media in the mid 1980s already.

Jörg
--
EMail:***@schily.net (home) Jörg Schilling D-13353 Berlin
***@fokus.fraunhofer.de (work) Blog: http://schily.blogspot.com/
URL: http://cdrecord.org/private/ http://sf.net/projects/schilytools/files/'
Loading...