From owner-freebsd-firewire@FreeBSD.ORG Sat Jul 19 15:44:32 2008 Return-Path: Delivered-To: freebsd-firewire@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 00938106575E for ; Sat, 19 Jul 2008 15:44:32 +0000 (UTC) (envelope-from sbruno@miralink.com) Received: from plato.miralink.com (mail.miralink.com [70.103.185.20]) by mx1.freebsd.org (Postfix) with ESMTP id B15238FC17 for ; Sat, 19 Jul 2008 15:44:31 +0000 (UTC) (envelope-from sbruno@miralink.com) Received: from localhost (localhost.localdomain [127.0.0.1]) by plato.miralink.com (Postfix) with ESMTP id ED5E01A90D4; Sat, 19 Jul 2008 08:43:29 -0700 (PDT) X-Virus-Scanned: amavisd-new at X-Spam-Flag: NO X-Spam-Score: -4.399 X-Spam-Level: X-Spam-Status: No, score=-4.399 tagged_above=-10 required=6.6 tests=[ALL_TRUSTED=-1.8, BAYES_00=-2.599] Received: from plato.miralink.com ([127.0.0.1]) by localhost (plato.miralink.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id VXgKeihfltm1; Sat, 19 Jul 2008 08:43:29 -0700 (PDT) Received: from [10.47.1.14] (vpn.office.miralink.com [10.0.0.5]) by plato.miralink.com (Postfix) with ESMTP id 547241A879A; Sat, 19 Jul 2008 08:43:29 -0700 (PDT) Message-ID: <48820BDE.1060608@miralink.com> Date: Sat, 19 Jul 2008 08:44:30 -0700 From: Sean Bruno User-Agent: Thunderbird 2.0.0.14 (X11/20080501) MIME-Version: 1.0 To: Stephen Bader References: <071820082029.21468.4880FD440005BA24000053DC22007348409D0A0B0E0D9C@comcast.net> <48810C51.8020708@miralink.com> <16A05533-344E-41AD-8ADE-2D601C0E766B@comcast.net> <488121F1.4080907@miralink.com> <31CF633F-F559-4310-A14E-EFAAF14F6442@comcast.net> In-Reply-To: <31CF633F-F559-4310-A14E-EFAAF14F6442@comcast.net> Content-Type: multipart/mixed; boundary="------------000106090403020308010006" Cc: freebsd-firewire@freebsd.org Subject: Re: Western Digital 1TB My Book Studio X-BeenThere: freebsd-firewire@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Firewire support in FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 19 Jul 2008 15:44:32 -0000 This is a multi-part message in MIME format. --------------000106090403020308010006 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Stephen Bader wrote: > Still no dice with the new patch. Here is the debug output. > > fwohci0: Initiate bus reset > fwohci0: fwphy_rddata: 0x1 loop=1, retry=0 > fwohci0: fwphy_rddata: 0x1 loop=0, retry=0 > fwohci0: BUS reset > sbp_post_busreset > fwohci0: node_id=0xc800ffc1, gen=9, CYCLEMASTER mode > firewire0: 2 nodes, maxhop <= 1, cable IRM = 1 (me) > fwohci0: fw_set_bus_manager: 1->1 (loop=0) > firewire0: bus manager 1 (me) > send phy_config root_node=1 gap_count=5 > fwohci0: start AT DMA status=12 > node0: crom unchanged > fw_explore: node 2, err = 0 > bus_explore done > sbp_post_explore (sbp_cold=0) > sbp_post_explore: EUI:0090a9341b93f349 attached > target 0 lun 0 found > target 0 lun 1 found > sbp_probe_target: detected non sequential access device(64). skipping > sbp_probe_target: detected non sequential access device(77). skipping > > -Steve Hmmm...apparently, I have to mask out "something" else in that variable. Not sure why, but try this patch. -- Sean Bruno MiraLink Corporation 6015 NE 80th Ave, Ste 100 Portland, OR 97218 Cell 503-358-6832 Phone 503-621-5143 Fax 503-621-5199 MSN: sbruno@miralink.com Google: seanwbruno@gmail.com --------------000106090403020308010006 Content-Type: text/x-patch; name="sbp3.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="sbp3.diff" Index: sbp.c =================================================================== --- sbp.c (revision 5540) +++ sbp.c (working copy) @@ -195,7 +195,7 @@ #define SBP_DEV_RETRY 7 /* unavailable unit */ uint8_t status:4, timeout:4; - uint8_t type; + uint8_t type; /* SPC-2 device types */ uint16_t lun_id; uint16_t freeze; #define ORB_LINK_DEAD (1 << 0) @@ -738,6 +738,18 @@ sdev = target->luns[i]; if (sdev == NULL) continue; + /* + * if a Firewire device reports some kind + * of other device, that is not a drive + * then skip it + */ + if ((sdev->type & 0x1f) != T_DIRECT) { +SBP_DEBUG(0) + printf("%s: detected non direct access device(%u). skipping\n", + __func__, sdev->type & 0x1f); +END_DEBUG + continue; + } if (alive && (sdev->status != SBP_DEV_DEAD)) { if (sdev->path != NULL) { SBP_LOCK(sbp); @@ -855,7 +867,7 @@ /* traverse device list */ STAILQ_FOREACH(fwdev, &sbp->fd.fc->devices, link) { SBP_DEBUG(0) - printf("sbp_post_explore: EUI:%08x%08x ", + printf("%s: EUI:%08x%08x ", __func__, fwdev->eui.hi, fwdev->eui.lo); if (fwdev->status != FWDEVATTACHED) printf("not attached, state=%d.\n", fwdev->status); --------------000106090403020308010006--