For a project we are using Raspberry Pi 3 Model B+ in combination with Balena (Resin OS 2.12.3+rev1) and a Huawei E353 (2G/3G dongle).
What I have noticed is that when I first boot my application and then insert the E353, everything works as expected.
However, if I try to boot with the E353 inserted, the whole process hangs on a line from udevd initialization (timing out after about 3 minutes), after which I have no internet connectivity (does not matter whether ethernet is plugged in or not).
In both cases I see udev correctly identifying the E353, loading it as a USB Mass Storage / CDROM and then switching it over to cdc_ether.
For this one device, I have made some changes to the Host OS through the web terminal.
(remounting root and adding a usb_modeswitch rule to udev for the E353)
After these changes booting with the E353 works perfectly, and my device connects as expected.
My question now is: what is the preferred way to make changes to the Host OS like these manageable?
It seems to me not very desirable to have to manually tweak every device that is being created, not to mention the fact that this might not be the only change we will need in the future.
More manual tweaking = higher chance of making a mistake somewhere down the line.
Hello @spanceac,
Thank you for the tip, I will definitely try it soon.
At the moment when I want to add a device, I just get an image through the dashboard.
I have not seen any way in this step to add anything custom to it, so this way will still require manual tweaking of each device.
I guess to get all our changes in the image, there are really only two options?
Flash existing image, apply changes and then create a new image from that;