burncd(8) CD-RW blanking problem
Lefteris Chatzibarbas
lefcha at hellug.gr
Sat Dec 6 09:36:23 PST 2003
Hello,
I have a problem when blanking a CD-RW (I think the problem first
appeared when I started using ATAng but I am not sure). System is:
FreeBSD bsd 5.2-BETA FreeBSD 5.2-BETA #0: Sat Dec 6 11:15:34 EET 2003
root at bsd:/usr/obj/usr/src/sys/CUSTOM i386
My CD-R/RW device is a TEAC CD-W524E:
acd1: <CD-W524E/1.0A> CDRW drive at ata1 as slave
acd1: read 6890KB/s (6890KB/s) write 4134KB/s (4134KB/s), 1404KB buffer, UDMA33
acd1: Reads: CDR, CDRW, CDDA stream, packet
acd1: Writes: CDR, CDRW, test write, burnproof
acd1: Audio: play, 256 volume levels
acd1: Mechanism: ejectable tray, unlocked
acd1: Medium: no/blank disc
The command I use to blank a CD-RW disc is:
# burncd -f /dev/acd1 -s 10 blank
The problem is that the "blanking CD, please wait.." message is printed,
the CD-RW is blanked succesfully, but burncd never returns.
After a little searching it seems that the program cannot get out of the
while() loop at line 198 of src/usr.sbin/burncd/burncd.c:
while (1) {
sleep(1);
if (ioctl(fd, CDRIOCGETPROGRESS, &pct) == -1)
err(EX_IOERR,"ioctl(CDRIOGETPROGRESS)");
if (pct > 0 && !quiet)
fprintf(stderr,
"%sing CD - %d %% done \r",
blank == CDR_B_ALL ?
"eras" : "blank", pct);
if (pct == 100 || (pct == 0 && last > 90))
break;
last = pct;
}
The pct variable is always 0, even after the blanking of the CD-RW is
finished (according to the device's LEDs), so the program falls into an
infinite loop.
Of course, hitting ^C exits burncd...
Does anyone else has this problem? Is it specific to my CD-R/RW device?
Thanks
More information about the freebsd-current
mailing list