From nobody@FreeBSD.org  Wed Sep 12 13:57:28 2001
Return-Path: <nobody@FreeBSD.org>
Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21])
	by hub.freebsd.org (Postfix) with ESMTP id 420ED37B406
	for <freebsd-gnats-submit@FreeBSD.org>; Wed, 12 Sep 2001 13:57:28 -0700 (PDT)
Received: (from nobody@localhost)
	by freefall.freebsd.org (8.11.4/8.11.4) id f8CKvS592321;
	Wed, 12 Sep 2001 13:57:28 -0700 (PDT)
	(envelope-from nobody)
Message-Id: <200109122057.f8CKvS592321@freefall.freebsd.org>
Date: Wed, 12 Sep 2001 13:57:28 -0700 (PDT)
From: Farooq Mela <fmela0@sm.socccd.cc.ca.us>
To: freebsd-gnats-submit@FreeBSD.org
Subject: burncd(8) doesn't wait long enough for CD-R's burning at high speed to spin down before trying to fixate the CD.
X-Send-Pr-Version: www-1.0

>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:    sos
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Sep 12 14:00:02 PDT 2001
>Closed-Date:    Wed May 01 05:21:55 PDT 2002
>Last-Modified:  Wed May 01 05:21:55 PDT 2002
>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:
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 
State-Changed-From-To: open->closed 
State-Changed-By: sos 
State-Changed-When: Wed May 1 05:21:28 PDT 2002 
State-Changed-Why:  
This is believed fixed in -stable 

http://www.freebsd.org/cgi/query-pr.cgi?pr=30536 
>Unformatted:
