Date: Sat, 19 Jul 2008 11:59:59 -0500 From: Stephen Bader <sbader@comcast.net> To: Sean Bruno <sbruno@miralink.com> Cc: freebsd-firewire@freebsd.org Subject: Re: Western Digital 1TB My Book Studio Message-ID: <663A347B-CBBF-4164-9411-11C272E56D9A@comcast.net> In-Reply-To: <48820BDE.1060608@miralink.com> 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> <48820BDE.1060608@miralink.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Still not working. Looks like we're getting the 'reset start' errors
again:
fwohci0: BUS reset
sbp_post_busreset
fwohci0: node_id=0xc800ffc0, gen=2, CYCLEMASTER mode
firewire0: 1 nodes, maxhop <= 0, cable IRM = 0 (me)
fwohci0: fw_set_bus_manager: 0->0 (loop=0)
firewire0: bus manager 0 (me)
send phy_config root_node=-1 gap_count=5
fwohci0: start AT DMA status=72
bus_explore done
sbp_post_explore (sbp_cold=1)
sbp_post_explore: EUI:0090a9341b93f349 not attached, state=3.
target 0 lun 0 found
target 0 lun 1 found
sbp_probe_target: detected non sequential access device(77). skipping
fwohci0: BUS reset
sbp_post_busreset
fwohci0: node_id=0x8800ffc0, gen=3, non CYCLEMASTER mode
firewire0: 2 nodes, maxhop <= 1, cable IRM = 0 (me)
fwohci0: fw_set_bus_manager: 0->0 (loop=0)
firewire0: root node is not cycle master capable
firewire0: bus manager 0 (me)
send phy_config root_node=0 gap_count=5
fwohci0: start AT DMA status=11
fwohci0: too many cycle lost, no cycle master presents?
node1: 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
sbp0:0:0 ordered:1 type:0 EUI:0090a9341b93f349 node:1 speed:3 maxrec:0
new!
sbp0:0:0 'WD' 'My Book' '001025'
sbp_login: sec = 0 usec = 675467 ticks = 675
sbp_probe_target: detected non sequential access device(77). skipping
sbp0:0:0 LOGIN
sbp: alloc 2 xfer
sbp0:0:0 mgm orb: 010d3154
sbp0:0:0 request timeout(mgm orb:0x010d3154) ... reset start
sbp0:0:0 sbp_reset_start
firewire0: split transaction timeout dst=0xffc1 tl=0x7 state=3
sbp0:0:0 sbp_reset_start failed: resp=60
fwohci0: BUS reset
sbp_post_busreset
fwohci0: node_id=0xc800ffc1, gen=4, 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=72
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
sbp0:0:0 ordered:1 type:0 EUI:0090a9341b93f349 node:0 speed:3 maxrec:0
new!
sbp0:0:0 'WD' 'My Book' '001025'
sbp_login: sec = 0 usec = 682939 ticks = 682
sbp_probe_target: detected non sequential access device(77). skipping
sbp0:0:0 LOGIN
sbp: alloc 3 xfer
sbp0:0:0 mgm orb: 010d328c
sbp0:0:0 request timeout(mgm orb:0x010d328c) ... reset start
sbp0:0:0 sbp_reset_start
-Steve
On Jul 19, 2008, at 10:44 AM, Sean Bruno wrote:
> 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
>
> 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);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?663A347B-CBBF-4164-9411-11C272E56D9A>
