Device is_online = True and is_connected_to_vpn = True - but not reachable?

Hi,

We have a device with a customer that, according to OpenBalena is online. However, it is not reporting to our backend (separate from balena) and we are not able to ssh to it (using tunnel). Note that we have no problem accessing other devices - so it does not seem like a setup issue.

Here is the output we get using Python SDK:
{‘created_at’: ‘2020-10-11T08:50:37.267Z’,
‘id’: 111,
‘actor’: 179,
‘uuid’: ‘’,
‘local_id’: None,
‘device_name’: ‘old-wildflower’,
‘note’: None,
‘device_type’: ‘raspberrypi4-64’,
‘belongs_to__application’: {’__deferred’: {‘uri’: ‘/resin/application(7)’},
‘__id’: 7},
‘is_online’: True,
‘last_connectivity_event’: ‘2021-08-02T10:55:52.614Z’,
‘is_connected_to_vpn’: True,
‘last_vpn_event’: ‘2021-08-02T10:55:52.614Z’,
‘is_locked_until__date’: None,
‘logs_channel’: None,
‘public_address’: None,
‘vpn_address’: ‘’,
‘ip_address’: ‘’,
‘is_on__commit’: ‘’,
‘download_progress’: None,
‘status’: ‘Idle’,
‘os_version’: ‘balenaOS 2.48.0+rev1’,
‘os_variant’: ‘prod’,
‘supervisor_version’: ‘10.8.0’,
‘provisioning_progress’: None,
‘provisioning_state’: ‘’,
‘api_port’: 48484,
‘api_secret’: ‘’,
‘is_managed_by__service_instance’: {’__deferred’: {‘uri’: ‘/resin/service_instance(115)’},
‘__id’: 115},
‘should_be_running__release’: None,
‘is_managed_by__device’: None,
‘__metadata’: {‘uri’: ‘/resin/device(111)’, ‘type’: ‘’}}

Trying to issue a reboot using the python SDK and CLI doesn’t work either - the response we get is:
BalenaRequestError: Request error: tunneling socket could not be established, cause=socket hang up

Finally, is it possible that the device is offline but open balena thinks it’s still online? is this a known issue? is there a way to ‘refresh’ open balena?

Thanks!! :wink:

Hi there, tunneling socket could not be established means the API, via the VPN, can not establish a connection to the Supervisor running on the device. Can you verify the supervisor is running and the VPN is up by connecting to the device via SSH directly?

Hi ab77,

We assume the device is done. The issue is that openBalena is still reporting it as online, even though the last_connectivity_event was months ago (usually it is days at most).

Is balena reporting device online by mistake a known issue with openBalena?
Is there a way to have balena re-evalute the is_online flag (in case it’s just ‘stuck’ at True state)?

The status is only updated when the Supervisor on the device updates its state via the API. If that state update is never performed (i.e. the supervisor has crashed), the API will report the last received state.