From owner-freebsd-stable@FreeBSD.ORG Wed Apr 17 08:53:56 2013 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 95E0CA47 for ; Wed, 17 Apr 2013 08:53:56 +0000 (UTC) (envelope-from jdc@koitsu.org) Received: from qmta01.emeryville.ca.mail.comcast.net (qmta01.emeryville.ca.mail.comcast.net [IPv6:2001:558:fe2d:43:76:96:30:16]) by mx1.freebsd.org (Postfix) with ESMTP id 64946640 for ; Wed, 17 Apr 2013 08:53:56 +0000 (UTC) Received: from omta16.emeryville.ca.mail.comcast.net ([76.96.30.72]) by qmta01.emeryville.ca.mail.comcast.net with comcast id QwmX1l0021ZMdJ4A1wtvlx; Wed, 17 Apr 2013 08:53:55 +0000 Received: from koitsu.strangled.net ([67.180.84.87]) by omta16.emeryville.ca.mail.comcast.net with comcast id Qwtu1l00G1t3BNj8cwtv5s; Wed, 17 Apr 2013 08:53:55 +0000 Received: by icarus.home.lan (Postfix, from userid 1000) id C6B9C73A33; Wed, 17 Apr 2013 01:53:54 -0700 (PDT) Date: Wed, 17 Apr 2013 01:53:54 -0700 From: Jeremy Chadwick To: Andre Albsmeier Subject: Re: Lost CDROM on 9.1 with ATA_CAM on Promise controller Message-ID: <20130417085354.GA98850@icarus.home.lan> References: <20130416175520.GA9548@bali> <20130416193822.GA83620@icarus.home.lan> <20130417062600.GA15613@bali> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20130417062600.GA15613@bali> User-Agent: Mutt/1.5.21 (2010-09-15) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=comcast.net; s=q20121106; t=1366188835; bh=YLa5u2eA6tv5X8B8zyj79otmdpSx8ZmQgUsFDIYq39c=; h=Received:Received:Received:Date:From:To:Subject:Message-ID: MIME-Version:Content-Type; b=M1qiHfSQCTwedIPfje1jVl0/DfAtOao7EeHrPyzZiMI3MWkUZL66TmdrsUYFueEH3 P0ijkbHI5lWMqbr3xh4Q8SBKwVHZrjexrzDYSpJt7sbq8E/oAi7hE39Yyrn3SlnGGs dKtqdPntcgQmJ066Rxf8K25DALBqc3jWPTZI78C56M0xROpNga63RmIM4Fl5PcROeB OGOwgbNEKDie+eRJBCJGMN8qg0P1szsEK20eHqsYCkIjcD5TMFzanRVsCN7PueInVB onxGp4ke6BfsoR7kqK9Ok5nirAawX3sOWRoZo9qUhjbk71Uj5wgJrSPYf5RiEpkAqt VUxmgeVUsQbhA== Cc: Kenneth Merry , Alexander Motin , "freebsd-stable@freebsd.org" X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Apr 2013 08:53:56 -0000 On Wed, Apr 17, 2013 at 08:26:00AM +0200, Andre Albsmeier wrote: > On Tue, 16-Apr-2013 at 21:38:22 +0200, Jeremy Chadwick wrote: > > On Tue, Apr 16, 2013 at 07:55:20PM +0200, Andre Albsmeier wrote: > > > I have lost one of my CDROM drives (HL-DT-STDVD-RAM GH22LP20/2.00) > > > after going from 7.4 to 9.1 when using ATA_CAM. It is attached to > > > a Promise PDC20268 UDMA100 controller. A standard harddisk drive > > > attached to this controller works well. Cables, controller and drive > > > where replaced already. > > > > > > Kernel gives me: > > > > > > atapci1: port 0xb000-0xb007,0xa800-0xa803,0xa400-0xa407,0xa000-0xa003,0x9800-0x980f mem 0xdf800000-0xdf803fff irq 11 at device 12.0 on pci0 > > > ata2: at channel 0 on atapci1 > > > ata3: at channel 1 on atapci1 > > > ... > > > ada0 at ata2 bus 0 scbus2 target 0 lun 0 > > > ada0: ATA-7 device > > > ada0: 100.000MB/s transfers (UDMA5, PIO 8192bytes) > > > ada0: 286188MB (586114704 512 byte sectors: 16H 63S/T 16383C) > > > ... > > > (cd2:ata3:0:0:0): got CAM status 0x50 > > > (cd2:ata3:0:0:0): fatal error, failed to attach to device > > > (cd2:ata3:0:0:0): lost device, 4 refs > > > (cd2:ata3:0:0:0): removing device entry > > > ... > > > > > > Attaching the CDROM drive to the controller that is integrated on > > > the mainboard (Intel PIIX4 UDMA33 controller) does not show this > > > problem (but here I don't have UDMA66). > > > > > > It also works when not using ATA_CAM: > > > > > > ... > > > acd0: DVDR at ata3-master UDMA66 > > > ... > > > > > > So this semes to be a problem with the Promise controller and ATA_CAM. > > > > > > Any ideas? Or should I file PR? > > > > The controller in question is a Promise Ultra100 TX2. > > Right. Tried with an Ultra133, same effect. > > > > > The error message comes from sys/cam/scsi/scsi_cd.c, in function > > cddone(). The logic is a little hard for me to follow (I understand > > about 70% of it). Look at lines 1724 to 1877 for stable/9. > > > > 1. Can you provide full output from a verbose boot when the CD/DVD drive > > is attached to the Promise controller? > > Attached below. I have just filtered out some ahc cruft... > > Later I will try to boot a -current kernel -- just to see > how this behaves... > > > > > 2. What firmware version the card is using? The PDC20268 had many, many > > firmware problems relating to ATAPI devices. > > It is the latest BIOS: 2.20.0.15. > > > > > 3. I wouldn't worry about ATA66 vs. ATA33; this drive can only support > > up to about 22MBytes/second so ATA66 isn't going to get you anything, > > so as a workaround, using the PIIX4 for it would not hurt you. > > Probably. But I already had cdrecord complain when it > came to the funky DMA speed test it is doing. It went > away when using the UDMA66 port. And on the other hand > I sometimes use the PIIX4 port for other stuff and I > do not want to attach the cdrom to the slave port. > > > > > 4. ONLY if this turns out to be a "controller thing": I'm not sure how > > much effort should be spent trying to make this work, as the PDC20268 is > > legacy/deprecated hardware (made/released 13 years ago). > > The whole box is more than 13 years old (good old Asus BX board) ;-) > > But since it worked in 7.4-STABLE I feel that this is some kind > of regression. I do not want to waste anyone's resources in fixing > it -- just if someone is curious and/or has an idea how to fix > it... > > And here is the dmesg: > > {snipping for mail brevity} Thanks. CC'd ken@ and mav@ for advice on this. Here's the dmesg: http://lists.freebsd.org/pipermail/freebsd-stable/2013-April/073131.html Short details: The device under scrutiny here is cd2 on ata3, which is an ATAPI IDE-based optical drive. The drive works when either: a) Connected to a different IDE controller (atapci0), or, b) When ATA_CAM is removed (i.e. use ata(4) exclusively). No idea if atapicam(4) during scenario (b) works or not. :-) -- | Jeremy Chadwick jdc@koitsu.org | | UNIX Systems Administrator http://jdc.koitsu.org/ | | Mountain View, CA, US | | Making life hard for others since 1977. PGP 4BD6C0CB |