Date: Fri, 18 Jul 2008 16:06:25 -0700 From: Sean Bruno <sbruno@miralink.com> To: Stephen Bader <sbader@comcast.net>, freebsd-firewire@freebsd.org Subject: Re: Western Digital 1TB My Book Studio Message-ID: <488121F1.4080907@miralink.com> In-Reply-To: <16A05533-344E-41AD-8ADE-2D601C0E766B@comcast.net> References: <071820082029.21468.4880FD440005BA24000053DC22007348409D0A0B0E0D9C@comcast.net> <48810C51.8020708@miralink.com> <16A05533-344E-41AD-8ADE-2D601C0E766B@comcast.net>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
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: sbruno@miralink.com
Google: seanwbruno@gmail.com
[-- Attachment #2 --]
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);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?488121F1.4080907>
