"Thomas Schmitt" <[EMAIL PROTECTED]> wrote:
> The "1F" in CDB means 31 blocks are to be written
> by this WRITE10 command.
> The "1F D7 E9" means write address is 2086889.
> (Confirmed by: 4273948672 / 2048 == 2086889)
>
> The write size of 31 blocks seems systematic:
> 2086889 % 31 == 0
>
> The man page of cdrecord says:
> "The manual layer break value needs to be a mul-
> tiple of the ECC sector size which is 16 logical 2048
> byte sectors in case of DVD"
>
> 2086912 - 2086889 == 23
> The failing write command is 31 blocks long and
> thus touches both layers.
It may be that this has been forgotten in cdrecord's code (it was planned ;-)
if it works with other drives, then other drives do not follow the worst
possible firmware documented by the MMC standard.
Looks like cdrecord needs some additional code to verify that a write command
does not cross a layer boundary. BTW: this is not easy to implement in a clean
way!
Jörg
--
EMail:[EMAIL PROTECTED] (home) Jörg Schilling D-13353 Berlin
[EMAIL PROTECTED] (uni)
[EMAIL PROTECTED] (work) Blog: http://schily.blogspot.com/
URL: http://cdrecord.berlios.de/old/private/ ftp://ftp.berlios.de/pub/schily
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]