# Firewire drives not recognized when I load sbp



## Profjim (Aug 6, 2011)

What I'll call Computer Bad: Mac mini (Intel Core 2), was running FreeBSD 8.2-release, tried upgrading to 8-STABLE, but these issues persist. Has a single Firewire 400 port.

Device 1: a dual Firewire enclosure, has both a Firewire 400 port and two Firewire 800 ports. Contains two drives.

Device 2: a pocket-sized Firewire enclosure, has one Firewire 400 and one Firewire 800 port.

Device 3 is this: http://tech.acomdata.com/minipal.asp. It attaches to the mini via Firewire and USB, and provides a hub for each, and additionally has a drive on the Firewire bus. We can ignore the USB aspects of this.

I'll compare against Computer Good: which is a Sony Vaio, whose details probably not important, except it's also running FreeBSD 8-STABLE. After I do a `kldload sbp` on this machine, and attach either of Device 1 or 2, or both of them in a chain, they all are immediately recognized and show up as /dev/da0, da1, and da2.

However that's just for testing. I need to get these devices recognized on Computer Bad.

And on Computer Bad, **when Device 3 is in the mix**, and the other devices are chained off it, I can do so--- although it takes some voodoo. I cannot have the sbp module loaded at boot time; if I do so the boot will hang until I disconnect or power down all attached Firewire devices. However, if I wait until boot has completed, then do a `kldload sbp`, once or twice the devices were then recognized. Most often, though, I have to do a dance of unplugging the devices, replugging them, power-cycling them, fwcontrol -r'ing, and so on. If there's a system that works reliably, I haven't been able to find it. Nor have I found any way to make this work solely from the commandline. `camcontrol rescan all` hangs until I disconnect or power down the devices. `fwcontrol -r` resets the bus, but the devices don't show up. And so on. However, with some persistence at the cable/power-cycling dance, I have always been able to get the drives recognized when they're chained off of Device 3. And once the drives get recognized, they give me no further trouble during that session. Even if I then power Device 3 down. I've transferred 1 TB of data to Device 1, I think without any trouble.

I'd live with this if I could. However, I can't keep Device 3 in this setup; it's required elsewhere.

And **without Device 3**, I can't find any way to get Devices 1 and 2, either together or solo, to be recognized on Computer Bad. I've tried connecting to either their Firewire 400 or their Firewire 800 ports (though on the other side, Computer Bad is only attempting Firewire 400). I've tried doing the `kldload sbp` before connecting them, or after, or whatever, and no luck. I've tried `sysctl -w hw.firewire.sbp.auto_login=0` and `sysctl -w hw.firewire.nocyclemaster=1` at various points, but this doesn't seem to change anything.


These problems showed up when Computer Bad had a fresh 8.2-release installation. I tried upgrading to 8-STABLE, which is what Computer Good had, but no joy there.

I've been searching and searching but haven't found much, even ideas to try. Any suggestions would be much appreciated.

Here are some details.

1. Here's uname -a, pciconf -lcv, kldstat, and sysctl hw.firewire on Computer Good:
http://dpaste.com/hold/588061/.
2. Here's the stretch of dmesg where the devices are connected and successfully recognized on Computer Good: http://dpaste.com/hold/588063/.
3. And here's what I then see on Computer Good (fwcontrol, fwcontrol -t, and camcontrol devlist -v): http://dpaste.com/hold/588066/.

4. Here's uname -a, pciconf -lcv, kldstat, and sysctl hw.firewire on Computer Bad: http://dpaste.com/hold/588062/. Notice the hw.firewire.sbp.auto_login is at 0, that's because following some diagnostic advice I found while searching I disabled that in /boot/loader.conf. It doesn't seem to affect my results at all.
5. Here's the stretch of dmesg where the devices are connected but fail to be recognized on Computer Bad: http://dpaste.com/hold/588076/
6. Here are fwcontrol, fwcontrol -t, and camcontrol devlist -v on Computer Bad, before kldloading sbp and attaching the devices: http://dpaste.com/hold/588068/
7. Here are the results of the same, after kldloading sbp and attaching the devices:
http://dpaste.com/hold/588069/. At this point, doing `sysctl -w hw.firewire.sbp.auto_login=1; fwcontrol -r` seems to produce no change. Allowing sbp to load with auto_login=1 from the beginning produces no change either.

At some points in my experimenting, I was able to get one or two additional entries in the `fwcontrol` output on Computer Bad, but I can't reproduce that now. And I didn't notice any additional progress when that occurred.


----------

