Re: Non-RW media; WORM hopes

Phillip Susi <[email protected]> Mon, 18 Jun 2007 14:02:21 -0400
Newsgroups gmane.linux.suse.packet-writing
Message-ID <[email protected]>
RB wrote:
> I wish I had good news...  Reading through the source of cdrwtool
> (udftools-1.0.0b3) and using strace, I'm able to follow the execution
> of '-m' up to the point that it actually tries to send the packet
> containing the format to the CD (cdrwtool.c:424), which fails
> immediately with a return value of EIO.  I thought it was the fact
> that cdrwtool.h tries to reference HZ in it's timeouts, but hardcoding
> those to sane values did nothing for me.  In three different drives
> from three different manufacturers, I get the following with virgin
> Imation CD-R media:
> 
> [root@tst ~] cdrwtool -d /dev/hdc -m 359846
> using device /dev/hdc
> formatting 359846 blocks
> 1751KB internal buffer
> setting write speed to 12x
> wait_cmd: Input/output error
> Command failed: 04 17 00 00 00 00 00 00 00 00 00 00 - sense 05.30.06
> format disc: Illegal seek

After refreshing my memory from the MMC standard, it looks like you can 
not use the FORMAT UNIT command on CD-R media, which is what cdrwtool is 
trying to do there.  If I am reading the standard correctly however, you 
can issue a RESERVE TRACK command with the proper mode settings and then 
proceed to write to that track a packet at a time.  I am not sure if it 
does it correctly or not, but cdrwtool has a -r switch to tell it to 
reserve a track.  This may correctly set up the mode page and reserve 
the track, then allowing you to write to it 32kb at a time.  If you 
eject the cd or reboot though, I think the mode page will need to be set 
up again before you can resume writing, and I don't see a way to do that 
currently.