void notify_modem_on_internet_state_changed(int has_internet) { if (has_internet) return; if (nvram_get_int("modem_prio") != 3) return; if (get_usb_modem_wan(0)) return; if (!get_modem_devnum()) return; notify_rc("auto_wan_reconnect"); }
void notify_modem_on_wan_ether_link_changed(int has_link) { int modem_used, link_wan; if (nvram_get_int("modem_prio") != 2) return; if (get_wan_wisp_active(NULL)) return; if (!get_modem_devnum()) return; link_wan = (has_link) ? 1 : 0; modem_used = (get_usb_modem_wan(0)) ? 1 : 0; if (modem_used == link_wan) notify_rc("auto_wan_reconnect"); }
static void try_start_usb_modem_to_wan(void) { int modem_prio, has_link; if (get_ap_mode()) return; /* check modem prio mode */ modem_prio = nvram_get_int("modem_prio"); if (modem_prio < 1) return; /* check modem already selected to WAN */ if (get_usb_modem_wan(0)) return; /* check modem enabled and ready */ if (!get_modem_devnum()) return; if (modem_prio == 2) { if (get_apcli_wisp_ifname()) return; has_link = get_wan_ether_link_direct(0); if (has_link < 0) has_link = 0; if (has_link) return; } logmessage("USB hotplug", "try start USB Modem as WAN connection..."); try_wan_reconnect(1, 0); }