Subject: cdrecord burns unreadable CDs
To: None <netbsd-users@netbsd.org>
From: Dan Debertin <airboss@nodewarrior.org>
List: netbsd-users
Date: 04/12/2002 08:19:43
I'm getting unreadable CDs using the latest cdrecord from pkgsrc. I'm
on NetBSD-1.5.2/sparc (SS2). The drive is a (somewhat old) Yamaha
CDR102 WORM drive.


flame# mount -t cd9660 /dev/cd0a /mnt
cd0(esp0:3:0): esp0: timed out [ecb 0xf042716c (flags 0x3, dleft 800, stat 0)], <state 1, nexus 0x0, phase(l 10, c 100, p 7), resid 800, msg(q 0,o 0) >
Apr 12 07:43:31 flame /netbsd: cd0(esp0:3:0): esp0: timed out [ecb 0xf042716c (flags 0x3, dleft 800, stat 0)], <state 1, nexus 0x0, phase(l 10, c 100, p 7), resid 800, msg(q 0,o 0) >
cd0(esp0:3:0): esp0: timed out [ecb 0xf042716c (flags 0x1, dleft 800, stat 0)], <state 2, nexus 0xf042716c, phase(l 12, c 100, p 6), resid 800, msg(q 0,o 20) DMA active>
cd0(esp0:3:0): esp0: timed out [ecb 0xf042716c (flags 0x41, dleft 800, stat 0)], <state 2, nexus 0xf042716c, phase(l 12, c 100, p 6), resid 800, msg(q 0,o 20) DMA active> AGAIN
sd1(esp0:2:0): max sync rate 4.03MB/s
cd0(esp0:3:0): esp0: timed out [ecb 0xf042716c (flags 0x1, dleft 800, stat 0)], <state 2, nexus 0xf042716c, phase(l 10, c 100, p 7), resid 2000, msg(q 0,o 40) >
cd0(esp0:3:0): esp0: timed out [ecb 0xf042716c (flags 0x41, dleft 800, stat 0)], <state 2, nexus 0xf042716c, phase(l 10, c 100, p 7), resid 2000, msg(q 0,o 40) > AGAIN
esp0: SCSI bus reset
sd1(esp0:2:0): max sync rate 4.03MB/s

(and so on, a few more times)

The image is just a NetBSD 1.5.2/sparc ISO. It burns fine on
FreeBSD/i386 and others; it only burns bad CDs under NetBSD. Here's
the output of a burn using -v:


flame# cdrecord -v dev=0,3,0 speed=2 sparccd.iso
Cdrecord 1.10 (sparc-unknown-netbsd1.5.2) Copyright (C) 1995-2001 Jvrg Schilling
TOC Type: 1 = CD-ROM
scsidev: '0,3,0'
scsibus: 0 target: 3 lun: 0
Using libscg version 'schily-0.5'
cdrecord: Warning: using inofficial libscg transport code version (frueauf-scsi-bsd.c-1.40nb1 '@(#)scsi-bsd.c   1.40 01/03/18 Copyright 1997 J. Schilling').
atapi: 0
Device type    : Removable WORM
Version        : 2
Response Format: 2
Capabilities   : 
Vendor_info    : 'YAMAHA  '
Identifikation : 'CDR102          '
Revision       : '1.00'
Device seems to be: Yamaha CDR-100.
Using driver for Yamaha CDR-100 / CDR-102 (yamaha_cdr100).
Driver flags   : SWABAUDIO
FIFO size      : 4194304 = 4096 KB
Track 01: data   68 MB        
Total size:      78 MB (07:47.22) = 35042 sectors
Lout start:      78 MB (07:49/17) = 35042 sectors
cdrecord: Warning: blockdesc secsize 2048 differs from cap secsize 0
Current Secsize: 2048
Starting to write CD/DVD at speed 2 in write mode for single session.
Last chance to quit, starting real write in 0 seconds. Operation starts.
Waiting for reader process to fill input buffer ... input buffer ready.
Starting new track at sector: 0
Track 01:  68 of  68 MB written (fifo 100%).
Track 01: Total bytes read/written: 71761920/71761920 (35040 sectors).
Writing  time:  275.785s
Fixating...
Fixating time:  135.605s
cdrecord: fifo had 1168 puts and 1168 gets.
cdrecord: fifo was 0 times empty and 1095 times full, min fill was 97%.

I would point at cdrecord as the problem, but it only seems to fail
under NetBSD. I've tried the device as -scanbus reports it (0,3,0), as
well as /dev/cd0c. FWIW, I'm using GENERIC, which reports the
following on boot:

cd0 at scsibus0 target 3 lun 0: <YAMAHA, CDR102, 1.00> SCSI2 4/worm
removable
probe(esp0:3:1):  Check Condition on CDB: 0x12 20 00 00 4a 00
    SENSE KEY:  Not Ready
     ASC/ASCQ:  Logical Unit Not Ready, Cause Not Reportable

The drive can read CDs just fine.

Dan
-- 
Dan Debertin
airboss@nodewarrior.org
www.nodewarrior.org
ignorami: n: 
The art of folding problem users into representational shapes.