Re: Western Digital 1TB My Book Studio

Sean Bruno <[email protected]>
Newsgroups gmane.os.freebsd.devel.firewire
Message-ID <[email protected]>
Stephen Bader wrote:
> Sean,
>
> I've applied the patch and it still doesn't work. Here is the debug 
> output:
>
> fwohci0: Initiate bus reset
> fwohci0: fwphy_rddata: 0x1 loop=1, retry=0
> fwohci0: fwphy_rddata: 0x1 loop=1, retry=0
> fwohci0: BUS reset
> sbp_post_busreset
> fwohci0: node_id=0xc800ffc1, gen=5, 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
>
> It appears as though the patch applied properly, but now it is just 
> skipping and doing nothing.
>
> -Steve
Ha!  That's because I didn't put the correct device type.  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: [email protected]
Google:  [email protected]

_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-firewire
To unsubscribe, send any mail to "[email protected]"
sbp1.diff (text/x-patch, 951 B)
Index: sbp.c
===================================================================
--- sbp.c	(revision 5540)
+++ sbp.c	(working copy)
@@ -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 != T_DIRECT) {
+SBP_DEBUG(0)
+			printf("%s: detected non sequential access device(%d).  skipping\n",
+				__func__, sdev->type);
+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);
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.