From owner-freebsd-current Mon Apr 14 21:28:20 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id VAA13329 for current-outgoing; Mon, 14 Apr 1997 21:28:20 -0700 (PDT) Received: from noc.msc.edu (noc.msc.edu [137.66.12.254]) by freefall.freebsd.org (8.8.5/8.8.5) with SMTP id VAA13315 for ; Mon, 14 Apr 1997 21:28:17 -0700 (PDT) Received: from uc.msc.edu by noc.msc.edu (5.65/MSC/v3.0.1(920324)) id AA11121; Mon, 14 Apr 97 23:28:11 -0500 Received: from pobox.com (fergus-20.dialup.prtel.com [206.10.99.151]) by uc.msc.edu (8.7.5/8.6.6) with ESMTP id XAA22307 for ; Mon, 14 Apr 1997 23:28:12 -0500 (CDT) Received: (from alk@localhost) by compound.east.sun.com (8.8.5/8.7.3) id XAA00208; Mon, 14 Apr 1997 23:22:10 -0500 (CDT) Date: Mon, 14 Apr 1997 23:22:10 -0500 (CDT) Reply-To: alk@pobox.com Message-Id: <199704150422.XAA00208@compound.east.sun.com> From: Tony Kimball Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: current@freebsd.org Subject: more on the scsi cd not doing CDIOCPLAYMSF X-Face: O9M"E%K;(f-Go/XDxL+pCxI5*gr[=FN@Y`cl1.Tn Sender: owner-current@freebsd.org X-Loop: FreeBSD.org Precedence: bulk I mentioned earlier that my cdrom stopped playing in 3.0 current sometime during late March. I'm not at all familiar with this code, but I thought I'd start poking around in it. When I enable the show_scsi_xs call in scsi_base.c:scsi_scsi_cmd, it looks like this (along with a few of my own printfs): Apr 14 23:14:03 compound /debug: cd0: ILLEGAL REQUEST asc:24,0 Invalid field in CDB Apr 14 23:14:03 compound /debug: PLAY_MSF: HAD_ERROR 22 queueing command Apr 14 23:14:03 compound /debug: PLAY_MSF switchlink 0xf0c57f90 link 0xf0c62d80 unit 0 Apr 14 23:14:03 compound /debug: xs(0xf0c89480): flg(0x20)sc_link(0xf0c62d80)retr(0x1)timo(0x7d0)cmd(0xf0c894d8)len(0xa)data(0x0)len(0x0)res(0x0)err(0x0)bp(0x0)cd0: command: 47,0,0,1c,0,f,ff,3b,4a,0-[0 bytes] Here's what a verbose boot looks like: Apr 14 23:13:19 compound /debug: ncr0 rev 2 int a irq 12 on pci0:18:0 Apr 14 23:13:19 compound /debug: mapreg[10] type=1 addr=00006000 size=0100. Apr 14 23:13:19 compound /debug: mapreg[14] type=0 addr=f0800000 size=0100. Apr 14 23:13:19 compound /debug: reg20: virtual=0xf4c9a000 physical=0xf0800000 size=0x100 Apr 14 23:13:19 compound /debug: ncr0: restart (scsi reset). Apr 14 23:13:20 compound /debug: BIOS values: dmode: 8e, dcntl: a1, ctest3: 21 Apr 14 23:13:20 compound /debug: dmode: ce/8e, dcntl: a1/a1, ctest3: 01/21 Apr 14 23:13:20 compound /debug: ncr0 scanning for targets 0..6 and 8..15 (V2 pl24 96/12/14) Apr 14 23:13:20 compound /debug: ncr0: waiting for scsi devices to settle Apr 14 23:13:20 compound /debug: scbus0 at ncr0 bus 0 ... Apr 14 23:13:20 compound /debug: cd0 at scbus0 target 3 lun 0 Apr 14 23:13:20 compound /debug: cd0: type 5 removable SCSI 2 Apr 14 23:13:20 compound /debug: cd0: CD-ROM ncr0: SCSI phase error fixup: CCB address mismatch (0xf0c56000 != 0xf0c60b10) np.ccb = 0xf0c60b10 Apr 14 23:13:20 compound /debug: Apr 14 23:13:20 compound /debug: cd0: phase change 6-2 6@000031c8 resid=5. Apr 14 23:13:20 compound /debug: Apr 14 23:13:20 compound /debug: cd0: asynchronous. Apr 14 23:13:21 compound /debug: cd present [868488945 x -1060171280 byte records] I should learn to do kernel debugging properly, I suppose, but it wouldn't do me much good in this instance, since I don't have code to produce the error outside of X (xcdplayer). I suppose I can write one... but surely a knowledgable expert will repair the breakage before I even get started ;)