From owner-freebsd-stable@FreeBSD.ORG Fri Apr 19 15:52:55 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 D0C6890D; Fri, 19 Apr 2013 15:52:55 +0000 (UTC) (envelope-from Andre.Albsmeier@siemens.com) Received: from goliath.siemens.de (goliath.siemens.de [192.35.17.28]) by mx1.freebsd.org (Postfix) with ESMTP id 252262C4; Fri, 19 Apr 2013 15:52:54 +0000 (UTC) Received: from mail3.siemens.de (localhost [127.0.0.1]) by goliath.siemens.de (8.13.6/8.13.6) with ESMTP id r3J4cdLO030344; Fri, 19 Apr 2013 06:38:39 +0200 Received: from curry.mchp.siemens.de (curry.mchp.siemens.de [139.25.40.130]) by mail3.siemens.de (8.13.6/8.13.6) with ESMTP id r3J4cdfd010050; Fri, 19 Apr 2013 06:38:39 +0200 Received: (from localhost) by curry.mchp.siemens.de (8.14.6/8.14.6) id r3J4cdnX009303; Date: Fri, 19 Apr 2013 06:38:39 +0200 From: Andre Albsmeier To: Alexander Motin Subject: Re: Lost CDROM on 9.1 with ATA_CAM on Promise controller Message-ID: <20130419043839.GA7685@bali> References: <20130416175520.GA9548@bali> <20130416193822.GA83620@icarus.home.lan> <20130417062600.GA15613@bali> <20130417085354.GA98850@icarus.home.lan> <20130417094712.GA16791@bali> <516FDEAA.4040207@FreeBSD.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <516FDEAA.4040207@FreeBSD.org> X-Echelon: X-Advice: Drop that crappy M$-Outlook, I'm tired of your viruses! User-Agent: Mutt/1.5.21 (2010-09-15) Cc: Jeremy Chadwick , Kenneth Merry , "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: Fri, 19 Apr 2013 15:52:55 -0000 On Thu, 18-Apr-2013 at 13:53:14 +0200, Alexander Motin wrote: > On 17.04.2013 12:47, Andre Albsmeier wrote: > > On Wed, 17-Apr-2013 at 10:53:54 +0200, Jeremy Chadwick wrote: > >> 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). > > > > And just as a note: The -current kernel from > > > > https://snapshots.glenbarber.us/Latest/FreeBSD-10.0-CURRENT-i386-20130316-r248381-bootonly.iso > > > > shows the same problem... > > Some of Promise controllers are known to have problems with ATAPI DMA. > Have you tried to disable DMA on that channel or device with loader > tunable like like hint.ata.3.mode=PIO4 ? Interestingly, now it attaches properly: cd2 at ata3 bus 0 scbus3 target 0 lun 0 cd2: Removable CD-ROM SCSI-0 device cd2: 16.700MB/s transfers (PIO4, ATAPI 12bytes, PIO 65534bytes) cd2: Attempt to query device size failed: NOT READY, Medium not present - tray closed Anyway, this thing worked until 7.4-STABLE in DMA66 mode and burned quite a few DVDs. And it attaches under 9.1 without ATA_CAM and even with atapicam (although here it probes with 3.300MB/s transfers and I didn't try to burn a DVD actually). So while I cannot prove that this controller doesn't have problems with ATAPI DMA, especially 7.4 found a way to make it work anyway... Thanks, -Andre > > -- > Alexander Motin -- Amateurs like Linux, but professionals prefer FreeBSD.