Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 11 May 1999 22:39:57 -0600 (MDT)
From:      "Kenneth D. Merry" <ken@plutotech.com>
To:        msmith@revolution.3-cities.com (Mark D Smith)
Cc:        freebsd-scsi@FreeBSD.ORG
Subject:   Re: NEC SCSI CD problems
Message-ID:  <199905120439.WAA32726@panzer.plutotech.com>
In-Reply-To: <199905120403.VAA14253@revolution.3-cities.com> from Mark D Smith at "May 11, 1999  9: 3:12 pm"

next in thread | previous in thread | raw e-mail | index | archive | help
Mark D Smith wrote...
> Greetings,
> 
> Below is some snippage from my messages file.  I have an NEC 462, 
> firmware rev 1.15, CD ROM player that won't work with cdcontrol! The
> system is an ASUS P55T2P4S with the Adaptec AIC7880 UW SCSI chip.
> 
> 1. cdcdontrol and the music cd will play in the plextor.
> 2. windoze 95 and NT and DOS will play the music disk in the NEC.
> 3. the NEC will mount and read a data only CD just fine.
> 4. the ONLY problem is when I try to use the NEC to play a music cd 
> and use cdcontrol to do it with, then I get the following:
> 
> May  9 23:57:13 mark /kernel: (cd1:ahc0:0:2:0): PLAY AUDIO(12). CDB: a5 0 0 0 0
> 0 0 3 a5 9 0 0
> May  9 23:57:13 mark /kernel: (cd1:ahc0:0:2:0): ILLEGAL REQUEST asc:64,0
> May  9 23:57:13 mark /kernel: (cd1:ahc0:0:2:0): Illegal mode for this track
> 
> This is how the boot probe shows

[ ... ]

> May  9 23:26:37 mark /kernel: cd1 at ahc0 bus 0 target 2 lun 0
> May  9 23:26:38 mark /kernel: cd1: <NEC CD-ROM DRIVE:462 1.15> Removable CD-ROM
> SCSI-2 device
> May  9 23:26:38 mark /kernel: cd1: 10.0MB/s transfers (10.0MHz, offset 15)
> May  9 23:26:38 mark /kernel: cd1: cd present [238857 x 2048 byte records]

The problem is that your NEC drive doesn't work with the standard 12 byte
SCSI-2 audio play command.  I think the problem is that it has a vendor
unique play command.

cdcontrol uses the ioctl interface to the CD driver to do all of its
operations.  The ioctl interface generally uses the standard SCSI-2 method
to talk to CDROM drives.  It's just that your NEC drive doesn't really
conform to the standard for audio playback.

Don't worry, you're not alone here:

cd0 at ahc0 bus 0 target 4 lun 0
cd0: <NEC CD-ROM DRIVE:500 1.0> Removable CD-ROM SCSI-2 device 
cd0: 3.300MB/s transfers
cd0: Attempt to query device size failed: NOT READY, Medium not present
(cd0:ahc0:0:4:0): PLAY AUDIO(12). CDB: a5 0 0 0 0 0 0 3 77 71 0 0 
(cd0:ahc0:0:4:0): ILLEGAL REQUEST asc:20,0
(cd0:ahc0:0:4:0): Invalid command operation code

And I wrote the driver! :)

The reason NT, 95 and DOS all work okay is because they know about NEC's
vendor-unique command and use it to play CDs on NEC CDROM drives.  I
remember back in the days when I ran OS/2 on the computer that has the NEC
drive on it, I had to load a special driver for NEC CDROM drives.  I'm sure
that driver had the information on how to send NEC's vendor unique play
commands.

To solve your problem, I would recommend installing xmcd.
(ports/audio/xmcd)  xmcd is certainly my favorite cd player, and it'll talk
to your NEC drive just fine.  It's got code to generate vendor-unique commands
for all sorts of drives.  It also comes with a command line utility called
"cda" that even supports cddb.  xmcd uses the pass(4) driver to talk
directly to your cdrom drive, so it won't run into the same problem with
the ioctl interface.

Long term, I probably need to put a quirk facility in the cd driver to
handle drives that use vendor-unique commands.

Ken
-- 
Kenneth Merry
ken@plutotech.com


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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199905120439.WAA32726>