Return to BSD News archive
Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!news.rmit.EDU.AU!news.unimelb.EDU.AU!munnari.OZ.AU!spool.mu.edu!agate!theos.com!riscan.riscan.com!van.istar!ott.istar!istar.net!winternet.com!nntp.primenet.com!news.cais.net!news.mathworks.com!news2.mathworks.com!newscaster-1.mcast.net!cs.tu-berlin.de!uni-erlangen.de!news.tu-chemnitz.de!irz401!uriah.heep!news
From: j@uriah.heep.sax.de (J Wunsch)
Newsgroups: comp.unix.bsd.freebsd.misc
Subject: Re: cd audio probs in FreeBSD
Date: 4 Jun 1996 20:59:48 GMT
Organization: Private BSD site, Dresden
Lines: 65
Message-ID: <4p2844$n21@uriah.heep.sax.de>
References: <DsAsHF.69F@ariel.cs.yorku.ca>
Reply-To: joerg_wunsch@uriah.heep.sax.de (Joerg Wunsch)
NNTP-Posting-Host: localhost.heep.sax.de
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-Newsreader: knews 0.9.6
X-Phone: +49-351-2012 669
X-PGP-Fingerprint: DC 47 E6 E4 FF A6 E9 8F 93 21 E0 7D F9 12 D6 4E
(The comp.os.386bsd.* groups are dead, i've removed them from the
Newsgroups line.)
davidp@cs.yorku.ca (S DAVID PULLARA) wrote:
> localhost: {1} cdplay cd0
> CD>play 1 2
> cdplay: Invalid argument
> Anyone have any ideas as to what I might be doing wrong?
> I'd be grateful for suggestions you might have.
> Sony 4x cdrom (cdu-76s) (scsi)
Ah, that's the most important info! The SONY's didn't work right in
2.1R. Below is a fix. (You've been reminding me: it still has to be
pulled into the -stable branch, it's only in -current yet.)
Index: /sys/scsi/cd.c
===================================================================
RCS file: /home/cvs/src/sys/scsi/cd.c,v
retrieving revision 1.54
retrieving revision 1.55
diff -u -u -r1.54 -r1.55
--- cd.c 1995/12/20 12:02:43 1.54
+++ cd.c 1995/12/30 13:56:28 1.55
@@ -830,7 +830,7 @@
error = cd_get_mode(unit, &data, AUDIO_PAGE);
if (error)
break;
- data.page.audio.port[LEFT_PORT].channels = LEFT_CHANNEL | RIGHT_CHANNEL | 4 | 8;
+ data.page.audio.port[LEFT_PORT].channels = LEFT_CHANNEL | RIGHT_CHANNEL;
data.page.audio.port[RIGHT_PORT].channels = LEFT_CHANNEL | RIGHT_CHANNEL;
data.page.audio.port[2].channels = 0;
data.page.audio.port[3].channels = 0;
@@ -839,7 +839,7 @@
break;
}
break;
- case CDIOCSETSTERIO:
+ case CDIOCSETSTEREO:
{
struct cd_mode_data data;
error = cd_get_mode(unit, &data, AUDIO_PAGE);
@@ -1093,6 +1093,12 @@
scsi_cmd.byte2 |= SMS_PF;
scsi_cmd.length = sizeof(*data) & 0xff;
data->header.data_length = 0;
+ /*
+ * SONY drives do not allow a mode select with a medium_type
+ * value that has just been returned by a mode sense; use a
+ * medium_type of 0 (Default) instead.
+ */
+ data->header.medium_type = 0;
return (scsi_scsi_cmd(SCSI_LINK(&cd_switch, unit),
(struct scsi_generic *) &scsi_cmd,
sizeof(scsi_cmd),
--
cheers, J"org
joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/ -- NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)