i386/51421: CD-burning problems with Plextor PX-W1210A drive

J.Porter Clark jpc at drum.msfc.nasa.gov
Fri Apr 25 13:20:04 PDT 2003


>Number:         51421
>Category:       i386
>Synopsis:       CD-burning problems with Plextor PX-W1210A drive
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Apr 25 13:20:02 PDT 2003
>Closed-Date:
>Last-Modified:
>Originator:     J. Porter Clark
>Release:        FreeBSD 4.8-STABLE i386
>Organization:
NASA
>Environment:
System: FreeBSD drum.msfc.nasa.gov 4.8-STABLE FreeBSD 4.8-STABLE #0: Fri Apr 25 13:37:07 CDT 2003 jpc at drum.msfc.nasa.gov:/usr/obj/usr/src/sys/JPC i386

>Description:

I'm having problems burning CDs.  I'm using a Plextor drive:

  acd0: CD-RW <PLEXTOR CD-R PX-W1210A> at ata0-master PIO4

This is on a Tyan K7 motherboard with 2 AMD CPUs.  The main disk
drives are SCSI.  I'm using a recent (as in 2 days old, maybe)
FreeBSD 4.8-STABLE.  It is an SMP kernel.

If I use burncd, everything works okay until I try -d (DAO) mode.

  # burncd -v -s 1 -d -f /dev/acd0c audio track01.wav.raw
  adding type 0x00 file track01.wav.raw size 4961 KB 2160 blocks
  next writeable LBA 0
  CUE sheet:
  01 00 00 01 00 00 02 00
  01 01 01 00 00 00 04 00
  01 aa 01 01 00 00 20 3c
  addr = 150 size = 5080320 blocks = 2160
  writing from file track01.wav.raw size 4961 KB

  only wrote -1 of 37632 bytes err=5

This is accompanied by a syslog message:

  /kernel: acd0: WRITE_BIG - ILLEGAL REQUEST asc=0x24 ascq=0x00 error=0x04

If I try using -t with the above command line, it seems to do what
it is supposed to do, but eventually I get a kernel panic (divide
by zero in kernel mode).  I won't go into that one unless someone
is interested, but see below for another fun panic.

If I use atapicam/cdrecord instead, everything works, even DAO mode.
But there is one horrible side effect: If I boot the system with
nothing in the CD drive, it panics!

  ...usual stuff...
  SMP: AP CPU#1 Launched!
  acd0: MODE_SENSE_BIG command timeout - resetting
  ata0: resetting devices ..

  Fatal trap 12: page fault while in kernel mode
  mp_lock = 01000002; cpuid = 1; lapic.id = 00000000
  fault virtual address	= 0x0
  fault code		= supervisor read, page not present
  instruction pointer	= 0x8:0x0150373
  stack pointer		= 0x10:0xff80ff3c
  frame pointer		= 0x10:0xff80ff44
  code segment		= base 0x0, limit 0xfffff, type 0x1b
			= DPL 0, pres 1, def32 1, gran 1
  processor eflags	= interrupt enabled, resume, IOPL = 0
  current process	= Idle
  interrupt mask	=  <- SMP: XXX
  kernel: type 12 trap, code = 0
  Stopped at	reinit_bus+0xb: movl	0(%ebx),%eax

The backtrace is:

  reinit_bus(0,2,c1dd6000,ff80ff74,c013deab) at reinit_bus+0xb
  atapi_cam_reinit_bus(c1dd600) at atapi_cam_reinit_bus+0x13
  ata_reinit(c1dd6000,c1ed6000,c014aec4,ff80ffac,c0192015) at ata_reinit_0x2d3
  atapi_timeout(c1ed3000,40000000,10,1,0) at atapi_timeout+0xeb
  softclock(0,18,10,10,0) at softclock+0xd1
  doreti_swi() at doreti_swi+0xf

The above was copied off the screen longhand, so it might have some
small errors.

For now, I'm using atapicam and cdrecord to do DAO recording,
although I have to be careful to leave a CD in the drive.  Can be
any CD, even a blank or audio one.  I get the same panic if I leave
the CD door open.

>How-To-Repeat:
	See above, but it may be hardware-specific.
>Fix:
	I wish I knew.
>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list