Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#4392 - Kernel Breaks Burning in xcdroast

Attached to Project: Arch Linux
Opened by Rob (RobK) - Friday, 07 April 2006, 00:55 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To No-one
Architecture not specified
Severity High
Priority Normal
Reported Version 0.7.1 Noodle
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

I am running arch current. It would appear that the latest kernel has broken xcdroast. I can no longer burn a disk either as a regular user or as root. (Burning as a regular user has been broken for some time. But now I can't even burn a disk as root! This is new).

If you attempt to burn a disk either as a regular user or root, you get the following error:

Calling: /usr/lib/xcdroast-0.98/bin/xcdrwrap CDRECORD dev= "2,0,0" gracetime=2 fs=4096k -v -useinfo speed=2 -eject -pad -data "/home/rob/Burning/slax-popcorn-5.1.0.iso" ...

WARNING ! Cannot gain SYS_RAWIO capability !
: Operation not permitted
cdrecord: No write mode specified.
cdrecord: Asuming -tao mode.
cdrecord: Future versions of cdrecord may have different drive dependent defaults.
cdrecord: Continuing in 5 seconds...
WARNING ! Cannot gain SYS_RAWIO capability !
: Operation not permitted
cdrecord: Bad max fifo size default (Ñ®¿).

It is interesting to note that I can burn disks as root using xcdroast, kernel 2.6.16 and the same externel hard disk using Frugalware Linux. So it looks like something new in arch is preventing me from burning disks.

Rob
This task depends upon

Closed by  Tobias Powalowski (tpowa)
Sunday, 09 April 2006, 13:22 GMT
Reason for closing:  Fixed
Comment by Tobias Powalowski (tpowa) - Friday, 07 April 2006, 06:38 GMT
what kernel version are you using?
2.6.16.1-?
Comment by Jan de Groot (JGC) - Friday, 07 April 2006, 12:38 GMT
modprobe capability?
Comment by Rob (RobK) - Friday, 07 April 2006, 14:07 GMT
I am using kernel 2.6.16.1-8.
I can modprobe new modules.

Part of the problem is xcdroast is no longer being supported or actively developed.

See the comment on the xcdroast webpage:

"Linux Kernel 2.6.8 broke CD-Writing:
I had several reports that the last 2.6.x kernel broke CD-Writing using the ATAPI driver. Don't update if you want to continue to use X-CD-Roast, or switch back to SCSI-emulation.
Update: When started from a root shell burning still works, but non-root mode is disabled by this kernel."

As noted on the website, the non-root mode of xcdroast is broken with the new kernels. It would appear that the developers are not interested in fixing it.

But for some reason, burning as root is also broken with the latest kernel under arch.
(With frugalware, I can still burn as root with xcdroast. Frugalware is using the 2.6.16 kernel).

Rob

Comment by Tobias Powalowski (tpowa) - Friday, 07 April 2006, 14:46 GMT
jan meant load capability module
Comment by Rob (RobK) - Friday, 07 April 2006, 22:21 GMT
No I did not have the capability module loaded.
I did a "modprobe capability" and then tried to burn a disc as root using xcdroast.

I am still getting the same error.

Rob
Comment by Rob (RobK) - Friday, 07 April 2006, 22:23 GMT
OOPS I an not getting the exact same error message. The message is now:

cdrecord: No write mode specified.
cdrecord: Asuming -tao mode.
cdrecord: Future versions of cdrecord may have different drive dependent defaults.
cdrecord: Continuing in 5 seconds...
cdrecord: Bad max fifo size default (Ñ®¿).
Comment by Rob (RobK) - Friday, 07 April 2006, 22:47 GMT
It looks like this error might be a cdrecord error.

I get the same error: "Bad max fifo size default" when I execute the following in a root terminal:

cdrecord dev= "0,0,0" gracetime=2 fs=4096k -v -useinfo speed=2 -eject -pad -data "/home/rob/Burning/slax-5.1.0.iso"

When I do "cdrecord -scanbus", it is detecting and displaying the right CD Writer.

Any ideas?

Rob
Comment by Rob (RobK) - Friday, 07 April 2006, 22:48 GMT
Oops more typos, I actuallu executed the following in a root terminal:

cdrecord dev= "2,0,0" gracetime=2 fs=4096k -v -useinfo speed=2 -eject -pad -data "/home/rob/Burning/slax-5.1.0.iso"
Comment by Jan de Groot (JGC) - Friday, 07 April 2006, 22:49 GMT
try burning without the fs parameter, it should set a fifo size by its own.
Comment by Rob (RobK) - Saturday, 08 April 2006, 01:48 GMT
Hmm. I can burn the disk when I omit fs=4096k from the cdrecord command I enter into the root terminal.

This is very strange. If I run Frugalware, xcdroast sends the exact same cdrecord command with fs=4096k to the same external cd writer and it works. But for some reason, xcdroast under arch cannot burn disks (even though the same cdrecord command is being used).

Since xcdroast appears to always send fs=4096k to the cd writer, xcdroast under arch is pretty much useless at this time unless a solution can be found.

I am really scratching my head to find the difference in arch that is causing the problem.

Rob
Comment by Rob (RobK) - Saturday, 08 April 2006, 02:24 GMT
I checked the cdrecord man pages. According to the man pages, when fs is not used, a default fs of 4 MB is used unless CDR_FIFOSIZE is set.

I have not set CDR_FIFOSIZE. Isn't 4096k the same as 4MB?

Rob
Comment by Tobias Powalowski (tpowa) - Saturday, 08 April 2006, 10:15 GMT
k3b works just fine without loading anything
Comment by Rob (RobK) - Saturday, 08 April 2006, 17:35 GMT
k3b is not an option for me. I am runnimng arch on an old computer with limited RAM. KDE is out of the question.

For older computers, there really are only two GUI burning programs - xcdroast and graveman. And of course, there is the old cdrecord command line utility. xcdroast is just a GUI to cdrecord.

Since it would appear that the bug is really a cdrecord bug, I posted a bug report with the cdrecord developers. Here is the response from the main cdrecord developer:

> I think there may be a bug in cdrecord 2.01.01a06.
>
> This command fails:
>
> cdrecord dev="3,0,0" gracetime=2 fs=4096k -v speed=2 -eject -pad -data
> "/home/rob/slax-5.1.0.iso"
>
> with the following error:
>
> cdrecord: Bad max fifo size default.

This is why a07 has been published nearly 2 months ago...

Jörg

So the bugfix would appear to be simple -- just update cdrecord to the latest version!
I do hope the maintainer for cdrecord updates it to the latest version.

Rob
P.S. I now know why xdcroast / cdrecord works in Frugalware. Frugalware is using a different version of cdrecord.
P.P.S. Ii am not sure whether the latest version will fix the other bug.. On the cdrecord website, it states "Linux-2.6.8.1 breaks CD/DVD writing for suid root applications". This is a different bug which means that you must run cdrecord as root. You cannot use suid -- Pity!
Comment by Alexander Baldeck (kth5) - Saturday, 08 April 2006, 17:37 GMT
i second that k3b works, for unprivileged users just add them to optical and have k3bsetup use a burning group names optical.
Comment by Tobias Powalowski (tpowa) - Sunday, 09 April 2006, 07:52 GMT
updated to new cdrtools, pease confirm if it works now.
Comment by Rob (RobK) - Sunday, 09 April 2006, 13:20 GMT
Yes, now I can burn using xcdraost as root. I can also burn using cdrecord on the command line with the fs= option.

As you noted when you upgrade cdrtools using pacman, you probably will NEED to load the capability kernel module. I had to load it to get my external USB CDRW drive to work with cdrecord and xcdroast. As you noted, the best approach is just put the capability module in the list of modules in your rc.conf file.

The other bug related to the kernel breaking suid cdrecord based applications also appears to be fixed in the latest kernel version 2.6.16.2. Now non root users CAN burn CD's with xcdroast using its non-root suid mode.

All is good again!

Thanks,

Rob

Loading...