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);