From owner-freebsd-current@FreeBSD.ORG Fri Aug 7 07:22:59 2009 Return-Path: Delivered-To: freebsd-current@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 64C13106564A; Fri, 7 Aug 2009 07:22:59 +0000 (UTC) (envelope-from scottl@samsco.org) Received: from pooker.samsco.org (pooker.samsco.org [168.103.85.57]) by mx1.freebsd.org (Postfix) with ESMTP id D2B9F8FC1F; Fri, 7 Aug 2009 07:22:58 +0000 (UTC) Received: from phobos.local (pooker.samsco.org [168.103.85.57]) by pooker.samsco.org (8.14.2/8.14.2) with ESMTP id n777Mr4h016999; Fri, 7 Aug 2009 01:22:53 -0600 (MDT) (envelope-from scottl@samsco.org) Message-ID: <4A7BD64D.60601@samsco.org> Date: Fri, 07 Aug 2009 01:22:53 -0600 From: Scott Long User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.13) Gecko/20080313 SeaMonkey/1.1.9 MIME-Version: 1.0 To: Alexander Motin References: <20090806184510.GA12039@triton.kn-bremen.de> <4A7B3328.5020307@FreeBSD.org> <20090806200715.GA16313@triton.kn-bremen.de> <20090806222127.GB1940@triton.kn-bremen.de> <4A7BBA52.306@samsco.org> <4A7BD57E.3040201@FreeBSD.org> In-Reply-To: <4A7BD57E.3040201@FreeBSD.org> X-Enigmail-Version: 0.95.6 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-4.2 required=3.8 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.8 X-Spam-Checker-Version: SpamAssassin 3.1.8 (2007-02-13) on pooker.samsco.org Cc: freebsd-current@FreeBSD.org, markus@FreeBSD.org, Juergen Lock Subject: Re: cdparanoia patch for ahci(4)/siis(4) X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Aug 2009 07:22:59 -0000 Alexander Motin wrote: > Scott Long wrote: >> Juergen Lock wrote: >>> On Thu, Aug 06, 2009 at 10:07:15PM +0200, Juergen Lock wrote: >>>> On Thu, Aug 06, 2009 at 10:46:48PM +0300, Alexander Motin wrote: >>>>> Juergen Lock wrote: >>>>>> 2. cdda/dae seems to be broken entirely with ahci(4) as well as >>>>>> siis(4) (I remember a report about it being broken for usb optical >>>>>> drives too so maybe this is related?) - I tested with the >>>>>> audio/cdparanoia port as well as with >>>>>> mplayer -cdrom-device /dev/cd{0,1} cdda://... >>>>>> (mplayer needs to be built with the libparanoia knob on for this) - >>>>>> this >>>>>> does work with atapicam(4) without ahci/siis so it can't be cd(4)'s >>>>>> fault alone. On siis(4) it seems to just fail while on ahci(4) (I >>>>>> still >>>>>> have another optical drive on there, it's on the board's amd sb700) >>>>>> it causes the sata channel to be reset endlessly until I ^C mplayer: >>>>>> >>>>>> Soo, anyone have ideas/patches/things they want me to check for this? >>>>> But this appeared to to be really trivial. cdparanoia uses extremely >>>>> simple method for detecting ATAPI devices - it checks that SIM is >>>>> named "ata". Trivial single line hack made it successfully play some >>>>> old AudioCD in SATA drive on SiI3132 controller for me, while I am >>>>> typing this. Probably we should invent better way to do this. >>>> Oooh! :) I need to test this... >>> Yup, works here too on siis and ahci with the following patch: >>> (maintainer Cc'd) >>> >>> Index: interface/scsi_interface.c >>> @@ -1480,9 +1480,12 @@ >>> /* >>> * if the bus device name is `ata', we're (obviously) >>> * running ATAPICAM. >>> + * XXX same for the new ahci(4) and siis(4) drivers... >>> */ >>> >>> - if (strncmp(d->ccb->cpi.dev_name, "ata", 3) == 0) { >>> + if (strncmp(d->ccb->cpi.dev_name, "ata", 3) == 0 || >>> + strncmp(d->ccb->cpi.dev_name, "ahcich", 6) == 0 || >>> + strncmp(d->ccb->cpi.dev_name, "siisch", 6) == 0) { >>> cdmessage(d, "\tDrive is ATAPI (using ATAPICAM)\n"); >>> d->is_atapi = 1; >>> } else { >>> >>> Thanx, :) >>> Juergen >> This is fine for the moment, but unmaintainable in the long run as more >> and more drives are written. cdparanoia needs to look at protocol and >> transport attributes, not device names. > > CAM reports SCSI protocol for ATAPI devices at this moment. It is not > good probably. but changing it now may be painful. Checks like > d->ccb->cpi.transport == XPORT_ATA || > d->ccb->cpi.transport == XPORT_SATA > should be for now. "ata" hack should also stay there for now, as > ATAPICAM emulates SCSI transport now, but not a new ATA one. > What protocol should CAM be reporting for ATAPI devices? It is SCSI. I don't understand why we have to keep on diverging from the goal of having a unified and consistent interface here. As for ATAPICAM, that hopefully will go away some day, as it's really only a hack. Scott