Marc SCHAEFER wrote:
On Thu, Aug 14, 2003 at 11:44:23PM +0200, Marc Mongenet wrote:

Par exemple les CD woody de www.debian.ch passent sans probl�me
le md5sum, en revanche readcd n'arrive pas � en lire l'image.

Les CDs grav�s ou ceux press�s ? Le md5sum direct ou sur l'ensemble des fichiers ?

Ils sont verd�tres, je suppose donc grav�s. Le md5sum de l'ensemble des fichiers est OK sur les 7 CD Woody, du premier coup.

J'enverrais volontiers un bug report, mais o� ? Driver Linux ?
Au graveur du CD concern� dans ce cas :)

Effectivement, pratique ces CD Debian pour avoir une base commune.:-)


PS: pour voir le nombre d'erreurs corrig�es par la lecture d'un CD
    (permet d'�valuer la qualit� du m�dia, de la gravure et du
    lecture), utiliser l'option -c2scan de readcd.


Apr�s quelques recherches sur Google, j'ai trouv� �
<http://hypermail.idiosynkrasia.net/linux-kernel/archived/2001/week52/0609.html>

> e.g. dd if=/dev/cdrom of=n.iso
If dd is used like that, it is surprising you do not get
more errors. An iso9660 image does not necessarily fill
the track. So the IDE equivalent of the SCSI READ CAPACITY
command will often report a size that includes unwritten
sectors at the end. Those unwritten sectors can/will cause
IO errors when an attempt is made to read them.

A very useful program called "isosize" has made a return to
util-linux-2.10s (and later). Execute:
  isosize -x /dev/cdrom
to find the number of sectors and the sector size of the iso9660
fs held _within_ the first track. Then use those numbers as the
"count=" and "bs=" arguments to dd respectively.


Ce programme isosize se trouve dans le paquet sg-utils (sg3-utils pour noyau 2.4.x) de Debian.

En lisant le CD 7 de Debian 3.0r0 :

# isosize -x /dev/cdrom
sector count: 177024, sector size: 2048

D'apr�s ce qui suis, le noyau retourne (� readcd, cat ou dd)
une taille trop grande. En revanche les acc�s � travers le
syst�me de fichiers n'ont aucune raison de lire au-del�
de la taille r�elle, ce qui fait que tout va bien. D'ailleurs
mount et df donnent le m�me r�sultat qu'isosize.

Tout cela me donne un usage pratique de dd : la duplication de
CD en contournant manuellement les d�ficiences de l'OS (je
pr�f�rerais cat) :
dd if=/dev/cdrom bs=2048 count=177024 of=cd7.img
Fonctionne parfaitement. :-)

Mais qu'est-ce qui se trouve � la fin du CD ?

Avec le lecteur IDE Plextor PLEXCombo 20/10/40-12A sur noyau 2.4.21 :

# readcd -c2scan dev=0,0,0
Capacity: 177041 Blocks = 354082 kBytes = 345 MBytes = 362 prMB
Sectorsize: 2048 Bytes
Copy from SCSI (0,0,0) disk to file '/dev/null'
end:    177041
readcd: Input/output error. read_cd: scsi sendcmd: no error
CDB:  BE 00 00 02 B3 74 00 00 1D FA 00 00
status: 0x2 (CHECK CONDITION)
Sense Bytes: F0 00 03 00 02 B3 8F 0A 00 00 00 00 15 00 00 00
Sense Key: 0x3 Medium Error, Segment 0
Sense Code: 0x15 Qual 0x00 (random positioning error) Fru 0x0
Sense flags: Blk 177039 (valid)
cmd finished after 0.022s timeout 40s

readcd: Input/output error. Cannot read source disk
readcd: Retrying from sector 177012.
............................~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~
readcd: Input/output error. Error on sector 177039 not corrected. Total of 1 errors.

Time total: 138.649sec
Read 457396.24 kB at 3299.0 kB/sec.
C2 errors total: 0 bytes in 0 sectors on disk
C2 errors rate: 0.000000%


noyau 2.2.25, lecteur Pioneer DR-U24X SCSI :


# readcd -c2scan dev=0,2,0
Capacity: 177041 Blocks = 354082 kBytes = 345 MBytes = 362 prMB
Sectorsize: 2048 Bytes
Copy from SCSI (0,2,0) disk to file '/dev/null'
end:    177041
readcd: Input/output error. read_cd: scsi sendcmd: no error
CDB:  BE 00 00 02 B3 74 00 00 1D FA 00 00
status: 0x2 (CHECK CONDITION)
Sense Bytes: F0 00 04 00 02 B3 90 0A 00 00 00 00 09 01 00 00
Sense Key: 0x4 Hardware Error, Segment 0
Sense Code: 0x09 Qual 0x01 (tracking servo failure) Fru 0x0
Sense flags: Blk 177040 (valid)
cmd finished after 9.220s timeout 40s

readcd: Input/output error. Cannot read source disk
readcd: Retrying from sector 177012.
.............................~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~
readcd: Input/output error. Error on sector 177040 not corrected. Total of 1 errors.

Time total: 1268.647sec
Read 457396.24 kB at 360.5 kB/sec.
C2 errors total: 0 bytes in 0 sectors on disk
C2 errors rate: 0.000000%


Tout cela semble coh�rent avec le padding que tu demandes � cdrecord : 177024 blocs valides + 15 blocs de z�ros = 177039, d�but des erreurs.

Ce qui est dommage, c'est que l'option -pad de cdrecord ajoute
15 blocs, plut�t que le nombre n�cessaire pour correspondre �
la taille retourn�e par Linux. Mais l'auteur de cdrecord n'a
sans doute pas une opinion mitig�e de Linux pour rien...
Cette valeur de 177041 retourn�e par Linux est �trange.

Marc Mongenet

_______________________________________________
gull mailing list
[EMAIL PROTECTED]
http://lists.alphanet.ch/mailman/listinfo/gull

Répondre à