Lucid Triton TRI2045-CC cannot set frame rate

I am attempting to communicate with a Lucid Vision Labs TRI2045-CC. arv-viewer can sucessfully set images size and stream images, however it cannot change any other camera parameter (exposure, frame rate, etc). For example, when changing frame rate, the application pauses and the frame rate returns to the original value.

Debug Output
$ ~/src/aravis/build/viewer/arv-viewer-0.8 -d device:3
[14:25:48.031] πŸ…Έ device> [GvDevice::new] Interface address = 10.140.5.25
[14:25:48.031] πŸ…Έ device> [GvDevice::new] Device address = 10.140.5.24
[14:25:48.035] πŸ…Έ device> [GvDevice::load_genicam] xml url = 'Local:Lucid_Vision_Labs_TRI204S-C_rev1_0_c0cf98aa606aeca2f126c3abcade7c3a.zip;800d3750;e71e' at 0x200
[14:25:48.035] πŸ…Έ device> [GvDevice::load_genicam] Xml address = 0x800d3750 - size = 0xe71e - Lucid_Vision_Labs_TRI204S-C_rev1_0_c0cf98aa606aeca2f126c3abcade7c3a.zip
[14:25:48.387] πŸ…Έ device> [GvDevice::load_genicam] Zipped xml data
[14:25:48.435] πŸ…Έ device> [GvDevice::new] Device endianness = big
[14:25:48.435] πŸ…Έ device> [GvDevice::new] Packet resend     = yes
[14:25:48.435] πŸ…Έ device> [GvDevice::new] Write memory      = yes
[14:25:48.435] πŸ…Έ device> [GvDevice::new] Legacy endianness handling = no
[14:25:49.434] πŸ…³ device> [GvDevice::Heartbeat] Ack value = 2
[14:25:50.437] πŸ…³ device> [GvDevice::Heartbeat] Ack value = 2
[14:25:50.654] πŸ…Έ device> [GvDevice::create_stream] Number of stream channels = 1
[14:25:50.695] πŸ…Έ device> [GvDevice::auto_packet_size] Current packet size check successfull (1400 bytes)
[14:25:50.709] πŸ…Έ device> [GvStream::stream_new] Packet size = 1400 byte(s)
[14:25:51.438] πŸ…³ device> [GvDevice::Heartbeat] Ack value = 2
[14:25:52.441] πŸ…³ device> [GvDevice::Heartbeat] Ack value = 2
[14:25:53.444] πŸ…³ device> [GvDevice::Heartbeat] Ack value = 2
[14:25:54.446] πŸ…³ device> [GvDevice::Heartbeat] Ack value = 2
[14:25:55.449] πŸ…³ device> [GvDevice::Heartbeat] Ack value = 2
[14:25:56.452] πŸ…³ device> [GvDevice::Heartbeat] Ack value = 2
[14:25:57.454] πŸ…³ device> [GvDevice::Heartbeat] Ack value = 2
[14:25:58.275] πŸ…Έ device> [GvDevice::write_memory] Unexpected answer (0x008f)
[14:25:58.772] πŸ†† device> [GvDevice::write_memory] Ack reception timeout
[14:25:58.772] πŸ†† device> [GvDevice::write_memory] Ack reception timeout
[14:25:58.774] πŸ…Έ device> [GvDevice::write_memory] Unexpected answer (0x008f)
[14:25:59.273] πŸ†† device> [GvDevice::write_memory] Ack reception timeout
[14:25:59.273] πŸ†† device> [GvDevice::write_memory] Ack reception timeout
[14:25:59.275] πŸ…Έ device> [GvDevice::write_memory] Unexpected answer (0x008f)
[14:25:59.774] πŸ†† device> [GvDevice::write_memory] Ack reception timeout
[14:25:59.774] πŸ†† device> [GvDevice::write_memory] Ack reception timeout
[14:25:59.776] πŸ…Έ device> [GvDevice::write_memory] Unexpected answer (0x008f)
[14:26:00.274] πŸ†† device> [GvDevice::write_memory] Ack reception timeout
[14:26:00.275] πŸ†† device> [GvDevice::write_memory] Ack reception timeout
[14:26:00.277] πŸ…Έ device> [GvDevice::write_memory] Unexpected answer (0x008f)
[14:26:00.775] πŸ†† device> [GvDevice::write_memory] Ack reception timeout
[14:26:00.775] πŸ†† device> [GvDevice::write_memory] Ack reception timeout
[14:26:00.777] πŸ…³ device> [GvDevice::Heartbeat] Ack value = 2
[14:26:01.780] πŸ…³ device> [GvDevice::Heartbeat] Ack value = 2
[14:26:02.783] πŸ…³ device> [GvDevice::Heartbeat] Ack value = 2
[14:26:03.786] πŸ…³ device> [GvDevice::Heartbeat] Ack value = 2
[14:26:04.789] πŸ…³ device> [GvDevice::Heartbeat] Ack value = 2
[14:26:05.791] πŸ…³ device> [GvDevice::Heartbeat] Ack value = 2

arv-tool gives an error message and the same Unexpected answer (0x008f) reports in it’s debug output:

$ ~/src/aravis/build/src/arv-tool-0.8 -n "Lucid Vision Labs-TRI204S-C-214302560" control AcquisitionFrameRate=2
AcquisitionFrameRate write error: GigEVision write_memory timeout

In either case, running the Cpp_Record example from Lucid’s SDK changes something about the camera that allows both arv-viewer and arv-tool to start working until the next power cycle.

Has anyone seen this kind of behavior before? Any suggestions that would get things working using only aravis tools?

On further experimentation, running

./arv-tool-0.8 -d device:3 -n "Lucid Vision Labs-TRI204S-C-214302560" control AcquisitionFrameRateEnable=true

Before launching the arv-viewer seems to work.