I have battery-powered backpackable LTE network which uses an Intel-based computing platform running Linux. Currently, the unit
is normally configured using a command line interface accessed from a desktop or laptop computer running a SSH-based terminal application while physically connected to the unit's Ethernet interface.
The unit is most often used in rapid-deployment situations and operated by first responders. The first responders are not expected to be IT-savvy, and do not normally carry a portable computer. The handsets used in the field are ruggedized Android devices.
There is a hardware UI on the unit itself composed of a three-position switch, and two LEDs, but it is not sufficient to be able to manage the various operational modes of the network.
I am looking at developing an out-of-band management solution for the first responders to use, where they can use an application on one of the Android devices to configure the unit's LTE and IP network parameters though a simple UI. The UI would present a number of pre-engineered configurations (such as high-power / hotspot mode, WiFi or VSAT backhaul, etc.), and also allow them to enter a limited number of parameters, such as a SSID and passphrase when using WiFi backhaul.
I don't want the communications channel between the unit and the Android device to based on any of the interfaces which may be changed between configurations (LTE, Ethernet, WiFi), and I don't want to have a dependency on any other external equipment (plain old cables are okay). This leaves Bluetooth and USB.
Bluetooth is fine for many types of deployments. but there are times when the unit must go in to complete radio-silence mode and disable all transmitting functions - including Bluetooth.
Now for my question ...
I am looking for any suggestions on how to establish a communications channel between the internal Linux-based platform and an Android handset using a USB connection. It shouldn't require root access on the Android device nor need the handset to have debug mode enabled. Options on the Linux side are wide-open.
All ideas welcome - thanks in advance.