New upstream version 0.79.5

This commit is contained in:
TANIGUCHI Takaki
2017-02-02 22:24:37 +09:00
parent 2f23ea4b4a
commit 9ad5d25d65
1931 changed files with 104660 additions and 254637 deletions

View File

@@ -0,0 +1,17 @@
.PHONY : all clean archclean single
all: single
clean:
@rm -f *~ *.aux *.log *.bak *.out *.toc *.dvi *.ps
archclean: clean
@rm -f *.pdf
single:
pdflatex manual
manual.pdf: preface.tex background.tex defect-reporting.tex howtos.tex manual.tex qa.tex burning-compatibility.tex download.tex local.tex overview.tex
pdflatex manual
pdflatex manual
pdflatex manual

View File

@@ -0,0 +1,609 @@
\section{Background information}
\label{background}
The information in this sub section is not required for operating
dvdisaster. However it is helpful for understanding how dvdisaster works
and may help you getting the most out of the program according to your needs.
\subsection{Properties of the error correction}
\label{background-properties}
This sub section outlines the basic ideas behind dvdisaster so that you can
see for yourself whether it meets your demands on data safety. If in doubt,
you should not use dvdisaster as a single means of protecting your data
and deploy additional data backup strategies.
\paragraph{Method of error correction.} dvdisaster
uses a \href{http://en.wikipedia.org/wiki/Reed-Solomon_error_correction}{Reed-Solomon code } together
with an error correction algorithm optimized for the treatment of erasures. The
implementation draws a lot of inspiration and program code from the
excellent \href{http://www.ka9q.net/code/fec/}{Reed-Solomon} library written
\href{http://www.ka9q.net/}{by Phil Karn}.
Using the \tlnk{howto-eccfile-basic-settings-ecc}{standard settings} of
an \tlnk{howto-eccfile}{error correction} file 223 medium sectors
are combined into one error correction code (``ECC'') block.
Medium read errors are regarded as ``erasures''; therefore a maximum
of 32 bad medium sectors\footnote{The given threshold of 32 correctable errors per ECC
block is the standard setting. It is possible to select \tlnk{howto-eccfile-basic-settings-ecc}{other values}
for higher or lower error correction capabilities.
When \tlnk{howto-augment}{error correction data is put directly on the medium},
the number of correctable errors depends on the free space on the medium.} are
correctable per ECC block.
The 223 sectors are selected so that they are evenly distributed over the medium
surface. Therefore large contigous areas of defective sectors can be corrected before
the threshold of 32 defects per ECC block is reached. This kind of error
pattern is especially common for an aging medium where the outer area is starting
to degenerate, and for scratches along the data spiral.
On the other hand, radial or diagonal scratches are expected to be correctable
in the optical disc drive itself. If not, the employed error correction
strategy performs rather neutral in these cases (neither especially good
nor extraordinary bad).
\paragraph{Limits of error correction.} In the wost case, 33 defective sectors (for the
standard setting) are sufficient to prevent a full data restoration. However
to achieve this effect, the errors have to be distributed over the medium in such
a way that they occur in the same ECC block - such patterns are very unlikely.
Empirical tests have shown that on aging media about 10\% of the overall
sector count may become defective before the threshold of 33 defects per ECC block is reached.
Scratches will cause the threshold to be reached earlier, therefore it is
recommended to visually check the media in regular intervals. Media with read errors
caused by scratches should be replaced immediately.
\paragraph{Hardware limits.} Most drives will not recognize media when the
lead-in area before the first sector (near the center hole) is damaged.
In such cases, dvdisaster will not be able to recover any content from the media.
It is not feasible to enhance the reliability of poor quality media by using
dvdisaster. Cheap media can decay within a few days to an extent which will
exceed the capabilities of the error correction code.
\subsection{Image level data recovery}
\label{background-image-level}
Media recovery with error correcting codes takes place in two steps:
\begin{enumerate}
\item First as much data as possible is read from the defective medium.
\item Then the still missing data is recovered using the error correction code.
\end{enumerate}
The amount of readable data (step 1) does not only depend on the reading
capabilities of the drive, but also on which logical level the reading process
takes place. This page discusses the logical levels and explains why dvdisaster
uses image level reading. Please see also \tlnk{qa-image-level}{Q1.5} for
a visualization of this concept.
\paragraph{Logical levels of a medium.} Optical discs are organized into
{\em data sectors} containing 2048 bytes each. Consecutively reading and storing
these sectors produces a medium {\em image}.
But working with single data sectors is unwieldy from a users perspective. Therefore
media contain {\em file systems} which combine data sectors into {\em files}.
This requires accurate book-keeping about which data sectors each file is
comprised of, and also further attributes like file names and access permissions.
For this book-keeping some data sectors are reserved on the medium and filled
with respective data structures.
As a consequence media contain different {\em logical levels}: Viewing the
medium as a sequence of data sectors means working at the {\em image level}.
However looking at the medium as a collection of files is the perspective of
the {\em file(system) level}.
\smallskip
The two levels have different properties when it comes to data recovery:
\paragraph{Shortcomings of reading a medium at the file level.} Reading a defective
medium at the file level means trying to read as much data as possible from each file.
But a problem arises when data sectors are damaged which have book-keeping
functions in the file system. The list of files on the medium may be truncated.
Or the mapping of data sectors to files is incomplete. Therefore files or parts
from files may be lost even though the respective data sectors would still
be readable by the hardware. This is very bad since even small readable portions
of damaged files are valuable for the error correcting code.
An extremely bad case occurs when the error correction data is also stored in
files. Then the error correction data is required to repair the file system,
but the defective file system prevents access to the error correction data.
That means total data loss and rises some issues on
the treatment of error correction files (more on that later in this sub section).
A similar problem arises when files are augmented with PAR2 error correction
data and then all these files are stored on the same medium. If the internal
bookkeeping of the file system becomes damaged, all files and therefore the
error correction data become inaccessible and are therefore lost.
\smallskip
However the situation improves greatly when employing an image-based approach:
\paragraph{Advantages of reading at the image level.} Reading at the image level
uses direct communication with the drive firmware to access the data sectors.
The number of readable sectors depends only on the reading capabilities of the drive,
but not on the state of the file system. A read error in one sector does not
block access to other data sectors. Since {\em all} sectors are recovered
which are still readable by the hardware, this method provides the best foundation
for the error correction.
Another consideration is that the image contains all data sectors of
the medium. When the image is completely
recovered the file system stored within is also fully repaired. A protection
at the image level is therefore more extensive than error correction at the file level.
dvdisaster is working exclusively at the image level to take advantage of these properties.
The \tlnk{background-methods}{RS02 and RS03 methods} even allow
for \tlnk{howto-augment}{storing the error correction data at the same medium}.
This is possible since reading the error correction information at the image level
can not be blocked by errors at other medium locations (damaged sectors with error
correction data will reduce the error recovering capacity, but not make recovery impossible).
\smallskip
The \tlnk{background-methods}{RS01 method} protects media at the image level, too,
but stores the error correction data in files. The next section hints at some pitfalls
arising from that.
\paragraph{Consequences for error correction file storage.} \label{background-image-level-consequences}The error correction data
created by dvdisaster protects media at the image level. But how are the error correction
files protected?
\smallskip
Since error correction files are read at the file level they are subject to the
problems discussed above. If the medium containing the error correction files
becomes damaged it may not be possible to access or read them completely.
Therefore it is important to protect error correction files at the image level as
well: \tlnk{background-eccfile-storage}{Media containing error correction files} must be
protected with dvdisaster, too.
Since image level protection is assumed there is {\em no further damage protection}
contained in the RS01 error correction files! This would not help much, anyways:
Error correction files could be created in a way that allows them to provide a
reduced data recovering capacity even when being damaged\footnote{Error correction files
created with the new RS03 codec have exactly these properties, e.g. they are robust
against damage as long as there is enough error correction capacity left. This is
possible as there is sufficient computing power and fast hard drive access available
now to create a suitable file format. At the time RS01 was developed these resources
were not yet available. But it must be stressed that even for RS03 error correction
files the disadvantages of reading at the file level hold!}. But
however such internal protection would be designed, the error correction file would
still be only protected at the file system level with all the disadvantages discussed above!
In addition, the computing time and redundancy used for internal protection is
better spent at the image level: The Reed-Solomon error correction works best
when error correction information is spread over huge amounts of data. It is
better to protect the image as a whole than individually protecting each file within.
\subsection{The RS01, RS02 and RS03 methods}
\label{background-methods}
dvdisaster contains three error correction methods.
RS01 and RS02 have been available right from the start of the project.
RS03 has been added recently to take advantage of
recent hardware, and to implement improvements
learned from evaluating its predecessors.
\paragraph{Comparison of the methods.} All three methods build on the
same \tlnk{background-properties}{Reed-Solomon} error correction. They calculate error
correction information for ISO images which is used to recover unreadable sectors if
the disc becomes damaged afterwards.
\smallskip
The methods differ in the way the error correction information is stored:
\begin{itemize}
\item RS01 creates {\bf error correction files} which are stored separately
from the image they belong to. Since data protection at
the \tlnk{background-image-level}{file level} is difficult,
error correction files must be stored on media which are protected against data loss by dvdisaster, too.
\item To apply the RS02 method an image is first created on hard disk using a
optical disc authoring (or writing) software. Before the image is written on the medium,
dvdisaster is used to {\bf augment the image} with error correction data.
Therefore the data to be protected and the error correction information are located at
the same medium. Damaged sectors in the error correction information reduce the data recovering
capacity, but do not make recovery impossible - a second medium for keeping or protecting the
error correction information is not required.
\end{itemize}
RS03 is a further development of RS01 and RS02.
It can create both error correction files and augmented images:
\begin{itemize}
\item RS03 can distribute work over multiple processor cores and is
therefore much faster than RS01/RS02 on modern hardware.
\item RS03 {\bf error correction files} are - contrary to RS01 - robust
against damage. This should not delude you into careless handling of your error
correction files though - the disadvantages of \tlnk{background-image-level}{reading at the filesystem level} are
still valid.
\item RS03 {\bf augmented images} do not require so-called master blocks
holding important information. This makes RS03 a bit more robust, but also more restrictive:
The augmented image must completely fill the medium now while the size of augmented images
can be freely chosen in RS02.
\end{itemize}
The changes for parallel computation and higher robustness make RS03 a bit less space efficient,
e.g. RS03 error correction data has slighly less error correction capacity than
its RS01/RS02 counterparts on images with equal size.
\newpage
\paragraph{Comparison of error correction storage.} The following table summarizes the differences
between error correction files (RS01, RS03) and augmented images (RS02, RS03):
\smallskip
\begin{tabular}{|p{0.473\textwidth}|p{0.473\textwidth}|}
\hline
{\em Error correction files} &
{\em Image augmented with error correction data} \\
\hline
any possible redundancy can be chosen &
redundancy is limited by free space on the medium (= medium capacity - size of data image) \\
\hline
already effective at 15\% redundancy since error correction files are required to be free of damage &
requires more redundancy (recommended: 20-30\%) to compensate defects in the error correction data \\
\hline
medium can be completely filled with data &
usable medium capacity is reduced by amount of error correction data \\
\hline
can be created for already existing media &
only applicable before writing the new medium since the image must be augmented with error correction information in advance \\
\hline
separately storing the error correction file from user data strengthens data protection &
common storage of user data and error correction data may reduce error correction capacity \\
\hline
mapping between error correction files and media must be kept; error correction files must be
protected against damage &
easy one-medium solution; error correction information needs not to be cataloged or explicitly protected \\
\hline
no compatibility issues with play-back units &
media with augmented images may not play correctly on all units \\
\hline
\end{tabular}
\paragraph{Further reading.} The specification for the dvdisaster codecs
has been specified in a separate document called \href{http://dvdisaster.net/downloads/codecs.pdf}{codecs.pdf}.
Good knowledge in coding theory and programming is required.
\subsection{The linear reading strategy}
\label{background-linear}
dvdisaster contains two different reading strategies.
\medskip
{\bf The linear reading strategy is recommended for:}
\begin{itemize}
\item Creating images from undamaged media,
e.g. to \tlnk{howto-eccfile}{generate the error correction file}; and
\item \tlnk{howto-scan}{Scanning the medium} for reading speed and read errors.
\end{itemize}
\medskip
{\bf The} \tlnk{background-adaptive}{adaptive reading strategy} {\bf is recommended for:}
\begin{itemize}
\item \tlnk{howto-recover}{Extracting data from damaged media.}
\end{itemize}
\paragraph{Properties of the linear reading strategy.}\quad
\medskip
Optical media are
organized into sectors which are continously numbered beginning with zero.
Each sector contains 2048 bytes of data.
\begin{figure}
\centerline{\includegraphics[width=1.0\textwidth]{screenshots/weak-cd-scan.png}}
\caption{Linear reading of a weak but fully readable CD.}
\label{background-linear-weak-scan}
\end{figure}
The linear reading strategy reads the medium from the start (sector 0)
until the end (last sector). The reading speed is shown graphically to
provide information about the medium quality (see
figure \ref{background-linear-weak-scan} for an example and the explanations
in the following paragraphs).
\paragraph{Configuration.}\quad
\medskip
\paragraph{Number of sectors to skip after a read error.} Reading
attempts for defective sectors are slow and may wear out the drive
mechanics under unfavourable conditions. A series of read errors,
spread over a continous sector range, is more common than single spot defects.
Therefore a \tlnk{howto-scan-prefs-read-attempts}{configuration option} exists
so that a certain number of sectors
will be skipped after the occurance of a read error. The skipped sectors are
assumed to be defective without further reading attempts. Some guide lines for
selecting the number of skipped sectors are:
\begin{itemize}
\item Skipping a large number of sectors (e.g. {\bf 1024}) gives a quick
overview of the degree of damage, but will usually not collect enough
data for repairing the medium image.
\item Smaller values like {\bf 16, 32 or 64} are a good trade-off: The processing
time will be considerably shortened, but still enough data for repairing
the image is usually collected.
\item On DVD and BD media read errors do usually extend over at least 16 sectors
for technical reasons. Therefore a sector skip less than 16 is not recommended
for such media.
\end{itemize}
\paragraph{Limiting the reading range.}
\medskip
Reading can
be \tlnk{howto-scan-prefs-image}{limited to a given range of sectors} in
the ``Image'' preferences tab. This is helpful during
multiple read attempts of damaged media.
\paragraph{Estimating media quality.}\quad
\medskip
\paragraph{The speed curve.} Most drives
will slow down while reading medium areas which are in bad condition:
\begin{itemize}
\item Drops in the reading speed can be a warning for an imminent medium failure.
\item However some drives will read with full speed until the bitter end.
With such drives media deterioration may not show up in the reading
curve until actual read errors occur.
\end{itemize}
The reading curve is most accurate when using
the ``\tlnk{howto-scan}{Scan}'' function.
During the ``\tlnk{howto-eccfile-create}{Read}'' operation the
read data will be written to the hard
drive at the same time, which may cause irregularities in the reading curve
depending on the operating system and hardware used.
\paragraph{Read errors.} Read errors cause \tlnk{howto-interpret-defective-cd}{red markings} in
the spiral or respective messages at the command line. This means
that the medium could not be read at these places during the current reading pass:
\begin{itemize}
\item The medium is most likely defective.
\item The image should be \tlnk{howto-recover}{repaired} as
soon as possible and then be transferred to a new medium.
\end{itemize}
\subsection{The adaptive reading strategy}
\label{background-adaptive}
Please note: Adaptive reading is unavailable in the current
version of dvdisaster as it requires rework for RS03. It
will be re-introuced soon. It is documented here for completeness:
%dvdisaster contains two different reading strategies.
\medskip
{\bf The adaptive reading strategy is recommended for:}
\begin{itemize}
\item \tlnk{howto-recover-read}{Extracting data} from damaged media,
\end{itemize}
\medskip
{\bf The} \tlnk{background-linear}{linear reading strategy} {\bf is recommended for:}
\begin{itemize}
\item \tlnk{howto-eccfile-create}{Creating images} from undamaged media,
e.g. to generate the error correction file.
\item \tlnk{howto-scan}{Scanning the medium} for reading speed and read errors.
\end{itemize}
\paragraph{Properties of the adaptive reading strategy.}\quad
\medskip
The adaptive reading strategy uses a ``divide and conquer'' approach for locating still readable portions of a damaged medium. The strategy is based upon an article published by Harald Bögeholz in c't-Magazin 16/2005 where it was published together with the program {\em h2cdimage}:
\begin{enumerate}
\item At the beginning the medium is considered as a single unread interval.
Reading begins with sector zero.
\item The reading process continues sequentially unless either the end of the
current interval or a read error is encountered.
\item The reading process is terminated if either (3a) sufficient sectors for
a successful error correction have been read or (3b) no unreadable intervals
exceeding a given size remain.
\item Otherwise the largest remaining unread interval will be determined. Reading
continues in the middle (e.g. second half) of this interval; the first half of
this interval is kept for a later reading pass.
\end{enumerate}
\begin{figure}
\centerline{\includegraphics[width=1.0\textwidth]{screenshots/adaptive-progress.png}}
\caption{Progress of th adaptive reading.}
\label{background-adaptive-progress}
\end{figure}
The termination criterium (3a) is especially efficient: Reading
will stop as soon as enough sectors have been collected for a
successful image recovery using the error correction file. This
can reduce the reading time by as much as 90 percent compared
with a full read attempt, but does of course only work when
error correction data is available.
\paragraph{Configuration}\quad
\medskip
\paragraph{Error correction file.} Adaptive reading works best when error
correction data is available. Obviously the \tlnk{howto-ecc}{error correction data} must have
been created at a time where the medium was
still fully readable. To use a \tlnk{howto-eccfile-create}{error correction file} during
adaptive reading,
\tlnk{howto-recover-enter-eccfile}{enter its name} before starting the reading process.
\paragraph{Limiting the adaptive reading range.} Reading can
be \tlnk{howto-eccfile-prefs-image}{limited} using the ``Image'' preferences
to a part of the medium. This is not recommended
when error correction data is used since the limit might prevent sectors
from being read which are required for a succesful error correction. If
no error correction data is available, limiting the reading range might
be helpful during multiple reading attempts.
\paragraph{Early reading termination.} If no error correction
data is available, adaptive reading will stop when no unread intervals
\tlnk{howto-recover-prefs-read-attempts}{larger than a selectable size} remain.
The termination value should not be smaller than 128. Otherwise the laser
head will have to carry out lots of repositioning moves during the final
phase of the reading process. This will negatively affect both the life
expectancy of the drive and its reading capability. A better approach is
to stop adaptive reading earlier and then try reading the remaining sectors
with an additional \tlnk{background-linear}{linear reading} pass.
\subsection{Remarks on read errors}
\label{background-read-errors}
Optical media have their own error correction code which protects the data against
small manufacturing errors and inaccuracies during writing. If the writer and medium
are compatible and of high quality, the error correction built into the medium will
at first be mainly idle. This leaves enough reserves to compensate normal wear and
aging effects during many years of the medium usage.
\smallskip
When the capacity of the built-in error correction is finally exhausted, read errors
will start to appear on the medium. These will be reported by
the ``\tlnk{howto-scan}{Scan}''-operation
of dvdisaster. Depending on the time of first occurrence, two types of read errors
are of particular interest:
\paragraph{Read errors appearing right after writing the medium.} This is a sign of:
\begin{itemize}
\item media from a faulty production run, or
\item media which are not compatible with the writer.
\end{itemize}
A prudential choice is to dispose of the faulty media and to write the data
on error-free media, possibly switching to a different producer.
\smallskip
Please withstand the temptation of trying to preserve the faulty media
by means of an error correction file - this will most likely end with data loss.
\paragraph{Read errors after a few months/years.} The built-in error correction
of the medium will be increasingly loaded during its life time until it finally
fails and read errors show up. This happens for mechanical reasons (scratches,
warping of the plastic material) as well as for chemical causes (decaying dye
and/or reflective layer).
\smallskip
These effects typically occur while the medium is stored away for a few months,
and it may not be possible to read in all sectors afterwards.
\smallskip
Therefore it is crucial to \tlnk{howto-ecc}{create the error correction data} in
time. The ecc data contains information for recalculating the contents of missing
sectors (\tlnk{background-properties}{within certain limits}).
Therefore with the help of the ecc data dvdisaster can recover images even
if not all sectors could actually be read by the drive.
\smallskip
Since the error correction can reconstruct missing sectors up to a certain number,
it is not necessary to squeeze out a defective medium for every readable sector.
The \tlnk{background-adaptive}{adaptive reading strategy} checks during reading
whether enough data for error correction has been collected. As soon as this is
the case, reading stops and still unread sectors will be recovered using the ecc data.
\paragraph{Some hints for effectively reading damaged media}\quad
\medskip
The outcome from reading damaged media depends on several factors:
\begin{itemize}
\item {\bf Not all drives are built the same.}
Different drives have different reading capabilities. Take advantage of dvdisaster's
function for completing an image with several reading passes and use different drives
for each pass. Transfer the image file between computers using a network or removable
media in order to use drives installed in different machines.
\item {\bf Eject and insert the medium again.}
Sometimes it makes a difference to eject the medium, turn it about a quarter,
and then load it again for another reading pass.
\item {\bf Some drives read better while being cold.}
Turn off the computer over night and perform another reading attempt in the next morning.
But note: ``Cold'' refers to normal living room conditions - putting hardware or
media into the fridge can be very unhealthy for them.
\end{itemize}
\subsection{Hints for storing the error correction files}
\label{background-eccfile-storage}
Currently there are few (if any) exchangeable media technologies which can be a
cost-effective alternative to the various optical disc formats. So you will
probably not only use optical discs for data archival, but store the respective
error correction files on CD, DVD or BD as well.
\smallskip
There is nothing wrong with that, but bear in mind that your archived data and
the error correction files are stored on media with the same degree of reliability.
When read errors occur on the archived data, be prepared that the disc with the
respective error correction file might have aged beyond full readability, too.
\smallskip
Therefore it is important to protect your error correction files with the same
care as your other data\footnote{You might also choose
an \tlnk{howto-augment}{augmented image} using RS02 or RS03 instead
of creating an error correction file.}.
This is best achieved by integrating the error correction files into
your normal data backup scheme. Here are two ideas:
\paragraph{1. Storing the error correction files on dedicated media:}\quad
\medskip
If you decide to store error correction files on separate media, it
is \tlnk{background-image-level-consequences}{important} to protect those media
with dvdisaster as well. To avoid a never-ending chain (error correction
files for media of error correction files for ...), try the following:
\smallskip
Lets assume that five error correction files can be stored at each medium.
Write the first five error correction files to the first medium and create
another error correction file for that medium. Now save that error correction
file together with four other error correction files on the second medium.
If you continue that way, all error correction files except for those from the
last medium (which may still be kept on hard disk) are protected by dvdisaster.
\paragraph{2. Putting the error correction file on the next medium of a series:}\quad
\medskip
If you do not fill your media to the max (e.g. with less than 4GiB for
a single layered DVD), you can store the error correction file of one
medium on the succeeding medium within a series.

View File

@@ -0,0 +1,196 @@
\section{Burning software compatibility}
\label{burning-compatibility}
dvdisaster must be used in conjunction with a CD/DVD/BD writing suite (``burning program'')
in order to generate ISO images and to write augmented ISO image files. Unfortunately,
not all burning programs provide the required features to work with dvdisaster.
Some burning programs may even produce media and/or ISO images which can not be
used with dvdisaster.
\smallskip
For your convenience, the dvdisaster project has tested some free burning programs
available for GNU/Linux. Please note that this list will always be incomplete and
only be a snapshot of a certain program version. It is likely to be outdated when
you are reading this page. It is therefore recommended that you test your specific
burning program version by following the \tlnk{howto-compat-overview}{instructions} given
in the howto section.
\paragraph{Recommended software}\quad
\medskip
The dvdisaster project recommends either using the command line tools
listed below or using the K3B burning application (which is actually
a graphical wrapper around the command line tools).
\paragraph{Burning program compatibility table}\quad
\medskip
\newcommand{\tgrey}[1]{\cellcolor{dkgrey}#1}
\newcommand{\tturquoise}[1]{\cellcolor{turquoise}#1}
\newcommand{\tpink}[1]{\cellcolor{pink}#1}
\newcommand{\tblue}[1]{\cellcolor{dkblue}#1}
\newcommand{\tred}[1]{&\begin{minipage}{10mm}{\cellcolor{ltred}#1}\end{minipage}}
\newcommand{\tyellow}[1]{&\begin{minipage}{10mm}\cellcolor{ltyellow}{#1}\end{minipage}}
\newcommand{\ok}{&\cellcolor{ltgreen}OK}
\newcommand{\na}{&\cellcolor{ltgrey}n.a.}
\newcommand{\nt}{&\begin{minipage}{10mm}{not tested}\end{minipage}}
\begin{tabular}{|c|c|c|c|c|c|c|c|c|c|}
\hline
\tgrey{} & \tgrey{} & \tgrey{} & \tturquoise{Create} &
\multicolumn{3}{c|}{\tpink{Burning images}} & \multicolumn{3}{c|}{\tblue{Burning images}} \\
\tgrey{Program} & \tgrey{Version} & \tgrey{Testing} & \tturquoise{ISO/} &
\multicolumn{3}{c|}{\tpink{for error}} &
\multicolumn{3}{c|}{\tblue{with embedded}} \\
\tgrey{} & \tgrey{} & \tgrey{Date} & \tturquoise{UDF} &
\multicolumn{3}{c|}{\tpink{correction files}} &
\multicolumn{3}{c|}{\tblue{error correction}} \\
\cline{5-10}
\tgrey{} & \tgrey{} & \tgrey{} &\tturquoise{Image} &\tpink{CD} &\tpink{DVD} &\tpink{BD} &\tblue{CD} &\tblue{DVD} &\tblue{BD} \\
\hline
\multicolumn{10}{|c|}{\cellcolor{ltgrey}Command line tools} \\
\hline
genisoimage & 1.1.11 & Jul'14 \ok \na \na \na \na \na \na \\
\hline
wodim & 1.1.11 & Jul'14 \na \ok \ok \na \ok \ok \na \\
\hline
growisofs & 7.1 & Jul'14 \na \na \ok \ok \na \ok \ok \\
\hline
\multicolumn{10}{|c|}{\cellcolor{ltgrey}Tools with a graphical user interface} \\
\hline
brasero & 3.4.1 & Jul'14 \tred{no UDF$^{1)}$} \tyellow{avoid$^{2)}$} \ok \na \tyellow{avoid$^{2)}$} \ok \na \\
\hline
K3B & 2.0.2 & Jul'14 \ok \ok \ok \na \ok \ok \na \\
\hline
xfburn & 0.4.3 & Jul'14 \ok \tyellow{re-read only$^{3)}$} \tyellow{re-read only$^{3)}$} \na \tred{do not use$^{3)}$} \tred{do not use$^{3)}$} \na \\
\hline
\end{tabular}
\bigskip
\paragraph{Testing conditions and objectives}\quad
\medskip
Testing was done using Debian 7.5 (wheezy) on an amd64 machine.
Versions of the tested writing software are indicated in the table above.
\medskip
Evaluation of the burning software is done for the two major cases where
interoperability with dvdisaster is required:
\bigskip
a) Creating error correction files
\medskip
The burning program is used to assemble an ISO image from a selected set of files,
and to write a CD, DVD or BD disc from it. An \tlnk{howto-eccfile}{error correction file} will
be created to protect this medium.
\smallskip
There are two ways of obtaining the ISO image for creating the error correction file:
\begin{enumerate}
\item The burning program is used to create an ISO image which is stored on hard disk.
This image is used for burning the medium and for creating the error correction file.
If the writing software creates a medium which does not exactly match the image,
the resulting error correction file may be useless.
A respective \tlnk{howto-compat-file}{testing method} is described
in the ``Howtos'' section. An ``OK'' in the table above indicates that
this test has been passed. But you are strongly advised to
\tlnk{howto-compat-file}{do your own test} at least
once to make sure that you are working on the same versions and premises.
\smallskip
If it is not possible to use a pre-made ISO image for both writing the medium
and for creating the error correction file, the writing software is
rated ``Re-read only'' in the table. In that case, use the alternative
approach described below (topic 2).
\item The burning program is used to write a medium, either by using a
pre-made ISO image or by creating the image on-the-fly while writing
the medium. Afterwards, the pre-made ISO image is discarded. dvdisaster
is used to read back a new ISO image from the newly written medium. From
this newly created ISO image the error correction file is created. This
process should always work; if not, the respective burning software is
marked as being unusable in the table.
\end{enumerate}
\bigskip
b) Augmenting a medium with error correction data
\medskip
\tlnk{howto-augment-write-iso}{Creating a medium}
\tlnk{howto-augment}{with embedded error correction data} is comprised of
several sub tasks: First, the burning application converts a selection of files
into an ISO image stored on hard disk. dvdisaster augments the image residing
on the hard disk with error correction data. Then, the burning application
writes the augmented image to the CD, DVD or BD. The ISO image content or format
must not be altered during the writing process. Especially, the added error correction
sectors must not be removed and no padding sectors must be added to the image during
the writing process. The ``Howto'' section describes
\tlnk{howto-compat-augment}{a test for compatibility between
a writing software and dvdisaster}. An ``OK'' in the table above indicates that this
test has been passed; otherwise you can not use the respective software for writing
augmented images. You are strongly advised to \tlnk{howto-compat-augment}{do your own test} at
least once to make sure that you are working on the same versions
and premises even with software marked as compatible in the table above.
\bigskip
c) Creating ISO images
\medskip
In addition, the table indicates whether the burning application can convert
a selection of files into an ISO image and store that ISO image on hard disk
for further processing with dvdisaster.
\paragraph{Notes (why a certain software failed a test)}\quad
\medskip
$^{1)}${\bf brasero} can only create ISO images, not ISO/UDF. This is not
recommended for DVD-Video authoring and has the disadvantage that files
with sizes greater than 2GiB can not be used in a portable way (the tested
version can not use files larger than 2GiB at all even if it says otherwise).
\bigskip
$^{2)}${\bf brasero} does not support the ``disc at once'' writing strategy. This
creates two spurious unreadable sectors at the end of CD media. dvdisaster
can handle such media, but will issue a warning and requires a preferences
setting each time such media is processed.
\bigskip
$^{3)}${\bf xfburn} can not be used to write RS02/RS03 augmented images due to a
wrong implementation of padding sector handling. In a correct implementation,
a burning program would add 150 zero padding sectors to an image it has created
itself. However padding sectors must never be added to an image which was created
or manipulated by a foreign application, such as an image being augmented by dvdisaster.
This results in the image being read back with wrong checksums, and dvdisaster will
rightfully complain that the ``Image file is 150 sectors longer than expected.''.
Error correction files can - for the same reason - not be used when created from
the original image, but it is possible to re-read the image from the written
medium and create error correction files from that image.

View File

@@ -0,0 +1,67 @@
\section{Reporting defects (aka bugs)}
\label{reporting-defects}
Like all complex software, dvdisaster may contain defects (programming errors) and
incompatibilities with certain (drive) hardware and software setups. You are invited
to tell us about any difficulties you encounter with the program or the documentation
so that we can improve things in future releases.
To make sure that we are getting the right information, we have provided the
following checklist for defect reporting.
\paragraph{Please check first that you are really experiencing a defect:}\quad
\medskip
\begin{itemize}
\item Make sure that you are using the latest genuine version from
our \tlnk{download}{download site}. dvdisaster versions provided
by third parties may contain functions and defects which are not present
in the original version (and we can't fix problems introduced by third parties).
Please do also note that the dvdisaster project does no longer
make and publish versions for the Windows and Mac OS operating
systems. Reported defects for those platforms will not be processed.
\item Double check that the issue you have encountered is not already
covered in the \tlnk{qa}{Questions and Answers} section.
\item Please note that dvdisaster will only work with the (re-)writeable varieties
of media, so seeing it {\bf reject DVD-ROM and BD-ROM} is not an error.
Also, CD-Audio, VCD, SVCD and multisession CD are not supported as well as
all HD-DVD formats (\tlnk{qa-technical-media}{complete list of supported media formats}).
\item dvdisaster works only with real optical drives. Not supported are
network drives, software drives (e.g. alcohol) and drives in virtual machines.
\end{itemize}
\paragraph{How to report issues with the program:}\quad
\medskip
Please report your findings by sending an email to {\em carsten@dvdisaster.org}.
Your report should contain:
\begin{itemize}
\item Information about the operating system and dvdisaster version you are using;
\item the drive and media type(s) which exhibited the problem;
\item a textual description of the issue you encountered;
\item a screen shot of the error message and/or output which might provide further information about the problem;
\item differences between working and non-working configurations if the issue is experienced only on certain drives/computers;
\item a log file if you suspect that the issue is related to a drive or medium incompatibility.
\end{itemize}
\paragraph{How to create a log file:}\quad
\label{reporting-defects-log}
\medskip
\begin{figure}[h]
\centerline{\includegraphics[width=\textwidth]{screenshots/activate-logfile.png}}
\caption{Creating a log file.}
\label{defect-prefs-log}
\end{figure}
If you suspect incompatibilities with your drive and/or media as the cause of your
issue, please activate the log file feature in the preferences dialog as shown in
the screen shot. Then perform a scanning or reading action and attach the log file
to your bug report.
\bigskip
Thanks for your feedback!

View File

@@ -0,0 +1,138 @@
\section{Downloading dvdisaster}
\label{download}
\begin{tabular}{ll}
\hspace*{-2mm}\begin{minipage}{122mm}
dvdisaster is available for \tlnk{download-requirements}{recent versions} of the FreeBSD,
GNU/Linux and NetBSD operating systems. It is provided
as \href{http://fsfe.org/about/basics/freesoftware.en.html}{free Software} under
the \href{http://www.gnu.org/licenses/gpl-3.0.txt}{GNU General Public License v3}.
\end{minipage} &
\begin{minipage}{34mm}
\includegraphics[width=34mm]{icons/gplv3-127x51.png}
\end{minipage}
\end{tabular}
\bigskip
The dvdisaster developer site (\url{http://dvdisaster.net}) contains
the latest source code releases for the FreeBSD, GNU/Linux and NetBSD
operating systems. These are mostly aimed at maintainers of binary packages for
the beforementioned platforms. As an end user you might find it more convenient
to install dvdisaster from the package system of your operating system bundle or
distribution. But if you prefer to download and compile the source package on your
own, you're welcome to visit the site.
\bigskip
The source code archives contain a file {\tt INSTALL} with further instructions
for building dvdisaster. The build process follows the
common {\tt ./configure; make; make install} scheme. The installation step
is optional; you can use dvdisaster directly from the build tree.
\subsection{System requirements}
\label{download-requirements}
\paragraph{Hardware requirements}\quad
\begin{itemize}
\item x86, PowerPC or Sparc processor;
\item an up-to-date CD/DVD/BD drive with ATAPI, SATA or SCSI interface;
\item enough hard disk space for creating .iso images from processed media.
\end{itemize}
\bigskip
{\bf Supported operating systems}\quad
\medskip
The following table gives an overview of the supported operating systems.
The specified releases have been used for developing and testing the
dvdisaster version made available as of this writing.
Typically, slightly older and newer OS versions will also work.
\label{download-requirements-freebsd}
\bigskip
\begin{tabular}{|l|l|}
\hline
Operating System & Release \\
\hline
GNU/Linux & Debian Jessie 8.0, Kernel 3.16 \\
\hline
FreeBSD & 10.1 \\
\hline
NetBSD & 6.1.5 \\
\hline
\end{tabular}
\bigskip
\paragraph{Not supported operating systems}\quad
\medskip
Support for Windows and Mac OS has been ended
and is not planned to be resumed in the
future (see \tlnk{qa-discontinued-os}{QA item 2.4 for an explanation)}.
\newpage
\subsection{Make sure you're not getting ripped off: The small print (and other things).}
\label{download-terms}
The dvdisaster project provides this software
as \href{http://fsfe.org/about/basics/freesoftware.en.html}{free software} to you using
the \href{http://www.gnu.org/licenses/gpl-3.0.txt}{GNU General Public License v3}.
The dvdisaster project also wants to make sure that you know you can download
the software at no cost and keeping your full privacy.
To make it clear how we distribute dvdisaster, what we do and what we
won't do, we have compiled the following list:
\paragraph{Internet and download sites}\quad
\smallskip
The dvdisaster project uses the following internet domains for publishing
its web sites and supplying software downloads:
\begin{center}
\begin{tabular}{l}
dvdisaster.com\\
dvdisaster.de\\
dvdisaster.net\\
dvdisaster.org
\end{tabular}
\end{center}
All domains are forwarded to the same site at dvdisaster.net.
No other internet or download sites are run by the dvdisaster project.
\paragraph{No money or personal data required.}\quad
\smallskip
There is {\bf no registration process} for using this software.
The dvdisaster project {\bf never} asks you to enter personal data,
to pay a fee or to donate money for:
\smallskip
\begin{tabular}{ll}
$\bullet$ & using its internet and download sites,\\
$\bullet$ & downloading the software, and\\
$\bullet$ & running the software. \\
\end{tabular}
\smallskip
In fact, please do not offer any donations to the project.
We cannot accept them for various reasons.
\paragraph{Cryptographic signature and checksums}\quad
\smallskip
dvdisaster releases are always published with cryptographic signatures
and md5 checksums. See the \href{http://dvdisaster.net}{download site} for examples.
Be very cautious if signatures and checksums are missing, invalid or not
matching those published at the sites mentioned above.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,50 @@
#FIG 3.2 Produced by xfig version 3.2.5c
Landscape
Center
Metric
A4
100.00
Single
-2
1200 2
2 1 0 20 0 7 47 -1 -1 0.000 0 1 -1 0 0 2
9450 900 9450 4320
2 1 0 20 0 7 47 -1 -1 0.000 0 1 -1 0 0 2
7875 7650 10800 7650
2 1 0 20 0 7 47 -1 -1 0.000 0 1 -1 0 0 2
4950 900 4950 4275
2 1 0 3 1 10 50 -1 20 0.000 0 0 -1 0 0 45
4995 2745 6570 2745 6615 2520 7785 2520 7830 2745 9405 2745
9405 4275 9180 4185 8955 4140 8640 4140 8415 4230 8190 4410
8055 4680 8010 4905 8010 5220 8100 5490 8235 5670 8505 5850
8910 5895 9180 5850 9405 5715 9405 7605 7920 7605 8010 7380
8100 7110 8100 6840 8010 6660 7875 6480 7695 6345 7425 6255
7245 6210 6975 6255 6705 6345 6525 6480 6390 6615 6300 6840
6345 7110 6390 7290 6480 7605 4995 7605 4995 5580 4905 5445
4905 4455 4995 4230 4995 2745
2 1 0 20 0 7 47 -1 -1 0.000 0 1 -1 0 0 2
7875 2700 10845 2700
2 1 0 20 0 7 47 -1 -1 0.000 0 1 -1 0 0 2
3150 2700 6525 2700
2 1 0 20 0 7 47 -1 -1 0.000 0 1 -1 0 0 2
4950 5625 4950 9045
2 1 0 20 0 7 47 -1 -1 0.000 0 1 -1 0 0 2
9450 5670 9450 9045
2 1 0 20 0 7 47 -1 -1 0.000 0 1 -1 0 0 2
3150 7650 6525 7650
3 0 0 20 0 10 49 -1 20 0.000 0 0 0 7
6525 2700 6300 2250 6300 1575 7200 1080 8100 1575 8100 2250
7875 2700
0.000 1.000 1.000 1.000 1.000 1.000 0.000
3 0 0 20 0 7 48 -1 -1 0.000 0 0 0 7
9450 4320 9000 4095 8325 4095 7830 4995 8325 5895 9000 5895
9450 5670
0.000 1.000 1.000 1.000 1.000 1.000 0.000
3 0 0 20 0 10 49 -1 20 0.000 0 0 0 7
4950 4275 4500 4050 3825 4050 3330 4950 3825 5850 4500 5850
4950 5625
0.000 1.000 1.000 1.000 1.000 1.000 0.000
3 0 0 20 0 7 48 -1 -1 0.000 0 0 0 7
6525 7650 6300 7200 6300 6525 7200 6030 8100 6525 8100 7200
7875 7650
0.000 1.000 1.000 1.000 1.000 1.000 0.000

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 420 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 751 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 642 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 773 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 408 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -0,0 +1,7 @@
% A link printed in parenthesis
\newcommand{\plnk}[2]{\hyperref[#1]{($\hookrightarrow$ #2)}}
% A text passage used as a link
\newcommand{\tlnk}[2]{\hyperref[#1]{#2}}

Binary file not shown.

View File

@@ -0,0 +1,138 @@
\documentclass[12pt,a4paper,twoside]{article}
\usepackage{times} % Skalierbarer und lesbarer Zeichensatz
\usepackage{ucs} % Benötigt für Eingabe von unicode-Zeichensätzen
\usepackage[utf8x]{inputenc} % Aktiviert Eingabe von unicode-Zeichensätzen
\usepackage{epsfig} % Makros zum Einfügen von Grafiken
\usepackage{anysize} % Makros zum Einstellen der Seitenränder
%\usepackage{makeidx} % Makros zum Erstellen des Indexes
\usepackage{url}
\usepackage{fancyhdr}
\usepackage{listings}
\usepackage{color}
\usepackage[table]{xcolor}
\usepackage{hyperref}
\marginsize{30mm}{20mm}{20mm}{20mm} % Seitenränder links, rechts, oben, unten
\parindent0em % Keine amerikanische Einrückung am Anfang von Paragraphen
\renewcommand{\textfraction}{0.01}
\renewcommand{\floatpagefraction}{0.99}
\renewcommand{\topfraction}{0.99}
\renewcommand{\bottomfraction}{0.99}
\pagestyle{fancy} % Seitenstil
%\makeindex % wird für Erstellung von Stichwortverzeichnissen benötigt
\definecolor{linkblue}{rgb}{0,0,0.75}
\definecolor{dkgreen}{rgb}{0,0.66,0}
\definecolor{dkred}{rgb}{0.75,0,0}
\definecolor{dkgrey}{RGB}{184,184,184}
\definecolor{ltgrey}{RGB}{224,224,224}
\definecolor{turquoise}{RGB}{128,255,255}
\definecolor{pink}{RGB}{255,180,240}
\definecolor{dkblue}{RGB}{196,196,240}
\definecolor{ltgreen}{RGB}{192,255,192}
\definecolor{ltyellow}{RGB}{255,255,192}
\definecolor{ltorange}{RGB}{255,224,192}
\definecolor{ltred}{RGB}{255,192,192}
\hypersetup{
pdftitle={dvdisaster User's Manual},
pdfauthor={Carsten Gnörlich},
colorlinks=true,
linkcolor=linkblue,
citecolor=linkblue,
filecolor=linkblue,
urlcolor=linkblue
}
\input{../config/version.tex}
\input{local.tex}
% Ende der Voreinstellungen
\newcommand{\paperversion}{{\em for dvdisaster version \projectversion}}
\fancyhead{}
\fancyhead[LE]{\nouppercase{\leftmark}}
\fancyhead[RO]{\nouppercase{\rightmark}}
%\renewcommand{\sectionmark}[1]{\markboth{#1}{#1}}
%\renewcommand{\subsectionmark}[1]{}
%\renewcommand{\footrulewidth}{0.4pt}
\fancyfoot{}
\fancyfoot[LE,RO]{page \thepage\ of \pageref{LastPage}}
\begin{document}
\definecolor{lightorange}{RGB}{255,224,150}
\pagecolor{lightorange}
\title{The dvdisaster User's Manual}
\author{Carsten Gnörlich\\carsten@dvdisaster.org}
\date{}
\maketitle
\thispagestyle{empty}
\centerline{\includegraphics[width=40mm]{figures/puzzle.pdf}}
\begin{center}
\paperversion
\end{center}
\bigskip
\begin{abstract}
This is the {\em orange manual}, describing the usage of {\em dvdisaster}, a tool for
creating error correction data (``ecc data'')
for optical media such as CD, DVD and BD discs.
Use cases for creating ecc data, recovering defective media
using ecc data and for general maintenanance of optical
media are given.
See \url{http://dvdisaster.org} for additional resources on
the dvdisaster project, e.g. for the {\em blue} manual (codecs.pdf)
containing a formal specification of the error correction data format.
\end{abstract}
\vfill
\begin{center}
{\em
Copyright 2008-2015 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium,
provided this notice is preserved.}
\end{center}
\newpage
\nopagecolor
% Table of Contents
\tableofcontents
\newpage
\input{preface}
\newpage
\input{overview}
\newpage
\input{howtos}
\newpage
\input{download}
\newpage
\input{qa}
\newpage
\input{background}
\newpage
\input{burning-compatibility}
\newpage
\input{defect-reporting}
\label{LastPage}\label{missing}
\end{document}

View File

@@ -0,0 +1,256 @@
\section{Overview}
\paragraph{The challenge: Optical media eventually fail.} Optical media (CD,DVD,BD) keep their data only for a finite time (typically for many years).
After that time, data loss develops slowly with read errors growing from the outer
media region towards the inside.
\paragraph{The dvdisaster solution: Archival with data loss protection.}
dvdisaster complements optical media \plnk{qa-technical-media}{supported media} with
error correction data
in a way that they are fully recoverable
even after some read errors have developed.
This enables you to rescue the complete data to a new medium.
Error correction data, in short ``ecc data'', is either added to the medium
or kept in separate error correction files. dvdisaster works at the image level
so that the recovery does not depend on the file system of the medium.
The maximum error correction capacity is user-selectable.
\subsection{Common misunderstandings about dvdisaster}
Before we describe in detail what dvdisaster can do, let's first clarify what it can't:
\paragraph{dvdisaster can not make defective media readable again.}
Like a conventional backup, error correction data must be created from
a fully functional optical medium - {\em you can not backup data which has already
been lost}. When the optical medium develops defective sectors at a later time,
those defective sectors are restored by re-calculating them from the ecc data.
This won't make the defective medium working again, but will produce a new iso
image which can be written to a new medium.
As said before, ecc data can not be created from already defective media.
Although unreadable sectors can not be recovered in that case, dvdisaster
might still be helpful in extracting the remaining readable portions of the medium.
\paragraph{It's not a ripping tool.} If you want a tool for copying
protected media, you're looking at the wrong place. Such functions are
outside the scope of dvdisaster's internal design and goals.
Contrary to some myths saying otherwise: dvdisaster contains
no hidden program fragments or switches for reading protected discs.
Check the source code for yourself if you don't trust me.
\subsection{How to use this manual}
Many users just want to see some examples of solving typical tasks. Flip over
to the \tlnk{howtos}{Typical applications section} in that case.
\smallskip
The remainder of this section gives an example of recovering a defective medium including
screen shots, relates using ecc data to performing quality scans and full backups,
and summarizes the pro and con of dvdisaster.
\smallskip
The \tlnk{download}{downloads} section provides a link to the download site,
summarizes the \tlnk{download-requirements}{system requirements},
and clarifies that you can get and use dvdisaster as
\tlnk{download-terms}{free software, at no cost and while keeping
your full privacy}.
\smallskip
There is also a chapter containing \tlnk{qa}{general questions and answers},
\tlnk{qa-technical}{technical questions and answers},
and explanations of \tlnk{qa-error}{error messages}.
\smallskip
The \tlnk{background}{background information} section provides details on
the \tlnk{background-properties}{properties of the error correction},
the difference between \tlnk{background-image-level}{image level and file level data recovery},
the \tlnk{background-methods}{RS01, RS02 and RS03 error correction methods},
the \tlnk{background-linear}{linear}
and \tlnk{background-adaptive}{adaptive} reading strategies,
some \tlnk{background-read-errors}{remarks on how media read errors come into existance},
and finally a few \tlnk{background-eccfile-storage}{hints for storing error correction files}.
\smallskip
As not all optical disc burning software may be compatible with dvdisaster,
you might want to check
the \tlnk{burning-compatibility}{compatibility table} and the additional
information provided with it.
\smallskip
If you encounter a defect (programming error) or
incompatibility with a certain (drive) hardware and software setup,
please see the \tlnk{reporting-defects}{reporting defects} section.
%\newpage
\subsection{Example of the error correction}
\begin{figure}[h]
\centerline{\includegraphics[width=\textwidth]{screenshots/recover-linear.png}}
\caption{Reading a defective medium.}
\label{recover-linear}
\end{figure}
\paragraph{Recovery of aged media.}
The medium processed here has become discolored and partly unreadable in its outer region.
A reading attempt yields about 23.000 unreadable sectors of 342.000 sectors total;
resulting in about 7,2\% defective sectors. Figure \ref{recover-linear} shows the
dvdisaster window after the reading attempt. The distribution of reading speed and
read errors over the medium is graphically shown.
The still readable sectors are stored in an ISO image called {\em medium.iso}.
\begin{figure}[t]
\centerline{\includegraphics[width=\textwidth]{screenshots/fix-image.png}}
\caption{Repairing the defective image.}
\label{fix-image}
\end{figure}
\paragraph{Repairing the defective image.}
The image which has been just read is incomplete since about 23.000 sectors could
not be read. These sectors are now reconstructed using the error correction data
created with dvdisaster. During the recovery a maximum of 20 errors per error
correction block is encountered (see figure \ref{fix-image}).
This results in a peak error correction load of
63\%, meaning that this degree of damage is handled well by error correction data
created with default settings. The recovered image can now be written to a new medium.
\paragraph{Recovery needs error correction data:}
The recovery process described above uses error correction (``ecc'') data.
Think of this data as a special form of backup data (it needs less space
than a normal backup, though). Like an ordinary backup, the ecc data needs
to be created before the medium goes defective.
So if you have a defective medium but never created ecc data for it, you will
not be able to recover the defective sectors (23.000 in the above example).
The data located at the end of the medium will be lost, while you will probably
be able to extract some files which are located at the beginning of the medium.
\newpage
\subsection{dvdisaster as a complement to quality scans}
\tlnk{qa-quality-scans}{Quality scans}, e.g. C2 error or PI/PO scans are a valuable tool
for testing the results of the media writing process.
\smallskip
But quality scans are {\bf not} a reliable means of
{\bf predicting the lifetime} of optical media.
Consider we are looking for the right time to copy a worn-out medium onto a new one:
\begin{itemize}
\item Too early: Copying media because of a bad quality scan is cost-ineffective.
Sometimes such media remain readable much longer than expected.
\item Too late: When the quality scan reveals unreadable sectors some data has already been lost.
\item Right before the medium fails: The ideal case, but how to tell?
\end{itemize}
However, we could do it the dvdisaster way:
\begin{itemize}
\item \tlnk{howto-ecc}{Create error correction data} for the medium.
\item \tlnk{howto-scan}{Scan the medium} regularly. Use it until the first read errors occur.
\item \tlnk{howto-recover}{Recover} the read errors using the error correction data.
Write the recovered image to a new medium.
\end{itemize}
\subsection{Error correction data vs. full backup}
\label{overview-backup}
\paragraph{A conventional backup strategy}$\!\!\!\!\!$ would be making one or
more copies of the optical medium. This has a few advantages:
Copying a medium is fast, and having two (or more) working copies
available can be convenient, especially when working at different
locations.
\smallskip
The disadvantage of this approach is that it guards only against
incidental damage, but not against general aging. It is not helpful
to have ten copies which all decay in a similar manner. If all
ten copies are unreadable in the outermost region after a few years,
data loss has occurred even though we were spending 900\% of the
original storage capacity for the backup.
\paragraph{Ecc data behaves differently}$\!\!\!\!\!$ since it is not a verbatim
copy of the original data. It is a mathematical scheme working like
this: Give me any 80\% of the original data and I will be able to
reconstruct the missing 20\%, regardless of {\em where} the 20\%
are missing (whether at the beginning or at the end, maybe in between - doesn't
matter). Incidentally, there is a strong relationship between
being able to reconstruct a missing percentage of the original data
and the size of the ecc data: If the ecc data is 20\% of the size of
the original data, it can roughly recover up to 20\% of missing data;
with ecc data being 30\% of the original size up to 30\% can be recovered
and so on. But this relationship isn't even the greatest advantage
of the ecc data; the ``regardless of where the defects are'' is the big deal.
\smallskip
Let's assume we want to have a 100\% protection of a specific 4 GiByte
DVD. Then we create another DVD containing 4 GiBytes of ecc data.
At a later date, both DVDs decay and the last 30\% of both become
unreadable. Since we have still 70\% of the original data and of the
ecc data, everything is fine! We can still reconstruct the original
data from them; using the second DVD for ecc data is much more
efficient than creating a second copy on it. In fact putting another
copy on the second DVD would not have saved us from a 30\% data loss.
\smallskip
We can even make some assumptions about our media. Maybe we expect
that even a defective medium will not lose more than 15\% of its data
(don't take my word on it). And we make sure that ecc data will be saved
on a different type of medium which is considered to have a longer life than optical
media. Then creating ecc data with a recovery rate of 20\% (always
leave a safety margin) should suffice our needs.
This would yield a reasonable data protection
while spending only an additional 20\% of storage for it.
\smallskip
This is not to say that ecc data is the final answer to all
archiving means, but when used well, it can be much more
efficient and secure than a simple backup strategy. See also the
\tlnk{bigpicture-backup}{``Big Picture'' section} for a continued
ecc data vs. full backup discussion.
\subsection{Pro and con of dvdisaster}
To summarize from the previous sub sections:
\bigskip
{\bf Advantages of using dvdisaster:}
\begin{itemize}
\item {\bf Protects} against aging and accidental medium damage (within certain limits).
\item \tlnk{howto-scan}{Read error tests} run {\bf faster} than quality scans; up to full reading speed depending on the drive.
\item {\bf Cost-effective:} Media must be replaced with a new copy only when they are really defective.
\item {\bf Space-efficient:} Ecc data requires less space than a full backup under most scenarios.
\end{itemize}
\bigskip
{\bf Limitations of using dvdisaster:}
\medskip
You need a backup and testing strategy and at least 15\% of additional storage.
\begin{itemize}
\item Error correction data {\bf must be created before the medium fails}, preferably at the same time the medium is written.
\item Error correction data requires {\bf additional storage space} either on the protected medium or by using additional media. Using the standard settings the additional storage space amounts to 15\% of the original data size (approx. 700MiB for a full 4.7GiB DVD).
\item No guaranteed protection against data loss as limits and statistical properties of the
error correction may be exceeded with extremely bad luck.
\end{itemize}
\bigskip
See also the \tlnk{background}{collection of background information} to learn
more about the functioning of dvdisaster.

View File

@@ -0,0 +1,86 @@
\section*{Preface}
\label{preface}
Since the release of dvdisaster 0.79.3\footnote{Version 0.79.4 was never finished
and released.}, nearly five years have passed.
This was partly due to changed circumstances in its
primary developer's life, but there was also a lot of
coding going on behind the scenes. In comparison with its
predecessor, dvdisaster 0.79.5 comes with lots of its
internals being significantly reworked.
\smallskip
The most visible improvement of dvdisaster 0.79.5 is, of
course, its multithreaded RS03 codec. While it takes
about 62 minutes for protecting a 36 GiB image with RS02
on a mid range PC,
the same task is done with RS03 in less than 7 minutes
using 6 processor cores on the same machine.
On a high end server with at least 16 cores and very good I/O,
this can be done in under a minute. That's quite an
improvement.
RS03 is ready for production use in the current release.
Some non-essential features, especially reworking the
adaptive reading for use with RS03 and multi-threaded
RS03 decoding (media fixing) will be delivered with
the following dvdisaster releases.
\smallskip
Other parts of the project had to be changed or even
discontinued. A software project lives on development
and continuous releases; else the
project will eventually die. In this respect, dvdisaster
was very endangered in the last few years.
To prevent this from happening again, most effort
is now directed into source code development;
everything else is delegated or discontinued.
Source code development basically means making
the GNU/Linux version, which provides the code base
for all other versions, and the FreeBSD and NetBSD ports,
which are very easily derived from the GNU/Linux code.
This is not the case for the Mac OS and Windows ports,
which are, unfortunately, \tlnk{qa-discontinued-os}{discontinued} as of now.
Another feature which has to go are the separate
stable and development releases.
Starting with this version, all dvdisaster releases
are considered production quality, so there is no
need for different branches anymore.
\smallskip
Maintaining the multi-lingual online documentation, which
also served as the project home page, did also prove to
be too time consuming. The project home page has
been changed into a simple download platform for
the project sources. It is now directed at package
maintainers who will create and pass on binaries
for the GNU/Linux, FreeBSD and NetBSD distributions.
The program documentation, which you are reading
right now, is provided in PDF format which is much
easier to author than the HTML version. The only
language available is English. Most parts of this
manual have been adapted from the old online
documentation, so it still feels more like a website
than a book. While hyperlinks are not as usable in PDF
as in HTML, they have been kept in this document to
stress that it is intended to be used as an online reference.
So please do our environment a favour and do not print
this manual. It is not meant to be read
from front cover to back cover, anyways.
\smallskip
Okay, enough ranting already. May dvdisaster be helpful
in protecting and recovering your valuable data,
and thanks for using it!
\bigskip
{\em -- -- cg, August 2015}

View File

@@ -0,0 +1,462 @@
\newcounter{qasection}
\newcounter{qaitem}
\newcommand{\qa}[2]{\stepcounter{qaitem}{\bf Q \theqasection.\theqaitem: #1}
\medskip
#2
\bigskip}
\section{Questions and answers}
\label{qa}
\stepcounter{qasection}
This section answers some general questions on dvdisaster. There is also
a sub section about \tlnk{qa-technical}{technical questions}, and one
discussing \tlnk{qa-error}{error messages}.
\bigskip
\qa{How is ``dvdisaster'' pronounced?}
{Since the word stems from the english language, simply spell ``dv'' before saying ``disaster''. Perhaps ``dee-vee-disaster'' is a suitable phonetic circumscription. }
\qa{What are quality scans and why don't you support more?}
{\label{qa-quality-scans}Optical media have a built-in error correction which is similar
to the method used in dvdisaster. Some drives can report the number
of errors corrected while reading a medium. This provides a rough
estimate of the writing and media qualities.
\smallskip
Since dvdisaster is free software, it can only include code and
information which can be redistributed freely. This is currently
true for C2 \tlnk{howto-scan}{scanning} of CD media, which
is officially standardized
and has free documentation available.
\smallskip
On the other hand, DVD quality scans (``PI/PO scans'') and BD disc
scans are not standardized. Those drive vendors who support it are
using proprietary programming interfaces. The respective specifications
seem not to be available for use in free software. So we must patiently
wait until manufacturers understand that having free software available
for a drive will sell more drives. }
\qa{Is dvdisaster compatible with future releases?}
{Yes, dvdisaster files are intended for an archival time of many years.
When upgrading to a newer version of dvdisaster you can continue using
images and error correction data created from previous versions. There
is no need to recreate them again. }
\qa{Augmented images have the error correction data appended at the end of the medium. Isn't that a bad choice?}
{\label{qa-ecc-distribution}No. First a bit of terminology: If we augment 80 bytes of user data with 20 bytes
of error correction (ecc) data, we get an ``ecc block'' comprised of 100 bytes.
Now take the following into consideration about the ecc block:
\begin{enumerate}
\item The position of the error correction data within the ecc block does not matter.
The Reed-Solomon (RS) decoder does not differentiate between user data and error
correction data. In the view of the RS decoder our ecc block is a sequence of
100 bytes from which an arbitrary subset of 20 bytes can be recovered. It can
recover the first 20 bytes, the last 20 bytes, or any combination from within
as long as the remaining 80 bytes are still intact. From this it follows that
the position of the ecc data within the ecc block does not matter; whether it
is appended at the end of the user data or is interleaved with it has no
influence on the error correcting capability.
\item Properly distributing the ecc block offsets influence of bad media spots.
Optical media have a higher probability of failing in the outer area; but for
technical reasons this is the only place where the error correction data
can be stored. However this effect is offset by distributing the ecc block
content over the medium. Let's assume that our medium is filled 80\% with
user data, leaving the remaining 20\% free for error correction data.
Now consider the 100 byte ecc block again. We need to pick 80 bytes from
the user data for it and require 20 additional byte positions in the error
correction data area. Even under these constraints it is possible to evenly
distribute the 100 bytes over the medium, from the inside to the outside,
each having a maximum distance to its neighbors. This means that under the
above scenario, 80\% of each ecc block comes from the first 80\% of the medium,
and 20\% from the rest (the outer area). Together with point (1), this negates
the influence of bad spots on the medium. Symmetry implies that for each error
correction byte stored in the (bad) outer region there will be a user data
byte located in the (good) inner medium region.
\smallskip
(If you do not already see the point, imagine putting the ecc data into the
inner medium region and the user data in the outer region. Consider point (1)
again to see that nothing changes with respect to the error correction.)
\end{enumerate}}
\qa{What's the difference between image based and file based data recovery?}
{\label{qa-image-level}Optical media are comprised of 2048 byte-wide sectors. Most of those
sectors are used to store file data, but some of them hold
so-called ``meta data'', e.g. information on directory folders.
In figure \ref{qa-metadata1} (below) there is a directory ``Pics'' holding
three files ``forest.jpg'', ``rock.jpg'' and ``protect.par''\footnote{No
offense intended against the PAR/PAR2 project. Carsten is just confident
that file based protection does not work on optical media :-)}.
Note how these files are mapped onto physical sectors (green/blue
squares) on the medium, and that an additional meta data sector
(red square) is needed for storing the ``Pics'' directory structure.
\begin{figure}[h]
\centerline{\includegraphics[width=\textwidth]{figures/metadata1.pdf}}
\caption{Relation between file system and sectors on the medium.}
\label{qa-metadata1}
\end{figure}
\paragraph{Shortcoming of file based recovery on optical media.} Now let's assume
that we are working with file based error correction. The file ``protect.par'' holds
error correction information which can be used to recover unreadable sectors within the
files ``forest.jpg'' and ``rock.jpg''. This will only work as long as we need to
recover sectors which are part of a file. But if meta data sectors become unreadable,
the file based protection will collapse. Consider figure \ref{qa-metadata2}.
When the red directory sector becomes unreadable, not only the
directory ``Pics'' but also all files under ``Pics'' become inaccessible.
This is due to the logical structure of the ISO/UDF file system, as there is
no way to tell how the green and blue sectors relate to files anymore when
the directory is lost. So we have a complete data loss although all sectors
comprising the files are still physically readable.
\begin{figure}[h]
\centerline{\includegraphics[width=\textwidth]{figures/metadata2.pdf}}
\caption{Losing the metadata sector produces complete data loss.}
\label{qa-metadata2}
\end{figure}
Please note that moving ``protect.par'' to a separate medium does not rectify
the problem - the directory block is still not recoverable as it is not
protected by the error correction data in ``protect.par''.
\paragraph{Advantages of image level recovery on optical media.} dvdisaster applies
an image level approach to error recovery. The medium is read and processed as an ISO
image. The ISO image contains a sequence of all sectors found on the medium, including
those which are meta data for the file system. Since the dvdisaster error correction
data protects all sectors in the ISO image, file contents as well as meta data
sectors (e.g. directories) can be restored. See fig. \ref{qa-metadata3} for the
different range of protection.
\begin{figure}[h]
\centerline{\includegraphics[width=\textwidth]{figures/metadata3.pdf}}
\caption{Image level protection}
\label{qa-metadata3}
\end{figure}
In addition, neither reading the damaged ISO image nor applying the error
correction requires any information from the file system contained on the
medium. As long as the drive is still able to recognize the medium, dvdisaster
will be able to recover the still readable sectors from it. Therefore there are
no ``single sectors of failure'' as in the file based approach. }
\newpage
\subsection{Technical questions}
\label{qa-technical}
\stepcounter{qasection}
\setcounter{qaitem}{0}
\qa{Which on-screen translations of the program are available?\label{qa-locale}}
{The current version of dvdisaster contains screen texts in the following languages:
\medskip
\begin{tabular}{lll}
Czech &--& unmaintained and outdated\\
English &--& complete\\
German &--& complete\\
Italian &--& unmaintained and outdated\\
Portuguese &--& unmaintained and outdated\\
Russian &--& unmaintained and outdated\\
Swedish &--& unmaintained and outdated\\
\end{tabular}
\medskip
Translators for other languages are welcome!
\bigskip
dvdisaster will automatically obtain language settings from the operating system.
If the local language is not yet supported, english text will be used. A different
language can be selected using environment variables.
\medskip
Example for the bash shell and german language:
\smallskip
{\tt export LANG=de\_DE.utf8}
\medskip
Please note that we are currently not providing translations of this user manual
and the internet site. See \tlnk{qa-translate}{topic Q 2.5} for more details.
}
\qa{Which media types are supported?}
{\label{qa-technical-media} dvdisaster supports (re-)writeable CD, DVD and BD media.
Media containing multiple sessions or copy protection can {\em not} be used.
\bigskip
Usable media by type:
\medskip
{\bf CD-R, CD-RW}
\begin{itemize}
\item only Data CD are supported.
\end{itemize}
\medskip
{\bf DVD-R, DVD+R}
\begin{itemize}
\item No further limitations are known.
\end{itemize}
\medskip
{\bf DVD-R DL, DVD+R DL (two layers)}
\begin{itemize}
\item The drive must be able to \tlnk{qa-identify}{identify (Q3.5)} the medium
type. Typically this is only the case for drives which
can also write two layered media.
\end{itemize}
\medskip
{\bf DVD-RW, DVD+RW}
\begin{itemize}
\item Some drives report \tlnk{qa-rw}{wrong image sizes (Q3.4)}.
Remedy: Determine the image size from the ISO/UDF file system or the ECC data.
\end{itemize}
\medskip
{\bf DVD-RAM}
\begin{itemize}
\item Usable only when written with ISO/UDF images like DVD-R/-RW;
\item Not supported when used as removeable medium for packet writing.
\item Similar issues with \tlnk{qa-rw}{image size recognition (Q3.4)} as noted above.
\end{itemize}
\medskip
{\bf BD-R, BD-RW}
\begin{itemize}
\item No limitations are known so far, but very few results on the
two-layered type (the 50GiB variety) have been reported yet.
\end{itemize}
\medskip
{\bf Not usable types} (image can not be extracted):
\begin{itemize}
\item BD-ROM (pressed BDs), DVD-ROM (pressed DVDs), CD-Audio and CD-Video.
\end{itemize}}
\qa{Which file systems are supported?}
{dvdisaster works exclusively on the image level which is accessed
sector-wise. That means it does not matter with which file system
the medium has been formatted. See also \tlnk{qa-image-level}{Q1.5}.
\smallskip
Since dvdisaster neither knows nor uses the file system structure,
it can not repair logical errors at the file system level. It can not
recover lost or deleted files. }
\qa{What happened to the Windows and Mac OS ports?}
{\label{qa-discontinued-os}As you may have noticed, the project has progressed very slowly in the
last years. The main developer is currently very short of time,
and some co-developers are also busy with other tasks. So the question
was either to stop development at all, or to continue developing using
as few resources as possible.
The main problem is that we have just one version of dvdisaster which
needs to live up to the different standards of GNU/Linux, Windows and
Mac OS. The path of least resistance is to continue developing dvdisaster
for GNU/Linux, since dvdisaster was originally started on GNU/Linux and is
still primarily developed on it. dvdisaster is a ``native'' GNU/Linux
application, meaning that it only uses tools and interfaces which come
bundled with GNU/Linux, such as the GNU compiler suite and the GTK+ graphical
user interface toolkit.
\smallskip
Producing the Windows version requires a huge effort, as dvdisaster can not be
built with native Windows tools like Visual C++. It requires installing an
Unix-like development environment containing the GNU compiler suite (e.g. from
MingW) and a port of the GTK+ toolkit. These tools need to be obtained directly
from the upstream source (e.g. from www.gtk.org), as no responsible developer
would use pre-made binaries from third-party sites. That guarantees for huge
extra work every time the tool chain needs to be updated.
\smallskip
When the project was started in the year 2004, the Windows 2000 port of GTK+
provided a sufficient compatibility layer to make a decent looking and usable
Windows version. Today, since Windows 8 the operating system has diverged so
significantly from GNU/Linux that it makes GTK+ based applications look poor
in terms of usage and visual appearance. Also, Windows is taking different
ways in dealing with 64-bitness and multithreading over several CPU cores.
This makes it very difficult to write an implementation of the RS03 codec
which works well on both GNU/Linux and Windows. To create a version
which lives up to the current standards of both GNU/Linux and Windows,
dvdisaster would have to be written from scratch with native bindings
to the Windows GUI and process interfaces. The same is true for Mac OS;
necessitating another complete rewrite of the source code. Resources for
that are not available, so the project will just continue developing
the GNU/Linux version.
\smallskip
Please note that this does not make your error correction data immediately
worthless under Windows, as you can continue using the current 0.72.3 binary
for a long time. Also, ecc data created under Windows can be used to recover
media using GNU/Linux, even when booting Linux as a live system from a memory stick.}
\qa{How can I help providing translations?\label{qa-translate}}
{There are several ways of providing translations to the project.
\paragraph{Translating the on-screen texts.} See \tlnk{qa-locale}{topic Q 2.1} for
a list of available translations. You are welcome to take over an unmaintained
translation or to provide one for a new language. Send an email to
{\em carsten@dvdisaster.org} for further instructions.
\paragraph{Translating the user manual and/or the internet site.} The project
is {\em currently not accepting contributions for translations of the internet
site and the user manual}. Coordinating a translation effort is a very time
consuming process which is currently exceeding our resources.
\smallskip
You are welcome, of course, to provide an unoffical translation of the
project documentation on your own webspace and at your own discretion. }
\newpage
\subsection{Error messages}
\label{qa-error}
\stepcounter{qasection}
\setcounter{qaitem}{0}
\qa{``Warning: 2 sectors missing at the end of the disc''}
{This warning appears with CD media written in ``TAO'' (track at once) mode.
Some drives report an image size which is 2 sectors too large for such media,
producing 2 pseudo read errors at the end of the medium which do not mean data
loss in this case.
\smallskip
Since the writing mode can not be determined from the medium, dvdisaster
assumes a ``TAO'' CD if exactly the last two sectors are unreadable, and
trims the image accordingly. It is up to you to decide whether this is okay.
You can advise dvdisaster to treat these sectors as real read errors by using
the {\tt --dao} option or the preferences tab for reading/scanning.
\smallskip
To avoid these problems, consider using the ``DAO / Disc at once''
(sometimes also called ``SAO / Session at once'') mode for writing single session media.}
\qa{Program blocks right after invocation}
{ Using old Linux kernel versions (kernel 2.4.x) the program
occasionally blocks right after the start and before any actions are
carried out. It can not be terminated using Ctrl-C or ``kill -9''.
\smallskip
Eject the medium to make the program terminate. Insert the medium again
and wait until the drive recognizes the medium and spins down. Calling
dvdisaster again should work now. }
\qa{What does ``CRC error, sector: n'' mean?}
{The respective sector could be read, but the checksum of its contents does
not match the value noted in the error correction file. Some possible causes are:
\begin{itemize}
\item The image has been mounted with write permission and was
therefore altered (typical evidence: CRC errors in sector 64 and in sectors 200 to 400).
\item The computer has some hardware problems, especially when communicating with
its mass storage devices.
\end{itemize}
If you suspect technical problems, try creating another version of the
image and error correction files and \tlnk{howto-info}{verify} them again. When errors
disappear or surface at a different locations, your computer may be
suffering from defective memory, broken drive cabling, or wrong CPU/system
frequency settings. }
\qa{Read errors or wrong image size with -RW/+RW/-RAM media\label{qa-rw}}
{Some drives report incorrect image sizes when -RW/+RW/-RAM media are used.
Two common cases are:
\smallskip
\begin{tabular}{lp{134mm}}
{\em Problem 1)} & The drive reports the size of the largest image ever written to the medium, not that of the actual image. \\
{\em Symptoms:} & After erasing a medium it is written with a file sized about 100MiB. But the image read back is several GiB long and contains the remainings of older images. \\[3mm]
{\em Problem 2)} & The drive reports the maximum possible medium capacity (typically 2295104 sectors) instead of the number of actually used sectors. \\
{\em Symptoms:} & When reading beyond a certain point of the medium, only read errors occur, but all files on the medium are still readable and complete. \\
\end{tabular}
\paragraph{Possible remedy:} Activate the option for determining the image size from
the ISO/UDF file system or from the ECC (RS02/RS03) data.
\medskip
If the required ISO/UDF sectors are unreadable and you are using error correction
files to recover damaged media there are two possible workarounds:
\begin{itemize}
\item Execute the ``Verify'' function with only the error correction
file being selected/given. Note down the correct image size from the
output and restrict the reading range accordingly.
\item Simply read in the image with the incorrect (larger) size.
When invoking the ``Fix'' function, answer ``OK'' when you are asked
whether the image should be truncated.
\end{itemize}}
\qa{My self-written media is recognized as ``DVD-ROM'' and rejected.\label{qa-identify}}
{The medium book type has probably been set to ``DVD-ROM''. Typically,
a drive capable of writing the same media format is required for
processing the medium with dvdisaster.
\smallskip
For example, a two-layered DVD+R with a wrong book type may only
be accepted on a writer which can write to such media. Try another
drive for reading images in these cases.}
\qa{No drives appear under FreeBSD or NetBSD.}
{ You need read {\em and} write permission for the respective device
(like /dev/pass1 on FreeBSD or /dev/rcd0d on NetBSD).
Please see the respective hints in the {\tt INSTALL} file which is
included in the source code archive.}
\qa{``Ecc file has been created with version 0.40.7.''}
{Some developer versions of dvdisaster mark their ecc files with a special bit.
This causes dvdisaster versions upto 0.65 to falsely display the above error
message. Please use the developer versions only together with dvdisaster
0.66 or newer versions. }

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Some files were not shown because too many files have changed in this diff Show More