bug-xorriso
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: xorriso format seems not to respect size argument


From: Thomas Schmitt
Subject: Re: xorriso format seems not to respect size argument
Date: Thu, 07 Jan 2021 23:55:28 +0100

Hi,

carsten.kunze@arcor.de wrote:
> libburn : DEBUG : Format type 32h "BD-R sequential recording", blocks = 
> 12088320
> libburn : DEBUG : CDB: 04 11 00 00 00 00 
> libburn : DEBUG : Format list: 00 82 00 08 00 B8 74 00 C9 00 00 00 

So the size wish of 23610 MiB got through to the SCSI command that was
sent to the drive.

> Media blocks : 0 readable , 11826176 writable , 11826176 overall

But the drive did not obey.


> $ dvd+rw-format -ssa=268435456 /dev/sr0
> ...
> - illegal command-line option for this media.
> - BD-R can be pre-formatted only once

Yeah. Regrettably you will have to wait with further experiments until you
need to format a BD-R again.

I can peek into the source of dvd+rw-format.cpp, at least.
The command seems to be the same as with libburn.

The format parameters seem to differ:

                i = 8;
                f = formats+4+i;
                f[0] = cap>>24;
                f[1] = cap>>16;
                f[2] = cap>>8;
                f[3] = cap;
                f[4] = 0x32<<2 | not_pow;
                f[5] = 0;
          ...

    // formats[i] becomes "Format Unit Parameter List"
    formats[i+0] = 0;           // "Reserved"
    formats[i+1] = 2;           // "IMMED" flag
    formats[i+2] = 0;           // "Descriptor Length" (MSB)
    formats[i+3] = 8;           // "Descriptor Length" (LSB)
    ...

"not_pow" is most probably 0. So the sent data should be:

  00 02 00 08 00 B8 74 00 C8 00 00 00

Compared to libburn's with your BD-R

  00 82 00 08 00 B8 74 00 C9 00 00 00

The difference in byte offset 8 "C8" vs. "C9" indicates different
Format Sub-types: 0 = "SRM+POW" with dvd+rw-tools reflects its preference
for Pseudo-Over-Write. libburn chooses 1 = "SRM-POW" as it only supports
this formatting mode with BD-R.
dvd+rw-tools would use the same if "not_pow" is 1 (option -pow, i think).

The other difference is at byte offset 1: "02" vs. "82".
That's the Format Options Valid bit. It tells the drive whether bits 3 to 6
of the byte are valid. Bit 6 and 4 are prescribed to be 0. Bit 5 = 0 tells
to use the vendor specific certification operation. Bit 3 is Try-Out, which
means that the medium shall stay untouched. We want 0.

So there is no obvious fault to see in libburn's paramaters compared to
what i expect from dvd+rw-format.
If nevertheless dvd+rw-format succeeds where libburn fails, then i'd bet
on the FOV bit.

Do you feel apt to do a code experiment to disable the FOV bit ?
(I'd tell you from where to get the source and which line to disable.
You'd need vanilla equipment for C language compiling and linking,
plus the ability to find and change a line in the code.)

Well, we will have to wait until you need more BD-R formatted.


Have a nice day :)

Thomas




reply via email to

[Prev in Thread] Current Thread [Next in Thread]