Description:
Running 3 pairs of cameras in externally triggered mode, using the strobe from the left camera of each pair to trigger the right. In externally triggered mode, these cameras don't support auto_exposure, so I'm attempting to read the brightness, shutter, and gain values from the left camera (which is free-running and as such can auto-expose) and write them to the right camera of the pair, using dc1394_feature_get_value and dc1394_feature_set_value.

This works when only running one pair on each Firewire bus, but fails when running two pairs on a single bus, with these errors.

libdc1394 error: Generic failure: in dc1394_feature_set_value (control.c, line 1265): Could not set feature value

libdc1394 error: Generic failure: in dc1394_feature_set_value (control.c, line 1262): Could not get feature value

As far as I can tell, this isn't related to bandwidth usage, because slowing the read/writes to once every 1s in the 2 pair case still produces errors, while read/writing 15 times a second in the one pair case doesn't produce any errors.

I'm making the parameter read/write calls immediately after the image read poll.

Any insight into what is causing these errors and how to fix them?

Hardware:
Point Grey Firefly MV cameras
Point Grey 3 and 5-port 1394b hubs

FireWire (IEEE 1394): LSI Corporation FW643 [TrueFire] PCIe 1394b Controller (rev 08)
FireWire (IEEE 1394): VIA Technologies, Inc. VT6315 Series Firewire Controller (rev 01)

Software:
ROS Hydro camera1394 node and driver
libdc1394 2.1.7
Linux kernel version 3.2.0-59-generic

Topology:
6 cameras in 3 pairs
Port and Starboard pairs on expansion card firewire bus
Center on onboard firewire bus

-Zac Lizer