ho un Netgear MBRN3000 Firmware v1.0.0.72_2.0.12WW con chiavetta ALCATEL modello X200S e sim WIND, lo uso per un sistema di monitoraggio da remoto grazie ad un raspberry, in un campo a qualche chilometro da casa mia.
il problema è che ogni tanto dopo 1,2 anche 5 giorni il router si blocca, cioè la chiavetta lampeggia invece di essere fissa e il router non è connesso, quindi manualmente devo andare li e riavviare il router.
Quindi mi servirebbe uno script che nel caso non ci sia la connessione mi riavvia il router.
Pensavo di aver risolto con:
Code: Select all
#!/bin/bash
cd /tmp/
rm Modem_status.htm
wget http://192.168.0.1/Modem_status.htm --http-user='tuouser' --http-password='tuapassword'
if ( grep -r "0\.*" /tmp/Modem_status.htm );
then
GET http://tuouser:tuapassword@192.168.0.1/reboot.cgi
fi
ma non so perchè ma non si riavvia correttamente, cioè:
se vado da browser alla pagina del router 192.168.0.1/reboot.cgi mi compare la solita pagina di caricamento con scritto "attendere...." e il router si riavvia, ma una volta finito il caricamento il router non si riesce a ricollegare.
Invece se sempre da browser vado alla pagina del modem 192.168.0.1 e poi in "Diagnostica" clicco su "riavvia"(che mi rimanda alla pagina 192.168.0.1/reboot.cgi), riappare la pagina con il caricamento, il router si riavvia e si ricollega correttamente.
Quindi mi servirebbe uno script che interagisce con una pagina htm e mi fa cliccare su "riavvia".
Ho visto un po di esempi con mechanize e python ma essendo alle prime armi con Linux non sono riuscito a creare lo script.
Qualcuno mi può aiutare?
se faccio "visualizza sorgente frame" in "Diagnostica" mi esce fuori questo:
Code: Select all
<html>
<head>
<META name="description" content="MBRN3000">
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<META http-equiv="Content-Style-Type" content="text/css">
<META http-equiv="Pragma" content="no-cache">
<META HTTP-equiv="Cache-Control" content="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="Mon, 06 Jan 1990 00:00:01 GMT">
<title>Diagnostica</title>
<link rel="stylesheet" href="form.css">
<script language="javascript" type="text/javascript" src="func.js"></script>
<script language="javascript" type="text/javascript" src="msg.js"></script>
<script language="javascript" type="text/javascript" src="utility.js"></script>
<script language="javascript" type="text/javascript" src="browser.js"></script>
<script language="javascript" type="text/javascript" src="md5.js"></script>
<script language="javascript" type="text/javascript">
<!-- hide script from old browsers
function ping_ck()
{
var cf = document.forms['ping'];
if(checkIP(cf.IPAddr1,cf.IPAddr2,cf.IPAddr3,cf.IPAddr4,254))
{
alert("Indirizzo IP non valido. Inserirlo nuovamente.\n!\n");
return false;
}
cf.ping_IPAddr.value = cf.IPAddr1.value+'.'+cf.IPAddr2.value+'.'+cf.IPAddr3.value+'.'+cf.IPAddr4.value;
return ;
}
function checkIPAddr(dstText)
{
data = dstText.match(/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/);
if (!data || !dstText) return false;
return true;
}
function lookup_ck()
{
var cf = document.forms['dnslookup'];
if(isBlank(cf.host_name))
{
alert("Nome Internet obbligatorio!\n");
return false;
}
if(cf.host_name.value.indexOf(".") == -1)
{
alert("Nome Internet non valido. Inserirlo nuovamente.\n");
return false;
}
if(checkIPAddr(cf.host_name.value))
{
alert("Nome Internet non valido. Inserirlo nuovamente.\n");
return false;
}
return true;
}
function next_fun(value)
{
if(value == 1)
document.reboot.button.value = "Reboot";
else
document.reboot.button.value = "Scan";
}
var msg_restart = "Attenzione! Riavviando il computer si interromperanno tutte le connessioni esistenti al router (come quella in corso) o dal router (ad es. le connessioni degli utenti LAN che accedono a Internet)";
//-->
</script>
</head>
<body bgcolor="#ffffff" onload="loadhelp('DIAG_diag');document.forms[0].elements[0].focus();">
<form name="ping" method="POST" action="ping.cgi" onSubmit="return ping_ck();">
<table border="0" cellpadding="0" cellspacing="3" width="100%">
<tr>
<td colspan="3"><h1>Diagnostica</h1></td>
</tr>
<tr>
<td colspan="3" background="liteblue.gif" height="12"> </td>
</tr>
<tr>
<td colspan="3" nowrap><a href="javascript:loadhelp('DIAG_diag','ping')" tabindex="-1"><b>Ping di un indirizzo IP</b></a></td>
</tr>
<tr>
<td nowrap>Indirizzo IP:</td>
<td align="right" nowrap class="num">
<input type="text" name="IPAddr1" class="num" size="4" maxlength="3" value="">.
<input type="text" name="IPAddr2" class="num" size="4" maxlength="3" value="">.
<input type="text" name="IPAddr3" class="num" size="4" maxlength="3" value="">.
<input type="text" name="IPAddr4" class="num" size="4" maxlength="3" value="">
</td>
<td nowrap align="right"> <input type="submit" name="ping" value="Ping" ></td>
</tr>
</table>
<input type="hidden" name="ping_IPAddr" value="">
</form>
<form name="dnslookup" method="POST" action="dnslookup.cgi" class="compressed" onSubmit="return lookup_ck();">
<table border="0" cellpadding="0" cellspacing="3" width="100%">
<tr>
<td colspan="3" background="liteblue.gif" height="12"> </td>
</tr>
<tr>
<td colspan="3" nowrap><a href="javascript:loadhelp('DIAG_diag','dnslookup')" tabindex="-1" ><b>Esegui ricerca DNS</b></a></td>
</tr>
<tr>
<td nowrap>Nome Internet:</td>
<td nowrap align="right"><input type="text" name="host_name" value="" size="24" maxlength="128"></td>
<td nowrap align="right"> <input type="submit" name="lookup" value=Ricerca></td>
</tr>
<tr>
<td nowrap>Indirizzo IP:</td>
<td nowrap align="right"><b> </b></td>
<td> </td>
</tr>
<tr>
<td nowrap>Server DNS:</td>
<td nowrap align="right"><b>0.0.0.0<br></b></td>
<td> </td>
</tr>
</table>
</form>
<form name="rtable" method="POST" action="rt.cgi" class="compressed">
<table border="0" cellpadding="0" cellspacing="3" width="100%">
<tr>
<td background="liteblue.gif" height="12"> </td>
</tr>
<tr>
<td nowrap><a href="javascript:loadhelp('DIAG_diag','rtable')" tabindex="-1"><b>Mostra tabella di routing</b></a></td>
</tr>
<tr>
<td colspan="3" align="right"><input type="submit" name="display" value=Mostra></td>
</tr>
<tr>
<td nowrap height="12"> </td>
</tr>
<tr>
<td nowrap background="liteblue.gif" height="12"> </td>
</tr>
</table>
</form>
<form name="reboot" method="POST" action="reboot.cgi" class="compressed">
<table border="0" cellpadding="0" cellspacing="3" width="100%">
<tr>
<tr>
<td nowrap><a href="javascript:loadhelp('DIAG_diag','reboot')" tabindex="-1"><b>Riavvia il router</b></a></td>
</tr>
<tr>
<td nowrap align="right"><input type="submit" name="button" value="Riavvia" ></td>
</tr>
<tr>
<td nowrap background="liteblue.gif" height="12"> </td>
</tr>
<tr>
<td colspan="2"><a href="javascript:loadhelp('DIAG_diag','save')" tabindex="-1"><b>Save diagnostics information</b></a></td>
</tr>
<tr>
<td nowrap align="right">
<input type="BUTTON" name="save" value=" Backup " onclick="window.location.href = 'MBRN3000_usb_device_info';">
</td>
</tr>
<!--
<tr>
<td nowrap background="liteblue.gif" height="12"> </td>
</tr>
<tr>
<td colspan="2"><a href="javascript:loadhelp('DIAG_diag','scan')" tabindex="-1"><b>Scan available command port</b></a></td>
</tr>
<tr>
<td nowrap align="right">
<input type="submit" name="button" value="Scan">
</td>
</tr>
-->
<!--
<tr>
<td nowrap align="right"><input type="BUTTON" name="dump" value="Dump AT Command" onclick="openDataSubWin('WWAN_Log.htm','width=560,height=400,scrollbars,status=yes,resizable=yes');">
</tr>
-->
</table>
</form>
<p>
</p>
</body>
</html>