Only one of two Firewire drives recognized

Hi all,


Running FreeBSD 8.1-release. Question on Firewire with identical drive enclosures/drives. Only one recognized.

I have a pair of identical 2 TB SATA drives in two identical Vantec SATA Firewire enclosures. When I plug them in, only the first one is recognized by the kernel. I can recreate this by plugging in the other one first, to rule out a bad enclosure/drive. I have an older Vantec IDE Firewire enclosure that I can plug in and have recognized alongside the others.

My hunch here is the device IDs on the two SATA Firewire enclosures are similar enough that the system only sees the first drive plugged in.

I'd really like to use Firewire for these drives. This does not occur if I use the USB ports instead with the same enclosures.

My question is: how can I get both to be recognized using Firewire? I have tried a power cycle of the machine, reboot, power-cycled the enclosures, and unloading/reloading sbp.ko, to no avail.

Any insight would be greatly appreciated.
Thanks,
Roscoe
 
Run [cmd=]tail -f /var/log/messages[/cmd] and plug the drives in. Any weird messages showing up?
 
Here is the output:

# uname -a
Code:
FreeBSD server.workgroup 8.2-RELEASE FreeBSD 8.2-RELEASE #0: Fri Feb 18 02:24:46 UTC 2011     root@almeida.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386

Kernel messages after plugging in the first SATA Firewire enclosure...

Code:
Feb 24 22:15:19 suranus kernel: fwohci0: fwohci_intr_core: BUS reset
Feb 24 22:15:19 suranus kernel: fwohci0: fwohci_intr_core: node_id=0x00000001, SelfID Count=2, CYCLEMASTER mode
Feb 24 22:15:19 suranus kernel: firewire0: 2 nodes, maxhop <= 1 cable IRM irm(1)  (me)
Feb 24 22:15:19 suranus kernel: firewire0: bus manager 1
Feb 24 22:15:20 suranus kernel: fwohci0: txd err=14 ack busy_X
Feb 24 22:15:20 suranus kernel: firewire0: fw_explore_node: node0: explore_read_quads failure
Feb 24 22:15:20 suranus kernel: fwohci0: txd err=14 ack busy_X
Feb 24 22:15:20 suranus kernel: firewire0: fw_explore_node: node0: explore_read_quads failure
Feb 24 22:15:20 suranus kernel: fwohci0: txd err=14 ack busy_X
Feb 24 22:15:20 suranus kernel: firewire0: fw_explore_node: node0: explore_read_quads failure
Feb 24 22:15:30 suranus kernel: fwohci0: fwohci_intr_core: BUS reset
Feb 24 22:15:30 suranus kernel: fwohci0: fwohci_intr_core: node_id=0x00000001, SelfID Count=3, CYCLEMASTER mode
Feb 24 22:15:30 suranus kernel: firewire0: 2 nodes, maxhop <= 1 cable IRM irm(1)  (me)
Feb 24 22:15:30 suranus kernel: firewire0: bus manager 1
Feb 24 22:15:30 suranus kernel: firewire0: New S800 device ID:0030e002e0454647
Feb 24 22:15:30 suranus kernel: sbp0: sbp_show_sdev_info: sbp0:0:0: ordered:1 type:14 EUI:0030e002e0454647 node:0 speed:3 maxrec:8
Feb 24 22:15:30 suranus kernel: sbp0: sbp_show_sdev_info: sbp0:0:0 'OEM' 'OEM ATA Device 00' '000120'
[B]Feb 24 22:15:32 suranus kernel: da0 at sbp0 bus 0 scbus0 target 0 lun 0
Feb 24 22:15:32 suranus kernel: da0: <OEM OEM ATA Device 0 0120> Fixed Direct Access SCSI-4 device
Feb 24 22:15:32 suranus kernel: da0: 50.000MB/s transfers
Feb 24 22:15:32 suranus kernel: da0: 1907729MB (3907029168 512 byte sectors: 255H 63S/T 243201C)[/B]

... and the messages after plugging in the second, identical SATA Firewire enclosure:

Code:
Feb 24 22:16:17 suranus kernel: fwohci0: fwohci_intr_core: BUS reset
Feb 24 22:16:17 suranus kernel: fwohci0: fwohci_intr_core: node_id=0x00000002, SelfID Count=4, CYCLEMASTER mode
Feb 24 22:16:17 suranus kernel: firewire0: 3 nodes, maxhop <= 2 cable IRM irm(2)  (me)
Feb 24 22:16:17 suranus kernel: firewire0: bus manager 2
Feb 24 22:16:18 suranus kernel: fwohci0: txd err=14 ack busy_X
Feb 24 22:16:18 suranus kernel: firewire0: fw_explore_node: node0: explore_read_quads failure
Feb 24 22:16:18 suranus kernel: fwohci0: txd err=14 ack busy_X
Feb 24 22:16:18 suranus kernel: firewire0: fw_explore_node: node0: explore_read_quads failure
Feb 24 22:16:18 suranus kernel: fwohci0: txd err=14 ack busy_X
Feb 24 22:16:18 suranus kernel: firewire0: fw_explore_node: node0: explore_read_quads failure
Feb 24 22:16:18 suranus kernel: sbp0: sbp_show_sdev_info: sbp0:0:0: ordered:1 type:14 EUI:0030e002e0454647 node:1 speed:3 maxrec:8
Feb 24 22:16:18 suranus kernel: sbp0: sbp_show_sdev_info: sbp0:0:0 'OEM' 'OEM ATA Device 00' '000120'
Feb 24 22:16:28 suranus kernel: fwohci0: fwohci_intr_core: BUS reset
Feb 24 22:16:28 suranus kernel: fwohci0: fwohci_intr_core: node_id=0x00000002, SelfID Count=5, CYCLEMASTER mode
Feb 24 22:16:28 suranus kernel: firewire0: 3 nodes, maxhop <= 2 cable IRM irm(2)  (me)
Feb 24 22:16:28 suranus kernel: firewire0: bus manager 2
Feb 24 22:16:28 suranus kernel: sbp0: sbp_show_sdev_info: sbp0:0:0: ordered:1 type:14 EUI:0030e002e0454647 node:1 speed:3 maxrec:8
Feb 24 22:16:28 suranus kernel: sbp0: sbp_show_sdev_info: sbp0:0:0 'OEM' 'OEM ATA Device 00' '000120'

At this point one would expect the da1 device to appear as da0 did in the first example, however that's the last message I see.

Now if I take an older, IDE Firewire enclosure and plug it in, I get:

Code:
Feb 24 22:25:10 suranus kernel: fwohci0: fwohci_intr_core: BUS reset
Feb 24 22:25:10 suranus kernel: fwohci0: fwohci_intr_core: node_id=0x00000003, SelfID Count=7, CYCLEMASTER mode
Feb 24 22:25:10 suranus kernel: firewire0: 4 nodes, maxhop <= 3 cable IRM irm(3)  (me)
Feb 24 22:25:10 suranus kernel: firewire0: bus manager 3
Feb 24 22:25:10 suranus kernel: firewire0: New S400 device ID:00101005408888e6
Feb 24 22:25:10 suranus kernel: sbp0: sbp_show_sdev_info: sbp0:1:0: ordered:1 type:0 EUI:00101005408888e6 node:0 speed:2 maxrec:8
Feb 24 22:25:10 suranus kernel: sbp0: sbp_show_sdev_info: sbp0:1:0 'Initio' 'ST3500630A      ' '000259'
Feb 24 22:25:10 suranus kernel: sbp0: sbp_show_sdev_info: sbp0:0:0: ordered:1 type:14 EUI:0030e002e0454647 node:2 speed:3 maxrec:8
Feb 24 22:25:10 suranus kernel: sbp0: sbp_show_sdev_info: sbp0:0:0 'OEM' 'OEM ATA Device 00' '000120'
[B]Feb 24 22:25:11 suranus kernel: da1 at sbp0 bus 0 scbus0 target 1 lun 0
Feb 24 22:25:11 suranus kernel: da1: <Initio ST3500630A 0259> Fixed Direct Access SCSI-0 device
Feb 24 22:25:11 suranus kernel: da1: 50.000MB/s transfers
Feb 24 22:25:11 suranus kernel: da1: 476940MB (976773168 512 byte sectors: 255H 63S/T 60801C)[/B]

Where I think the problem lies is that the EUI ID #'s of the first two SATA enclosures are the same, so the sbp driver ignores the second drive.

I don't know if there's a workaround here or not!
Any ideas?

Thanks!
Roscoe
 
Some further digging has shown others are having similar issues (on Mac OS X for example) with multiple identical Firewire enclosures.
As long as the EUI's are the same, more than one enclosure cannot be mounted.

See the link here (scroll down to the bottom)

Roscoe
 
I contacted Vantec technical support last week to see if they had a firmware utility or other tool to change the Firewire EUI on the enclosure. They have offered to ship a new PCB for the enclosure with a different Firewire EUI burned into it.

Once I receive it I will test it and report on my findings.

Thanks,
Roscoe
 
Back
Top