Mon 16 Jan 2006 07:53:53 PM UTC, original submission:
With cdrecord 2.01+01a01-5 and graveman 0.3.12-4 on my debian testing system, though my CD burner supports burnfree driveropts, it is not detected by graveman.
Running :
cdrecord -checkdrive dev=/dev/hdc driveropts=help
gives the following output :
-------------------------------------------------------------
Cdrecord-Clone 2.01.01a01 (i686-pc-linux-gnu) Copyright (C) 1995-2004 Joerg Schilling
NOTE: this version of cdrecord is an inofficial (modified) release of cdrecord
and thus may have bugs that are not present in the original version.
Please send bug reports and support requests to <cdrtools@packages.debian.org>.
The original author should not be bothered with problems of this version.
cdrecord: Warning: Running on Linux-2.6.12
cdrecord: There are unsettled issues with Linux-2.5 and newer.
cdrecord: If you have unexpected problems, please try Linux-2.4 or Solaris.
scsidev: '/dev/hdc'
devname: '/dev/hdc'
scsibus: -2 target: -2 lun: -2
Warning: Open by 'devname' is unintentional and not supported.
Linux sg driver version: 3.5.27
Error: Cannot gain SYS_RAWIO capability.Is cdrecord installed SUID root?
: Operation not permitted
Using libscg version 'ubuntu-0.8ubuntu1'.
cdrecord: Warning: using inofficial version of libscg (ubuntu-0.8ubuntu1 '@(#)scsitransp.c 1.91 04/06/17 Copyright 1988,1995,2000-2004 J. Schilling').
Device type : Removable CD-ROM
Version : 0
Response Format: 2
Capabilities :
Vendor_info : 'HL-DT-ST'
Identifikation : 'RW/DVD GCC-4160N'
Revision : '0010'
Device seems to be: Generic mmc2 DVD-ROM.
Driver options:
burnfree Prepare writer to use BURN-Free technology
noburnfree Disable using BURN-Free technology
--------------------------------------------------------------
The problem comes from the fact that cdrecord outputs the 3 last lines on stderr instead of stdout and graveman (cdrecord.c, line
336) performs its test on stdout.
Replacing old line 336 :
if (strstr(Lout, CDRECORD_BURNFREE)) Adrive->type |= _BURN_FREE;
by :
if (strstr(Lout, CDRECORD_BURNFREE) || strstr(Lerr, CDRECORD_BURNFREE)) Adrive->type |= _BURN_FREE;
seems to fix the problem, while dealing with the fact that cdrecord might output Driver options to stdout in the future.
|