# How to reset a camera whose control I lost

**URL:** <https://aravis-project.discourse.group/t/how-to-reset-a-camera-whose-control-i-lost/315>\
**Category:** Using Aravis\
**Created:** [August 19, 2021, 1:07pm UTC](https://aravis-project.discourse.group/t/how-to-reset-a-camera-whose-control-i-lost/315 "2021-08-19T13:07:50Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![louis-demers](https://yyz2.discourse-cdn.com/free1/user_avatar/aravis-project.discourse.group/louis-demers/32/70_2.png) [@louis-demers](https://aravis-project.discourse.group/u/louis-demers)\
**Post date:** [August 19, 2021, 1:07pm UTC](https://aravis-project.discourse.group/t/how-to-reset-a-camera-whose-control-i-lost/315/1 "2021-08-19T13:07:50Z")

</div>

Hi,  
Sometimes, after my program crash, I can no longer control a camera. I get permission denied error codes. I try to use arv-tool to send a DeviceReset command but that did not work. My only solution is to physically disconnect the camera. What is the proper way to reset a camera to power-up status ?

---

<div class="post-metadata">

**Author:** ![Emmanuel](https://yyz2.discourse-cdn.com/free1/user_avatar/aravis-project.discourse.group/emmanuel/32/198_2.png) [@Emmanuel](https://aravis-project.discourse.group/u/Emmanuel)\
**Post date:** [August 20, 2021, 6:26am UTC](https://aravis-project.discourse.group/t/how-to-reset-a-camera-whose-control-i-lost/315/2 "2021-08-20T06:26:39Z")

</div>

Hi,

Is this a GigEVision or a USB3Vision camera ?

In the GigEVision case, an exclusive access to the camera is kept by a client using a heartbeat register. The client has to read this register before a given timeout i order to keep the exclusive control. By default this timeout is a few seconds, but it can be much longer.

If your program crash, the client does not properly disconnect, which means if you try to reconnect just after the crash, the camera won’t give you the control until the heartbeat timeout.

---

<div class="post-metadata">

**Author:** ![louis-demers](https://yyz2.discourse-cdn.com/free1/user_avatar/aravis-project.discourse.group/louis-demers/32/70_2.png) [@louis-demers](https://aravis-project.discourse.group/u/louis-demers)\
**Post date:** [August 20, 2021, 11:27am UTC](https://aravis-project.discourse.group/t/how-to-reset-a-camera-whose-control-i-lost/315/3 "2021-08-20T11:27:49Z")

</div>

Hi.

We are using GigEVision. I checked and got  
`GevHeartbeatTimeout = 3000 min:500 max:10000`

So there is no way to force a reset/reboot other than to power cycle the devices ?

Thanks for your quick answer.

---

<div class="post-metadata">

**Author:** ![Emmanuel](https://yyz2.discourse-cdn.com/free1/user_avatar/aravis-project.discourse.group/emmanuel/32/198_2.png) [@Emmanuel](https://aravis-project.discourse.group/u/Emmanuel)\
**Post date:** [August 20, 2021, 12:45pm UTC](https://aravis-project.discourse.group/t/how-to-reset-a-camera-whose-control-i-lost/315/4 "2021-08-20T12:45:36Z")

</div>

> [@louis-demers](#):
>
> So there is no way to force a reset/reboot other than to power cycle the devices ?

What is the output of `arv-tool-0.8 control DeviceReset -d all` ?

---

<div class="post-metadata">

**Author:** ![louis-demers](https://yyz2.discourse-cdn.com/free1/user_avatar/aravis-project.discourse.group/louis-demers/32/70_2.png) [@louis-demers](https://aravis-project.discourse.group/u/louis-demers)\
**Post date:** [August 20, 2021, 2:42pm UTC](https://aravis-project.discourse.group/t/how-to-reset-a-camera-whose-control-i-lost/315/5 "2021-08-20T14:42:07Z")

</div>

My Flir device returns

```auto
[lab@7-12-1-Calibration:~] arv-tool-0.8 control DeviceReset -d all -a 10.0.2.53
[10:37:11.839] 🅸 interface> Found 0 USB3Vision device (among 3 USB devices)
[10:37:11.840] 🅸 device> [GvDevice::new] Interface address = 10.0.0.10
[10:37:11.840] 🅸 device> [GvDevice::new] Device address = 10.0.2.53
[10:37:11.847] 🅸 device> [GvDevice::load_genicam] xml url = 'Local:BFS-PGE-31S4M_017AB016.zip;60000000;11C1A' at 0x200
[10:37:11.848] 🅸 device> [GvDevice::load_genicam] Xml address = 0x60000000 - size = 0x11c1a - BFS-PGE-31S4M_017AB016.zip
[10:37:12.025] 🅸 device> [GvDevice::load_genicam] Zipped xml data
[10:37:12.027] 🅸 dom> [GcFeature::set_attribute] Unknown attribute 'xmlns:xi'
[10:37:12.031] 🅸 dom> [Genicam::create_element] Unknown tag (pAlias)
[10:37:12.031] 🅸 dom> [Genicam::create_element] Unknown tag (pAlias)
[10:37:12.043] 🅸 dom> [Genicam::create_element] Unknown tag (pAlias)
[10:37:12.047] 🅸 dom> [GcFeature::set_attribute] Unknown attribute 'Comment'
[10:37:12.047] 🅸 dom> [GcFeature::set_attribute] Unknown attribute 'Comment'
[10:37:12.047] 🅸 dom> [GcFeature::set_attribute] Unknown attribute 'Comment'
[10:37:12.048] 🅸 dom> [GcFeature::set_attribute] Unknown attribute 'Comment'
[10:37:12.048] 🅸 dom> [GcFeature::set_attribute] Unknown attribute 'Comment'
[10:37:12.048] 🅸 dom> [GcFeature::set_attribute] Unknown attribute 'Comment'
[10:37:12.048] 🅸 dom> [GcFeature::set_attribute] Unknown attribute 'Comment'
[10:37:12.048] 🅸 dom> [GcFeature::set_attribute] Unknown attribute 'Comment'
[10:37:12.048] 🅸 dom> [GcFeature::set_attribute] Unknown attribute 'Comment'
[10:37:12.048] 🅸 dom> [GcFeature::set_attribute] Unknown attribute 'Comment'
[10:37:12.048] 🅸 dom> [GcFeature::set_attribute] Unknown attribute 'Comment'
[10:37:12.048] 🅸 dom> [GcFeature::set_attribute] Unknown attribute 'Comment'
[10:37:12.048] 🅸 dom> [GcFeature::set_attribute] Unknown attribute 'Comment'
[10:37:12.050] 🅸 dom> [Genicam::create_element] Unknown tag (pAlias)
[10:37:12.050] 🅸 dom> [Genicam::create_element] Unknown tag (pAlias)
[10:37:12.051] 🅸 dom> [Genicam::create_element] Unknown tag (pAlias)
[10:37:12.051] 🅸 dom> [Genicam::create_element] Unknown tag (pAlias)
[10:37:12.052] 🅸 dom> [Genicam::create_element] Unknown tag (pAlias)
[10:37:12.053] 🅸 dom> [Genicam::create_element] Unknown tag (pAlias)
[10:37:12.053] 🅸 dom> [Genicam::create_element] Unknown tag (pAlias)
[10:37:12.054] 🅸 dom> [Genicam::create_element] Unknown tag (pAlias)
[10:37:12.054] 🅸 dom> [Genicam::create_element] Unknown tag (pAlias)
[10:37:12.054] 🅸 dom> [Genicam::create_element] Unknown tag (pAlias)
[10:37:12.054] 🅸 dom> [Genicam::create_element] Unknown tag (pAlias)
[10:37:12.054] 🅸 dom> [Genicam::create_element] Unknown tag (pAlias)
[10:37:12.054] 🅸 dom> [Genicam::create_element] Unknown tag (pAlias)
[10:37:12.054] 🅸 dom> [Genicam::create_element] Unknown tag (pAlias)
[10:37:12.054] 🅸 dom> [Genicam::create_element] Unknown tag (pAlias)
[10:37:12.055] 🅸 dom> [Genicam::create_element] Unknown tag (pAlias)
[10:37:12.055] 🅸 dom> [Genicam::create_element] Unknown tag (pAlias)
[10:37:12.056] 🅸 dom> [Genicam::create_element] Unknown tag (pAlias)
[10:37:12.057] 🅸 dom> [Genicam::create_element] Unknown tag (pAlias)
[10:37:12.058] 🅸 dom> [Genicam::create_element] Unknown tag (pAlias)
[10:37:12.060] 🅸 dom> [Genicam::create_element] Unknown tag (pAlias)
[10:37:12.061] 🅸 genicam> [Gc::set_default_node_data] Add 'GevStreamChannelCount'
[10:37:12.061] 🅸 genicam> [Gc::set_default_node_data] Add 'GevSCPAddrCalc'
[10:37:12.064] 🅸 device> [GvDevice::new] Device endianness = big
[10:37:12.064] 🅸 device> [GvDevice::new] Packet resend = yes
[10:37:12.064] 🅸 device> [GvDevice::new] Write memory = yes
[10:37:12.064] 🅸 device> [GvDevice::new] Legacy endianness handling = yes
DeviceReset executed

```

while my Pleora device returns

```auto
[lab@7-12-1-Calibration:~] arv-tool-0.8 control DeviceReset -d all -a 10.0.2.63
[10:39:53.355] 🅸 interface> Found 0 USB3Vision device (among 3 USB devices)
[10:39:53.355] 🅸 device> [GvDevice::new] Interface address = 10.0.0.10
[10:39:53.355] 🅸 device> [GvDevice::new] Device address = 10.0.2.63
[10:39:53.378] 🅸 device> [GvDevice::load_genicam] xml url = 'Local:iport_analog_pro_pt01_an1ip0x_32yg_1_0_0_BAE8924B.zip;3fff8000;71c5' at 0x200
[10:39:53.378] 🅸 device> [GvDevice::load_genicam] Xml address = 0x3fff8000 - size = 0x71c5 - iport_analog_pro_pt01_an1ip0x_32yg_1_0_0_BAE8924B.zip
[10:39:54.140] 🅸 device> [GvDevice::load_genicam] Zipped xml data
[10:39:54.169] 🅸 genicam> [Gc::set_default_node_data] Add 'GevSCPAddrCalc'
[10:39:54.199] 🅸 device> [GvDevice::new] Device endianness = big
[10:39:54.199] 🅸 device> [GvDevice::new] Packet resend = yes
[10:39:54.199] 🅸 device> [GvDevice::new] Write memory = yes
[10:39:54.199] 🅸 device> [GvDevice::new] Legacy endianness handling = yes
DeviceReset executed
[10:39:54.713] 🆆 device> [GvDevice::read_register] Ack reception timeout
[10:39:54.714] 🆆 device> [GvDevice::read_register] Ack reception timeout
[10:39:55.219] 🆆 device> [GvDevice::read_register] Ack reception timeout
[10:39:55.219] 🆆 device> [GvDevice::read_register] Ack reception timeout
[10:39:55.721] 🆆 device> [GvDevice::read_register] Ack reception timeout
[10:39:55.721] 🆆 device> [GvDevice::read_register] Ack reception timeout
[10:39:56.226] 🆆 device> [GvDevice::read_register] Ack reception timeout
[10:39:56.226] 🆆 device> [GvDevice::read_register] Ack reception timeout
[10:39:56.727] 🆆 device> [GvDevice::read_register] Ack reception timeout
[10:39:56.727] 🆆 device> [GvDevice::read_register] Ack reception timeout
[10:39:57.232] 🆆 device> [GvDevice::write_register] Ack reception timeout
[10:39:57.233] 🆆 device> [GvDevice::write_register] Ack reception timeout
[10:39:57.736] 🆆 device> [GvDevice::write_register] Ack reception timeout
[10:39:57.736] 🆆 device> [GvDevice::write_register] Ack reception timeout
[10:39:58.237] 🆆 device> [GvDevice::write_register] Ack reception timeout
[10:39:58.237] 🆆 device> [GvDevice::write_register] Ack reception timeout
[10:39:58.738] 🆆 device> [GvDevice::write_register] Ack reception timeout
[10:39:58.738] 🆆 device> [GvDevice::write_register] Ack reception timeout
[10:39:59.243] 🆆 device> [GvDevice::write_register] Ack reception timeout
[10:39:59.243] 🆆 device> [GvDevice::write_register] Ack reception timeout
[10:39:59.243] 🆆 device> [GvDevice::leave_control] Can't relinquish control access

```

---

<div class="post-metadata">

**Author:** ![Emmanuel](https://yyz2.discourse-cdn.com/free1/user_avatar/aravis-project.discourse.group/emmanuel/32/198_2.png) [@Emmanuel](https://aravis-project.discourse.group/u/Emmanuel)\
**Post date:** [August 25, 2021, 5:52am UTC](https://aravis-project.discourse.group/t/how-to-reset-a-camera-whose-control-i-lost/315/6 "2021-08-25T05:52:37Z")

</div>

Hi,

Thanks for the logs. It looks like the Pleora device resets itself before sending an acknowledge.

Are these log taken after the device are in need of a hardware reset ?

Do both devices behaves the same after an application crash ?

---

<div class="post-metadata">

**Author:** ![louis-demers](https://yyz2.discourse-cdn.com/free1/user_avatar/aravis-project.discourse.group/louis-demers/32/70_2.png) [@louis-demers](https://aravis-project.discourse.group/u/louis-demers)\
**Post date:** [August 28, 2021, 8:05pm UTC](https://aravis-project.discourse.group/t/how-to-reset-a-camera-whose-control-i-lost/315/7 "2021-08-28T20:05:47Z")

</div>

Here are 2 logs of a Pleora device who would not accept DeviceReset. I had to physically disconnect/connect power and after. First log is before power cycling, and second one after.

```auto
[lab@7-12-3-Calibration:~] arv-tool-0.8 -a 10.0.2.63 -d all control DeviceReset
[15:50:05.592] 🅸 interface> Found 0 USB3Vision device (among 2 USB devices)
[15:50:05.592] 🅸 device> [GvDevice::new] Interface address = 10.0.0.14
[15:50:05.592] 🅸 device> [GvDevice::new] Device address = 10.0.2.63
[15:50:05.605] 🅸 device> [GvDevice::load_genicam] xml url = 'Local:iport_analog_pro_pt01_an1ip0x_32yg_1_0_0_BAE8924B.zip;3fff8000;71c5' at 0x200
[15:50:05.606] 🅸 device> [GvDevice::load_genicam] Xml address = 0x3fff8000 - size = 0x71c5 - iport_analog_pro_pt01_an1ip0x_32yg_1_0_0_BAE8924B.zip
[15:50:06.392] 🅸 device> [GvDevice::load_genicam] Zipped xml data
[15:50:06.420] 🅸 genicam> [Gc::set_default_node_data] Add 'GevSCPAddrCalc'
[15:50:06.428] 🆆 device> [GvDevice::take_control] Can't get control access
[15:50:06.444] 🅸 device> [GvDevice::new] Device endianness = big
[15:50:06.444] 🅸 device> [GvDevice::new] Packet resend = yes
[15:50:06.444] 🅸 device> [GvDevice::new] Write memory = yes
[15:50:06.444] 🅸 device> [GvDevice::new] Legacy endianness handling = yes
DeviceReset executed
[15:50:06.460] 🆆 device> [GvDevice::leave_control] Can't relinquish control access
[lab@7-12-3-Calibration:~] 
[lab@7-12-3-Calibration:~] 
[lab@7-12-3-Calibration:~] arv-tool-0.8 -a 10.0.2.63 -d all control DeviceReset
[15:50:34.449] 🅸 interface> Found 0 USB3Vision device (among 2 USB devices)
[15:50:34.449] 🅸 device> [GvDevice::new] Interface address = 10.0.0.14
[15:50:34.449] 🅸 device> [GvDevice::new] Device address = 10.0.2.63
[15:50:34.471] 🅸 device> [GvDevice::load_genicam] xml url = 'Local:iport_analog_pro_pt01_an1ip0x_32yg_1_0_0_BAE8924B.zip;3fff8000;71c5' at 0x200
[15:50:34.472] 🅸 device> [GvDevice::load_genicam] Xml address = 0x3fff8000 - size = 0x71c5 - iport_analog_pro_pt01_an1ip0x_32yg_1_0_0_BAE8924B.zip
[15:50:35.288] 🅸 device> [GvDevice::load_genicam] Zipped xml data
[15:50:35.317] 🅸 genicam> [Gc::set_default_node_data] Add 'GevSCPAddrCalc'
[15:50:35.342] 🅸 device> [GvDevice::new] Device endianness = big
[15:50:35.342] 🅸 device> [GvDevice::new] Packet resend = yes
[15:50:35.342] 🅸 device> [GvDevice::new] Write memory = yes
[15:50:35.342] 🅸 device> [GvDevice::new] Legacy endianness handling = yes
DeviceReset executed
[15:50:35.856] 🆆 device> [GvDevice::read_register] Ack reception timeout
[15:50:35.856] 🆆 device> [GvDevice::read_register] Ack reception timeout
[15:50:36.359] 🆆 device> [GvDevice::read_register] Ack reception timeout
[15:50:36.359] 🆆 device> [GvDevice::read_register] Ack reception timeout
[15:50:36.865] 🆆 device> [GvDevice::read_register] Ack reception timeout
[15:50:36.865] 🆆 device> [GvDevice::read_register] Ack reception timeout
[15:50:37.370] 🆆 device> [GvDevice::read_register] Ack reception timeout
[15:50:37.370] 🆆 device> [GvDevice::read_register] Ack reception timeout
[15:50:37.876] 🆆 device> [GvDevice::read_register] Ack reception timeout
[15:50:37.876] 🆆 device> [GvDevice::read_register] Ack reception timeout
[15:50:38.381] 🆆 device> [GvDevice::write_register] Ack reception timeout
[15:50:38.381] 🆆 device> [GvDevice::write_register] Ack reception timeout
[15:50:38.887] 🆆 device> [GvDevice::write_register] Ack reception timeout
[15:50:38.887] 🆆 device> [GvDevice::write_register] Ack reception timeout
[15:50:39.388] 🆆 device> [GvDevice::write_register] Ack reception timeout
[15:50:39.388] 🆆 device> [GvDevice::write_register] Ack reception timeout
[15:50:39.893] 🆆 device> [GvDevice::write_register] Ack reception timeout
[15:50:39.893] 🆆 device> [GvDevice::write_register] Ack reception timeout
[15:50:40.398] 🆆 device> [GvDevice::write_register] Ack reception timeout
[15:50:40.398] 🆆 device> [GvDevice::write_register] Ack reception timeout
[15:50:40.398] 🆆 device> [GvDevice::leave_control] Can't relinquish control access

[lab@7-12-3-Calibration:~]

```

---

<div class="post-metadata">

**Author:** ![Emmanuel](https://yyz2.discourse-cdn.com/free1/user_avatar/aravis-project.discourse.group/emmanuel/32/198_2.png) [@Emmanuel](https://aravis-project.discourse.group/u/Emmanuel)\
**Post date:** [September 1, 2021, 6:31am UTC](https://aravis-project.discourse.group/t/how-to-reset-a-camera-whose-control-i-lost/315/8 "2021-09-01T06:31:19Z")

</div>

When you are not able to use the camera with Aravis, are you still able to connect to the camera without a hard reset using Pleora software ?

---

<div class="post-metadata">

**Author:** ![louis-demers](https://yyz2.discourse-cdn.com/free1/user_avatar/aravis-project.discourse.group/louis-demers/32/70_2.png) [@louis-demers](https://aravis-project.discourse.group/u/louis-demers)\
**Post date:** [September 1, 2021, 6:33pm UTC](https://aravis-project.discourse.group/t/how-to-reset-a-camera-whose-control-i-lost/315/9 "2021-09-01T18:33:43Z")

</div>

yes I can connect to the camera but cannot do anything for lack of control access…

I notice that sometimes, on the FLIR camera, they do not even responds to “ping” anymore, so clearly the only option is power cycling.

---

<div class="post-metadata">

**Author:** ![Emmanuel](https://yyz2.discourse-cdn.com/free1/user_avatar/aravis-project.discourse.group/emmanuel/32/198_2.png) [@Emmanuel](https://aravis-project.discourse.group/u/Emmanuel)\
**Post date:** [March 28, 2023, 8:53am UTC](https://aravis-project.discourse.group/t/how-to-reset-a-camera-whose-control-i-lost/315/10 "2023-03-28T08:53:38Z")

</div>

A post was split to a new topic: [Control of a USB3Vision camera lost](https://aravis-project.discourse.group/t/control-of-a-usb3vision-camera-lost/610)

---

<div class="post-metadata">

**Author:** ![Emmanuel](https://yyz2.discourse-cdn.com/free1/user_avatar/aravis-project.discourse.group/emmanuel/32/198_2.png) [@Emmanuel](https://aravis-project.discourse.group/u/Emmanuel)\
**Post date:** [March 28, 2023, 9:05am UTC](https://aravis-project.discourse.group/t/how-to-reset-a-camera-whose-control-i-lost/315/11 "2023-03-28T09:05:54Z")

</div>

A post was split to a new topic: [How to read DeviceLinkHeartbeatTimeout feature](https://aravis-project.discourse.group/t/how-to-read-devicelinkheartbeattimeout-feature/611)
