Hi, Meelis Roos wrote: > The only CD-related errors in dmesg are in the form of not being able to > read past end of device: > [...] > [ 35.918389] sr 0:0:6:0: [sr0] tag#46 Sense Key : 0x3 [current] > [ 35.973370] sr 0:0:6:0: [sr0] tag#46 ASC=0x6 ASCQ=0x0 > [ 36.019042] sr 0:0:6:0: [sr0] tag#46 CDB: opcode=0x28 28 00 00 01 9c 2c 00 > 00 02 00 > [...] > track:lout lba: 105518 ( 422072) 23:28:68 adr: 1 control: 4 mode: -1
This is probably the CD-TAO-Read-Ahead bug. It can be avoided by burning the CD with write type SAO (wodim option -sao). Most CD drives report the media size including the two TAO Run-Out blocks, which are not readable by SCSI command 28h READ(10). This is due to an ambiguity of SCSI/MMC specs for command 25h READ CAPACITY which only some few drives interpret like Linux expects. See my futile attempt to bring it to the attention of linux-scsi http://marc.info/?l=linux-scsi&m=145666692729714&w=2 The remedy would be reading the last two blocks always separately from previous blocks and to interpret their failure as End-Of-Medium if they are not ASC 0x11 (read error) or ASC 0x15 (positioning error). No reliable prediction of the readability of these sectors seems possible. (I could need contact to a kernel developer for this and some other problems like: - Concurrent burn slowdown http://marc.info/?l=linux-scsi&m=135705061804384&w=2 - Failure to wait for loaded tray to become ready - ioctl(BLKRRPART) refusing to re-assess CD/DVD/BD size after burning - undocumented old SCSI command feature used to determine start of last session. ) Have a nice day :) Thomas

