Я разрабатываю C программу для Tinkerboard (Linux DietPi), подключенную через модем USB 4G через TPLink.
Модем видим с интерфейсом usb0 и действует как DHCP-сервер , определяя частный IP-адрес для tinkerboard.
Система работает от батареи, поэтому мне нужно перевести tinkerboard в режим ожидания при обнаружении неактивности. Модем остается включенным, потому что порты USB остаются включенными.
Через длительный период времени устройство просыпается и обнаруживает отключение интерфейса usb0 без IP-адреса.
В этом случае программа пытается чтобы разбудить интерфейс с помощью:
system("ip link set dev usb0 up")
Затем интерфейс работает и работает, но у него нет IP-адреса.
Таким образом, программа пытается обновить sh IP с помощью:
system("dhclient usb0")
но опять же IP не приходит. Я также пытался с:
system("dhclient -r usb0")
system("dhclient usb0")
но ничего не делать.
Как я могу решить это?