Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

misc/30536: burncd(8) doesn't wait long enough for CD-R's burning at high speed to spin down before trying to fixate the CD.

0 views
Skip to first unread message

Farooq Mela

unread,
Sep 12, 2001, 5:00:20 PM9/12/01
to freebsd-gn...@freebsd.org

>Number: 30536
>Category: misc
>Synopsis: burncd(8) doesn't wait long enough for CD-R's burning at high speed to spin down before trying to fixate the CD.
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Wed Sep 12 14:00:02 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator: Farooq Mela
>Release: 4.4-RC
>Organization:
>Environment:
FreeBSD apollo 4.4-RC FreeBSD 4.4-RC #4: Sun Jul 15 00:58:15 PDT 2001 farooq@apollo:/usr/src/sys/compile/APOLLO i386
>Description:
While burning a CD-R at a 10x or 12x, burncd(8) does not wait long
enough for the CD to spin down as soon as the burn is completed before
issuing a fixate command. For example:

# burncd -f /dev/acd1c -s 12 data file.iso fixate

will burn the ISO image to the CD just fine, but for whatever reason
(I believe it is because the CD is still spinning because this problem
never occurs while burning at lower speeds - however I'm no expert in
this matter), the CD-R is not yet ready to fixate the cd when burncd
issues the fixate command, and then burncd errors out and exits without
fixating the cd.
>How-To-Repeat:
dmesg reports this for my Pacific Digital 12x CD-R

acd1: CD-RW <LITE-ON LTR-12102C> at ata1-slave using PIO4

Issue the following command:

# burncd -f /dev/acd1c -s 12 data file.iso fixate

where acd1c is your CD-R and file.iso is an ISO image. On my system it
usually happens that burncd will fail when trying to do an
ioctl(cd_fd, CDRIOCCLOSEDISK) with errno=EBUSY.
>Fix:
To fix the problem, I made a simple change to /usr/src/usr.bin/burncd.c
so that it tries 5 times to fixate the CD-R, with pauses in between.
This fixes the problem on my system, however there may be different
pause lengths or number of retries that are better for everybody else.

The patch is available at:
http://home.earthlink.net/~smela1/burncd.patch

>Release-Note:
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majo...@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message

s...@freebsd.org

unread,
Sep 13, 2001, 7:29:06 AM9/13/01
to s...@freebsd.org, freebs...@freebsd.org
Synopsis: burncd(8) doesn't wait long enough for CD-R's burning at high speed to spin down before trying to fixate the CD.

Responsible-Changed-From-To: freebsd-bugs->sos
Responsible-Changed-By: sos
Responsible-Changed-When: Thu Sep 13 04:22:23 PDT 2001
Responsible-Changed-Why:
The problem is not that burncd doesn't wait long enough (and no there is
no need to wait for a spin down, on the contrary, the fixate part writes
to the disk and needs it to spin), the problem is that some drives
returns good status before actually being done with the command in
progress. This has been dealt with in -current, but that part has
not been MFC'd due to other implications.

http://www.FreeBSD.org/cgi/query-pr.cgi?pr=30536

0 new messages