Bug#998718: Brasero fails (on Testing) burning an ISO image on a CD-RW

Thomas Schmitt scdbackup at gmx.net
Fri Nov 12 12:25:50 GMT 2021


Hi,

the "Copy" task yields very interesting results:

A closed CD-R and a closed CD-RW  which were written by write type SAO
don't spoil the drive.
Inserting a closed TAO CD-RW (burnt by Brasero) spoils the drive.
This spoiling is in effect already when the dialog window of Brasero asks
me to submit a medium or to choose a drive for copying.

dmesg shows:

[  715.623542] ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen
[  715.623564] ata3.00: cmd a0/00:00:00:00:00/00:00:00:00:00/a0 tag 13
                        Volume set (in), Read cd be 00 ff ff ff ff 00 00 01 10 00 00res 40/00:02:00:00:02/00:00:00:00:00/00 Emask 0x4 (timeout)
[  715.623570] ata3.00: status: { DRDY }
[  715.623577] ata3: hard resetting link
[  715.938617] ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[  715.944589] ata3.00: failed to IDENTIFY (device reports invalid type, err_mask=0x0)
[  715.944594] ata3.00: revalidation failed (errno=-22)
[  720.963384] ata3: hard resetting link
[  721.278510] ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[  726.339201] ata3.00: qc timeout (cmd 0xa1)
[  726.339213] ata3.00: failed to IDENTIFY (I/O error, err_mask=0x4)
[  726.339217] ata3.00: revalidation failed (errno=-5)
[  726.339223] ata3.00: disabled
[  726.654802] ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[  726.654833] ata3: EH complete
[  726.660786] sr 2:0:0:0: [sr0] tag#16 FAILED Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK cmd_age=0s
[  726.660788] sr 2:0:0:0: [sr0] tag#16 CDB: Test Unit Ready 00 00 00 00 00 00

(As one can see, the kernel's hard resetting the link does not help.)

The line [715.623564] tells that the bad command was BEh READ CD for
sector -1.
This only looks wrong, but isn't by itself, because CDs have a Lead-in
which usually starts at sector -150.

Before that experiment i already learned something new about CDs
from reading brasero source code about media inspection:

The function brasero_medium_track_written_SAO() looks for an indication
that the CD was written with TAO or Packet
  https://sources.debian.org/src/brasero/3.12.3-1/libbrasero-media/brasero-medium.c/#L1576

MMC-5 4.2.3.12 "The Track Descriptor Block" specifies this indication
for non-SAO CD to be in each block of the "pre-gap", which preceeds the
payload of the track. I.e. sector -1 is such a Track Descriptor Block.
This is a valuable information for possibly avoiding the readahead bug
with TAO CDs.

I was tempted to explore this trick myself for libburn. But now i think
that it could be the gesture which does not play well with the ASUS
DRW-24D5MT.

------------------------------------------------------------------------

Now i will probably need some help by the GNOME community:
How to build Brasero from source ?

  ldd /usr/bin/brasero | wc -l
yields a library count of 115. Ewww.

Although i know how to prepare the .deb packages of libburn on salsa and
to test-build them on a virtual Sid, i expect that Brasero is more effort.
In genral i am not trustworthy as operator beyond apt-get "update",
"dist-upgrade", and "install".

My plan for an experiment would be to let function
  brasero_medium_track_written_SAO()
immediately and unconditionally return FALSE without any read experiment.

(This might confuse Brasero at the end checkreading. But i know that
the errors from reading the Run-out blocks on the ASUS do not yield a
spoiled drive.)

Some instructions how to achieve such a change in Brasero would be highly
welcome.

------------------------------------------------------------------------

Next problem of me unskilled Brasero user:

I was not able to talk Brasero into showing me its session log for the
failed "Copy" run. If my new theory is right there should be a log line
   "Checking for TDBs in track pregap."
before nothing works any more.
It would be interesting to see the log of a successful medium inspection
on one of the two other drives whether the "TDBs" got really checked.
But i don't know how to get the log of a successful run.
Best would be to let Brasero log into its start terminal from the
very beginning.

Does somebody have instructions for me how to achieve such a visible log ?

------------------------------------------------------------------------

Have a nice day :)

Thomas



More information about the pkg-gnome-maintainers mailing list