How to fix cd burning issues
I've noticed a number of posts regarding different issues with this and suffered from the same problem myself - namely that I could only successfully burn when running my chosen burning app as sudo. A lot of the posts suggest problems with K3b, Gnomebaker or Ubuntu itself but the problem is present in many distros and is related to cdrecord and kernel versions. I wouldn't expect a distro resolution anytime soon since Debian has these bugs as outstanding for over a year now.
Anyway this is what I did to fix the issues I suffered from:
Issue 1:
Your chosen app or if running cdrecord -scanbus in terminal gives the following or similar error:
Error trying to open /dev/sg0 exclusively (Permission denied)... retrying in 1 second.
This threw me for a long time. /dev/sg0 is a device that is created at startup. You can change the permissions on this and burn successfully without running under sudo but the next time you start your machine the problem will simply come back again.
After much research I found that is related to udev (which replaced the previous hotplug system). A look at 40-permissions.rules in /etc/udev/rules.d confirmed that the # SCSI devices section contained no entry for sg0. Therefore a new rule is required. You could simply add the necessary line in 40-permissions.rules but if there is an update to udev it will get overwritten and you'll be back where you started. So I created a new rule and called it 15-local.rules and put the following lines in the file:
# SCSI devices
BUS=="scsi", KERNEL=="sg[0-9]", NAME="%k", GROUP="cdrom"
Note: I have a SATA disk with an IDE burner and my system therefore uses SCSI emulation. If you have a pure IDE system and have this permissions problem your fix may be slightly different but will still involve a udev rule.
Restart the pc and then, in terminal, run cdrecord -scanbus expecting permissions problems to now be resolved but no - now get:
Issue 2:
Error: Cannot gain SYS_RAWIO capability.Is cdrecord installed SUID root?
So now more research and a note of caution about running executables as suid root. A regular user will be able to run a program as root if it is set to SUID root. All programs and files on your computer with the s bits appearing on its mode, have the SUID -rwsr-xr-x or SGID -r-xr-sr-x bit enabled. Because these programs grant special privileges to the user who is executing them, it is important to remove the s bits from root-owned programs that won't absolutely require such privilege. Setting a program to run as suid root can create a vulnerability which could potentially grant unauthorized root access to an attacker.
I don't believe that cdrecord will fall into this category but can't guarantee that this the case. If this concerns you then your only alternative is to run your burning app as sudo - if Gnomebaker or K3b the easiest way is to use the Alacarte Menu Editor and, in Command, place gksudo ahead of the executable name (e.g. gksudo k3b), you'll then be prompted for the sudo password properly in a GUI interface when you run the program. If you're happy to run cdrecord as suid root do the following:
In terminal run the following commands:
sudo chmod 4755 /usr/bin/cdrecord
sudo chmod 4755 /usr/bin/cdrecord.mmap
sudo chmod 4755 /usr/bin/X11/cdrecord.mmap
sudo chmod 4755 /usr/bin/cdrdao
sudo chmod 4755 /usr/bin/X11/cdrdao
or if preferred type sudo nautilus in terminal, browse to the above files, go to the Permissions tab and check the box Set user ID under Special flags.
That should fix all. Gnomebaker will run without issue. If your chosen burner app is K3b you'll get the message "System Configuration Problems - cdrecord = 2.6.8. Since Linux kernal 2.6.8 cdrecord Solution: use K3bSetup to solve this problem." This you mustn't do. If you run K3bSetup it will simply reset the permissionas back again. You can safely disable this message and K3b should work without issue.
Re: How to fix cd burning issues
I had the same in breezy, dapper.
So I just put this in the /etc/rc.local file.
Code:
chown root:cdrom /dev/sg0
Or if you have another device that are for the cdrom just add it.
And after a reboot everything works like it should. Since the rc.local runs at startup
Re: How to fix cd burning issues
ALways more than one way to skin a rabbit - your way fixes issue 1 as well. I went for udev because it seems it's going to affect a lot in the future and I felt it was time to get stuck in and learn about it.
Re: How to fix cd burning issues
i've made a fresh dapper install and i'm now having both issues.
it's strage because i don't remember having issue 2 before...
anyway, issue 1 is easily solved, but shouldn't there be another way of solving issue 2? i haven't tried the solution because i'm not able to burn cds under k3b or gnomebaker even with gksudo...
but i can burn ISOs just fine using nautilus... and i've had no problem erasing cd-rws with k3b or gnomebaker...
Re: How to fix cd burning issues
Issue 2 is specific in that cdrecord needs root or suid root access to work. According to the cdrecord manual (http://www.linuxcommand.org/man_pages/cdrecord1.html) you can run cdrecord safely as suid root. Here's a couple of relevant extracts:
"Cdrecord is completely based on SCSI commands but this is no problem as
all CD/DVD writers ever made use SCSI commands for the communication.
In order to be able to use the SCSI transport subsystem of the OS, run
at highest priority and lock itself into core cdrecord either needs to
be run as root, needs to be installed suid root or must be called via
RBACs pfexec mechanism.
If you don’t want to allow users to become root on your system,
cdrecord may safely be installed suid root. This allows all users or a
group of users with no root privileges to use cdrecord. Cdrecord in
this case checks, if the real user would have been able to read the
specified files."
RBACS are role based access control lists. All I know about them is that they're extremely difficult to set up and can cause all kinds of problems if you don't get them exactly right. I know they're extensively used in Solaris but, if the problem is easily fixed by running cdrecord as suid root, it didn't seem necessary to go there.
You obviously have another issue that needs fixing first, if you can't burn running as sudo - maybe a broken or missing package, maybe an unsupported burner. If in terminal you type sudo cdrecord -scanbus this should give you the info you need to track it down.
Re: How to fix cd burning issues
When i had issues like those you mentioned (typically on fresh installs) i always did
$ sudo dpkg-reconfigure cdrecord
and set it suid root. it worked like a charm ;)
Re: How to fix cd burning issues
Quote:
Originally Posted by
kecci
When i had issues like those you mentioned (typically on fresh installs) i always did
$ sudo dpkg-reconfigure cdrecord
and set it suid root. it worked like a charm ;)
Yep. That'll do it too. All it does it set the suid root bit, same as changing permissions on the files.
Re: How to fix cd burning issues
where's what i get when i try to burn an iso with k3b:
Code:
System
-----------------------
K3b Version: 0.12.14
KDE Version: 3.5.2
QT Version: 3.3.6
Kernel: 2.6.15-15-386
Devices
-----------------------
HL-DT-ST DVDRAM GSA-4160B A301 (/dev/scd0, /dev/sg1) at /media/cdrom0 [CD-R; CD-RW; CD-ROM; DVD-ROM; DVD-RAM; DVD-R; DVD-RW; DVD+R; DVD+RW; DVD+R DL] [DVD-ROM; DVD-R Sequential; DVD-RAM; DVD-RW Restricted Overwrite; DVD-RW Sequential; DVD+RW; DVD+R; DVD+R Double Layer; CD-ROM; CD-R; CD-RW] [SAO; TAO; RAW; SAO/R96P; SAO/R96R; RAW/R16; RAW/R96P; RAW/R96R; Restricted Overwrite]
Used versions
-----------------------
cdrecord: 2.1.1a01
cdrecord
-----------------------
/usr/bin/X11/cdrecord: Warning: Running on Linux-2.6.15-15-386
/usr/bin/X11/cdrecord: There are unsettled issues with Linux-2.5 and newer.
/usr/bin/X11/cdrecord: If you have unexpected problems, please try Linux-2.4 or Solaris.
scsidev: '1,0,0'
scsibus: 1 target: 0 lun: 0
Linux sg driver version: 3.5.33
/usr/bin/X11/cdrecord: Warning: using inofficial version of libscg (debian-0.8debian2 '@(#)scsitransp.c 1.91 04/06/17 Copyright 1988,1995,2000-2004 J. Schilling').
SCSI buffer size: 64512
/usr/bin/X11/cdrecord: This version of cdrecord does not include DVD-R/DVD-RW support code.
/usr/bin/X11/cdrecord: See /usr/share/doc/cdrecord/README.DVD.Debian for details on DVD support.
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.
TOC Type: 1 = CD-ROM
Using libscg version 'debian-0.8debian2'.
atapi: 1
Device type : Removable CD-ROM
Version : 5
Response Format: 2
Capabilities :
Vendor_info : 'HL-DT-ST'
Identifikation : 'DVDRAM GSA-4160B'
Revision : 'A301'
Device seems to be: Generic mmc2 DVD-R/DVD-RW.
Current: 0x000A
Profile: 0x0012
Profile: 0x0011
Profile: 0x0014
Profile: 0x0013
Profile: 0x001A
Profile: 0x001B
Profile: 0x002B
Profile: 0x0010
Profile: 0x0009
Profile: 0x000A (current)
Profile: 0x0008
Profile: 0x0002
Using generic SCSI-3/mmc CD-R/CD-RW driver (mmc_cdr).
Driver flags : MMC-3 SWABAUDIO BURNFREE
Supported modes: TAO PACKET SAO SAO/R96P SAO/R96R RAW/R16 RAW/R96P RAW/R96R
Drive buf size : 1053696 = 1029 KB
Drive DMA Speed: 13993 kB/s 79x CD 10x DVD
FIFO size : 4194304 = 4096 KB
Track 01: data 696 MB
Total size: 799 MB (79:15.40) = 356655 sectors
Lout start: 800 MB (79:17/30) = 356655 sectors
Current Secsize: 2048
ATIP info from disk:
Indicated writing power: 6
Reference speed: 2
Is not unrestricted
Is erasable
ATIP start of lead in: -12375 (97:17/00)
ATIP start of lead out: 359849 (79:59/74)
1T speed low: 0 (reserved val 0) 1T speed high: 4
2T speed low: 0 (reserved val 5) 2T speed high: 0 (reserved val 12)
power mult factor: 3 5
recommended erase/write power: 3
A1 values: 02 3A B0
A2 values: 5C C6 26
Disk type: Phase change
Manuf. index: 69
Manufacturer: Moser Baer India Limited
Manufacturer is guessed because of the orange forum embargo.
The orange forum likes to get money for recent information.
The information for this media may not be correct.
Blocks total: 359849 Blocks current: 359849 Blocks remaining: 3194
Starting to write CD/DVD at speed 4 in real SAO mode for single session.
Last chance to quit, starting real write in 2 seconds.
1 seconds.
0 seconds. Operation starts.
Waiting for reader process to fill input buffer ... input buffer ready.
BURN-Free is OFF.
Performing OPC...
Sending CUE sheet...
/usr/bin/X11/cdrecord: WARNING: Drive returns wrong startsec (0) using -150
/usr/bin/X11/cdrecord: Input/output error. write_g1: scsi sendcmd: no error
CDB: 2A 00 FF FF FF 6A 00 00 1F 00
status: 0x2 (CHECK CONDITION)
Sense Bytes: 70 00 05 00 00 00 00 10 2A 00 00 90 30 05 00 00
Sense Key: 0x5 Illegal Request, Segment 0
Sense Code: 0x30 Qual 0x05 (cannot write medium - incompatible format) Fru 0x0
Sense flags: Blk 0 (not valid)
cmd finished after 0.006s timeout 200s
/usr/bin/X11/cdrecord: Input/output error. write_g1: scsi sendcmd: no error
CDB: 2A 00 00 00 00 00 00 00 1F 00
status: 0x2 (CHECK CONDITION)
Sense Bytes: 70 00 05 00 00 00 00 10 2A 00 00 90 30 05 00 00
Sense Key: 0x5 Illegal Request, Segment 0
Sense Code: 0x30 Qual 0x05 (cannot write medium - incompatible format) Fru 0x0
Sense flags: Blk 0 (not valid)
cmd finished after 0.006s timeout 200s
/usr/bin/X11/cdrecord: A write error occured.
/usr/bin/X11/cdrecord: Please properly read the error message above.
Writing pregap for track 1 at -150
write track pad data: error after 0 bytes
BFree: 1029 K BSize: 1029 K
Starting new track at sector: 0
Track 01: 0 of 696 MB written.
write track data: error after 0 bytes
Writing time: 73.178s
Average write speed 65.0x.
Fixating...
Fixating time: 0.004s
/usr/bin/X11/cdrecord: fifo had 64 puts and 1 gets.
/usr/bin/X11/cdrecord: fifo was 0 times empty and 0 times full, min fill was 100%.
cdrecord command:
-----------------------
/usr/bin/X11/cdrecord.mmap -v gracetime=2 dev=1,0,0 speed=4 -dao -eject -data /home/miguel/MyDownloads/SUSE-Linux-10.1-GM-i386-CD1.iso
don't know what is wrong...
any ideas?
thanks in advance,
Miguel
Re: How to fix cd burning issues
This don't work if you are using nerolinux like I do.
Code:
$ sudo dpkg-reconfigure cdrecord
I need use my rc.local file and set the permission, for the cdrom scsi device.
Re: How to fix cd burning issues
Quote:
Originally Posted by
mzilhao
where's what i get when i try to burn an iso with k3b:
Code:
System
-----------------------
K3b Version: 0.12.14
KDE Version: 3.5.2
QT Version: 3.3.6
Kernel: 2.6.15-15-386
Devices
-----------------------
HL-DT-ST DVDRAM GSA-4160B A301 (/dev/scd0, /dev/sg1) at /media/cdrom0 [CD-R; CD-RW; CD-ROM; DVD-ROM; DVD-RAM; DVD-R; DVD-RW; DVD+R; DVD+RW; DVD+R DL] [DVD-ROM; DVD-R Sequential; DVD-RAM; DVD-RW Restricted Overwrite; DVD-RW Sequential; DVD+RW; DVD+R; DVD+R Double Layer; CD-ROM; CD-R; CD-RW] [SAO; TAO; RAW; SAO/R96P; SAO/R96R; RAW/R16; RAW/R96P; RAW/R96R; Restricted Overwrite]
Used versions
-----------------------
cdrecord: 2.1.1a01
cdrecord
-----------------------
/usr/bin/X11/cdrecord: Warning: Running on Linux-2.6.15-15-386
/usr/bin/X11/cdrecord: There are unsettled issues with Linux-2.5 and newer.
/usr/bin/X11/cdrecord: If you have unexpected problems, please try Linux-2.4 or Solaris.
scsidev: '1,0,0'
scsibus: 1 target: 0 lun: 0
Linux sg driver version: 3.5.33
/usr/bin/X11/cdrecord: Warning: using inofficial version of libscg (debian-0.8debian2 '@(#)scsitransp.c 1.91 04/06/17 Copyright 1988,1995,2000-2004 J. Schilling').
SCSI buffer size: 64512
/usr/bin/X11/cdrecord: This version of cdrecord does not include DVD-R/DVD-RW support code.
/usr/bin/X11/cdrecord: See /usr/share/doc/cdrecord/README.DVD.Debian for details on DVD support.
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.
TOC Type: 1 = CD-ROM
Using libscg version 'debian-0.8debian2'.
atapi: 1
Device type : Removable CD-ROM
Version : 5
Response Format: 2
Capabilities :
Vendor_info : 'HL-DT-ST'
Identifikation : 'DVDRAM GSA-4160B'
Revision : 'A301'
Device seems to be: Generic mmc2 DVD-R/DVD-RW.
Current: 0x000A
Profile: 0x0012
Profile: 0x0011
Profile: 0x0014
Profile: 0x0013
Profile: 0x001A
Profile: 0x001B
Profile: 0x002B
Profile: 0x0010
Profile: 0x0009
Profile: 0x000A (current)
Profile: 0x0008
Profile: 0x0002
Using generic SCSI-3/mmc CD-R/CD-RW driver (mmc_cdr).
Driver flags : MMC-3 SWABAUDIO BURNFREE
Supported modes: TAO PACKET SAO SAO/R96P SAO/R96R RAW/R16 RAW/R96P RAW/R96R
Drive buf size : 1053696 = 1029 KB
Drive DMA Speed: 13993 kB/s 79x CD 10x DVD
FIFO size : 4194304 = 4096 KB
Track 01: data 696 MB
Total size: 799 MB (79:15.40) = 356655 sectors
Lout start: 800 MB (79:17/30) = 356655 sectors
Current Secsize: 2048
ATIP info from disk:
Indicated writing power: 6
Reference speed: 2
Is not unrestricted
Is erasable
ATIP start of lead in: -12375 (97:17/00)
ATIP start of lead out: 359849 (79:59/74)
1T speed low: 0 (reserved val 0) 1T speed high: 4
2T speed low: 0 (reserved val 5) 2T speed high: 0 (reserved val 12)
power mult factor: 3 5
recommended erase/write power: 3
A1 values: 02 3A B0
A2 values: 5C C6 26
Disk type: Phase change
Manuf. index: 69
Manufacturer: Moser Baer India Limited
Manufacturer is guessed because of the orange forum embargo.
The orange forum likes to get money for recent information.
The information for this media may not be correct.
Blocks total: 359849 Blocks current: 359849 Blocks remaining: 3194
Starting to write CD/DVD at speed 4 in real SAO mode for single session.
Last chance to quit, starting real write in 2 seconds.
1 seconds.
0 seconds. Operation starts.
Waiting for reader process to fill input buffer ... input buffer ready.
BURN-Free is OFF.
Performing OPC...
Sending CUE sheet...
/usr/bin/X11/cdrecord: WARNING: Drive returns wrong startsec (0) using -150
/usr/bin/X11/cdrecord: Input/output error. write_g1: scsi sendcmd: no error
CDB: 2A 00 FF FF FF 6A 00 00 1F 00
status: 0x2 (CHECK CONDITION)
Sense Bytes: 70 00 05 00 00 00 00 10 2A 00 00 90 30 05 00 00
Sense Key: 0x5 Illegal Request, Segment 0
Sense Code: 0x30 Qual 0x05 (cannot write medium - incompatible format) Fru 0x0
Sense flags: Blk 0 (not valid)
cmd finished after 0.006s timeout 200s
/usr/bin/X11/cdrecord: Input/output error. write_g1: scsi sendcmd: no error
CDB: 2A 00 00 00 00 00 00 00 1F 00
status: 0x2 (CHECK CONDITION)
Sense Bytes: 70 00 05 00 00 00 00 10 2A 00 00 90 30 05 00 00
Sense Key: 0x5 Illegal Request, Segment 0
Sense Code: 0x30 Qual 0x05 (cannot write medium - incompatible format) Fru 0x0
Sense flags: Blk 0 (not valid)
cmd finished after 0.006s timeout 200s
/usr/bin/X11/cdrecord: A write error occured.
/usr/bin/X11/cdrecord: Please properly read the error message above.
Writing pregap for track 1 at -150
write track pad data: error after 0 bytes
BFree: 1029 K BSize: 1029 K
Starting new track at sector: 0
Track 01: 0 of 696 MB written.
write track data: error after 0 bytes
Writing time: 73.178s
Average write speed 65.0x.
Fixating...
Fixating time: 0.004s
/usr/bin/X11/cdrecord: fifo had 64 puts and 1 gets.
/usr/bin/X11/cdrecord: fifo was 0 times empty and 0 times full, min fill was 100%.
cdrecord command:
-----------------------
/usr/bin/X11/cdrecord.mmap -v gracetime=2 dev=1,0,0 speed=4 -dao -eject -data /home/miguel/MyDownloads/SUSE-Linux-10.1-GM-i386-CD1.iso
don't know what is wrong...
any ideas?
thanks in advance,
Miguel
Haven't come across that particular issue before but have done an extensive web search for this. Assuming that your output was from running k3b as sudo and that you were using a new blank cd-r, the most likely cause seems to be firmware. If there is a firmware update for your drive that may fix it.