Re: Write error - SATA link reset with growisofs and tracksize not multiple of 32kB
Andy Polyakov <appro@fy.chalmers.se> wrote:
It apparently times out, which is basically why I thought of "Short DAO
recordings."
Could you test following. Open growisofs_mmc.cpp in text editor, locate
line that reads
cmd.timeout(dao_toggle?180:60);
Modify it as
cmd.timeout(180);
Recompile and retry recording. If it still times out, try to increase to
say 300.
I tried it - no better. I just have to wait longer for the Error to
occur. With 300 growisofs is writing:
587497472/587524096 (100.0%) @0.0x, remaining 0:00 RBU 0.1% UBU 100.0%
for approximately 5 Minutes, then Kernel logs the link reset and I get
the error.
One interesting thing: The drive blinks for about 1-2 minutes after
the first 100%-line. Then it comes short into action (noise like spin
up/down) and the LED on the drives goes out. It seems to have
finished. But you have to wait for another few minutes until growisofs
stops with error. As said above, kernel messages also appear only at
the end of the wait time.
For your question about the kernel-Log in later mail:
As far as I remember, the kernel output belongs to this recording, but
I'm not 100% sure. If you think it's important, I will test it again.
Well, I'd bet the values are from different recordings, because
discrepancy is simply insane. It's as important as to maintain sanity:-)
Ok, to maintain sanity :-) : You were right. The correct kernel-log
for the 0.5G-Testfile is:
-----------------
[ 1656.664046] ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action
0x6 frozen
[ 1656.664067] ata2.00: cmd a0/01:00:00:00:80/00:00:00:00:00/a0 tag 0
dma 32768 out
[ 1656.664070] cdb 2a 00 00 04 60 90 00 00 0d 00 00 00 00 00 00 00
[ 1656.664072] res 40/00:03:00:00:80/00:00:00:00:00/a0 Emask
0x4 (timeout)
[ 1656.664077] ata2.00: status: { DRDY }
[ 1656.664084] ata2: hard resetting link
[ 1663.204032] ata2: link is slow to respond, please be patient (ready=0)
[ 1666.681520] ata2: softreset failed (device not ready)
[ 1666.681546] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[ 1671.681523] ata2.00: qc timeout (cmd 0xa1)
[ 1671.681543] ata2.00: failed to IDENTIFY (I/O error, err_mask=0x4)
[ 1671.681548] ata2.00: revalidation failed (errno=-5)
[ 1671.681557] ata2: hard resetting link
[ 1678.212027] ata2: link is slow to respond, please be patient (ready=0)
[ 1681.684035] ata2: softreset failed (device not ready)
[ 1681.684061] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[ 1691.685542] ata2.00: qc timeout (cmd 0xa1)
[ 1691.685564] ata2.00: failed to IDENTIFY (I/O error, err_mask=0x4)
[ 1691.685569] ata2.00: revalidation failed (errno=-5)
[ 1691.685577] ata2: hard resetting link
[ 1692.168030] ata2: softreset failed (device not ready)
[ 1692.168041] ata2: failed due to HW bug, retry pmp=0
[ 1692.333545] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[ 1692.339886] ata2.00: configured for UDMA/100
[ 1692.339936] ata2: EH complete
---------------
With "04 60 90" as the correct failing LBA-Adress.
I don't know which test the other kernel log was from.
Too complicated:-) Open growisofs_mmc.cpp in text editor and locate
function named minus_r_reserve_track. In the beginning it reads
if (is_dao) dao_blocks = blocks;
Replace this line with
if (0) dao_blocks = blocks;
A.
This does the trick in my case. Burns without problems. So I can stay
with growisofs and don't have to try all different burning programs.
(and such a simple one - could have searched for eternity to find it).
Nevertheless if you think it's worth (still no other complained about
the same error) and if you have additional ideas, I could make further
testing.
Otherwise we could close this thread. Many thanks for your help!
Markus
Reply to: