How to clear application data from inaccessible application

Hi everyone,

We have a problem with one of our devices. We have a “staging” application which has a lot of data in the data volume, but we cannot open the application to purge the data volume because it has a now unusable wifi configuration and no physical access to the device. Is it possible to remove the data volume remotely without mounting the application?

Best regards,

John

Hi @industrialtechgroup,
What version of resinOS is this device running on?

Hi @shaunmulligan. It is running:
HOST OS VERSION Resin OS 1.24.0
SUPERVISOR VERSION 2.8.3

When you say “unusable” wifi, does it mean that there’s no network access at all? If there’s no network, nor physical access, then it’s hard to think how remote removal of data would work. Can you please clarify, what’s the state of the device?

If there’s network, it can be removed. If there’s physical access, then on the resin-data partition othere’s a resin-data directory which contains the application /data folders separated by application numerical IDs.

What I mean is there is two applications, who both have wifi-connect (probably should have mentioned that before) with saved wifi configurations.

Just to make it as clear as I can:
One of them is in current use, let’s call it APP1, with DATAVOL1, and WIFICONFIG1. The other app is APP2, with DATAVOL2 and WIFICONFIG2. We want to clear DATAVOL2 while staying in APP1. The reason we want this is because APP2 has WIFICONFIG2, which renders the device unusable at it’s current location and mounting it means that we will lose the device. We have no physical access. (it is 1300 miles away at a customer site)

Does that make sense?

How are these Applications managed?
Are they two different resin.io applications that you have transferred the device between? Are they branched execution based on some environment variable? Are they docker-in-docker applications?

Private details
I’m about to send an e-mail out to you to collect private information about exactly which device, so we can see what you’re seeing.

Are they two different resin.io applications that you have transferred the device between?

Yes.

Hi, sorry for the lot of questions, just tying down a few more details :slight_smile:

So you have APP1 and APP2. APP1 works at the current location, while APP2 would make the device inoperable there. Will need to remove all data for APP1 at the end of any process regarding this issue.

Are you trying to move the device to a new location (where APP2’s settings would work)? Or what kind of change are you trying to make? Just to understand a bit better of what’s happening with the device.

Because if e.g. switching applications would disconnect the device at the current location, but it’s going somewhere where it has network, then once it re-connects, we can help you remove the previous app’s data. If that’s not what’s happening, maybe it would help the brainstorm for a solution if you can give some more info… (real world IoT is never really straightforward).

Also, you say you are using wifi-connect, that’s resin-wifi-connect, right? And then you are not using the hot-spot feature, just the ability to switch networks with saved networks?

(as a forward-looking note, on resinOS 2.x with Network Manager this can be a lot easier, as then the device can store multiple network connections and could choose to connect to the one that’s available)

To quickly summarise an amount of conversation that has happened in a private channel:
This device was tested before shipping in a staging application with a staging wifi.
This device was then moved to a production application and shipped.
This device was then configured onto the production wifi.
We can delete the staging data whenever that device is online.

1 Like