Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 19 Jul 2008 08:44:30 -0700
From:      Sean Bruno <sbruno@miralink.com>
To:        Stephen Bader <sbader@comcast.net>
Cc:        freebsd-firewire@freebsd.org
Subject:   Re: Western Digital 1TB My Book Studio
Message-ID:  <48820BDE.1060608@miralink.com>
In-Reply-To: <31CF633F-F559-4310-A14E-EFAAF14F6442@comcast.net>
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>

next in thread | previous in thread | raw e-mail | index | archive | help
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--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?48820BDE.1060608>