Pagine

mercoledì 18 febbraio 2015

Script PowerShell per SNR TP-Link W8960N v5

Dopo il NetGear DGN2200 v1 ed il TP Link W8960N v4, in questo articolo troverete un altro script sempre PowerShell per la gestione del router W8960N v5 della TP-Link.
Come i router citati anche questo è equipaggiato con un chip adsl Broadcom, versione 6318, quindi i comadi sono simili; purtroppo con questa versione del router non funzionano i comandi per l'accensione e lo spegnimento del wifi.
Preciso che nessuna modifica apportata con lo script è definitiva, pertanto verrà annullata al successivo spegnimento/ravvio del router.

Ecco cosa è possibile fare con lo script:


digitando il numero dell'opzione che interessa e premendo Invio vengono mandati i relativi comandi al router.

REQUISITI FONDAMENTALI affinchè tutto funzioni correttamente è che sia installato PowerShell 2.0 nel sistema, che sia abilitata l'esecuzione degli script PS1 e che PowerShell abbia accesso all'indirizzo 192.168.1.1. Leggete l'articolo sul DGN2200 v1 citato all'inizio per ulteriori informazioni.

Se avete personalizzato la password di accesso all'interfaccia web del router dovete provvedere ad inserirla nello script in quanto vi sono memorizzati username e password di default (admin admin).
Per farlo fate clic destro sul file dello script (W8960Nv5.ps1) e scegliete Modifica, si aprirà PowerShell ISE, andate alla riga 63 e modificate admin con la password da voi impostata:


Un'altra modifica da apportare allo script è l'inserimento del nome dell'interfaccia WAN utilizzata dal router per la connessione, serve per comando di cambio indirizzo IP. Aprite il pannello di configurazione del router e andate in Device Info -> WAN, di seguito evidenziato il nome dell'interfaccia (se il router è connesso è contrassegnata come Link up)


quindi provvedete ad editare lo script come visto in precedenza ed andate alla riga 34


sostituendo a pppoa0 il nome della vostra interfaccia. Va modificato il nome dell'interfaccia anche alle righe 72 e 74. Quando fatto salvate e chiudete PowerShell ISE.

Ho scelto di implementare il comando per l'abbassamento del SNR di 3dB per favorire la stabilità della linea; nulla vi vieta di modificarlo per abbassarlo ulteriormente.
Dopo aver aperto PowerShell ISE portatevi alla riga 37:


quindi modificate il valore 50 a vostro piacimento. Salvate e chiudete.

Il TP Link W8960N v5 supporta un comando interessante: adsl profile --save consente di salvare il valore del target noise impostato tramite i comandi dello script, mantenendolo anche in caso di spegnimento o riavvio del router. Per questo motivo ho preferito non implementarlo nello script, chi lo volesse utilizzare può inviarlo dopo essersi collegato al router via Telnet.
Per ripristinare il valore di target noise previsto dal profilo ADSL consiglio un reset alle impostazioni di fabbrica.

Nell'archivio troverete anche un'icona del router da me creata.

Download W8960Nv5.zip

19 commenti:

  1. Riesci a fare uno script anche per archer d5?

    RispondiElimina
  2. Nonostante abbia chip Broadcom l'Archer D5 non supporta i comandi via telnet per la variazione di snr

    RispondiElimina
  3. Ciao Massimo,

    ho configurato al meglio il TP-Link W8960N v5.
    Ho abbassato gli SNR di 3dB, con ottimi risultati di stabilità.

    Ho un problema però con il salvare la configurazione. Dando il comando "adsl profile --save" non succede nulla. Ho riavviato il modem per provare e ho visto che i settaggi snr erano stati ripristinati.

    p.s. ho provato a modificare il comando con "xdslctl profile --save" ma ha mandato in tilt il modem e ho dovuto riconfigurarlo da capo.

    In cosa sbaglio? Grazie

    Write-Host ' 1 - Cambio indirizzo IP ' -For White
    Write-Host ' 2 - Disconnetti ADSL ' -For Gray
    Write-Host ' 3 - Riconnetti ADSL ' -For Gray
    Write-Host ' 4 - Margine SNR -3dB ' -For Red
    Write-Host ' 5 - Margine SNR +3dB ' -For Green
    Write-Host ' 6 - Margine SNR default ' -For Yellow
    Write-Host ' 7 - Salva profilo adsl ' -For Yellow
    Write-Host ' R - Riavvio router ' -For White
    Write-Host ' INVIO per uscire ' -For DarkGray
    Write-Host ' ─────────────────────────── ' -For Cyan
    Options
    }


    Function Options {
    $command = "0"
    $o = Read-Host " Seleziona "
    switch ($o)
    {
    1 {$command = "ppp config ppp0.1 down"}
    2 {$command = "xdslctl connection --down"}
    3 {$command = "xdslctl connection --up"}
    4 {$command = "xdslctl configure --snr 50"}
    5 {$command = "xdslctl configure --snr 150"}
    6 {$command = "xdslctl configure --snr 100"}
    7 {$command = "adsl profile --save"}
    R {$command = "reboot"}

    RispondiElimina
  4. Prova a dare il comando dalla console telnet...

    RispondiElimina
  5. Sinceramente non so darti una risposta precisa. Leggo di persone che sono riuscite ad intervenire su SNR e altre no. Il problema è che se vengono rilevati abbassamenti di snr o disconnessioni spesso ti viene impostato automaticamente un profilo più conservativo per la stabilità.

    RispondiElimina
  6. si riesce a modificare anche l'SNR un upload?

    RispondiElimina
  7. No, quello lo può fare solo il provider cambiando il profilo sul DSLAM

    RispondiElimina
  8. Ciao skynet81.
    Innanzitutto complimenti e grazie per lo script, lo trovo molto molto utile.
    Lo script funziona veramente bene, ma vorrei chiederti se secondo te c'è modo di eseguire il comando "reboot" da Android, hai qualche idea? Il caso d'uso è il classico "sono sul divano e non funziona bene internet... "ok google, riavvia adsl!"... Ho pensato a Tasker, ma non so che comandi script eseguire da Android.
    Grazie!

    RispondiElimina
  9. Sono sempre io, sono riuscito nella mia missione usando questa app:
    https://play.google.com/store/apps/details?id=com.asif.plugin.sendexpect

    RispondiElimina
  10. Ciao e grazie per i complimenti ed il tuo suggerimento!
    Io usavo la app Telnet

    RispondiElimina
  11. Ciao e grazie mille per tutto. Ho Infostrada 20Mb ad una distanza notevole dalla centrale e aggancio massimo a 14. Ho utilizzato questo script e ho portato la banda ad oltre 15. Modificando il valore snr a 1 arriva a quasi a 18Mb e rimane stabile. Ogni 2/3 giorni però ritorna a 14 (stranamente senza disconnessione, cioè il timer mi dice linkup 3 giorni 16 ore etc...). Insomma ho bisogno di 2 informazioni:
    1 - perchè abilitando telnet dal pannello di controllo sul Win7 poi dal command.com se scrivo telnet 192.168.1.1 mi dice che telnet non è un programma riconosciuto.
    2 - come modifico (se possibile) il tuo script in modo da fargli salvare il profilo snr 1?

    Grazie ancora

    RispondiElimina
  12. Ciao, per la domanda 1) probabilmente non hai telnet installato nel sistema, dovresti andare in installazione applicazioni -> aggiungi/rimuovi componenti di windows, spuntare Client Telnet e dare applica.
    Poi ti puoi connettere con telnet, per salvare il profilo con snrm a 1 una volta che l'hai settato dai il comando adsl profile --save

    RispondiElimina
  13. Ciao, ho risolto inviando pkgmgr /iu:"TelnetClient" sul Cmd e sono riuscito a salvare il profilo. Tutto ok. Grazie ancora

    RispondiElimina
  14. ciao Skynet,
    ho provato ad utilizzare telnet per mantenere le impostazioni, ma una volta che do la riga di comando, mi chiede login metto admin , ma la password non me la fa scrivere! cioè proprio premo i tasti ma non compare nulla
    Una cosa, nel modem, sai quando va cambiata l'interfaccia ho notato che vedo questo: https://drive.google.com/open?id=0B1tEhEQhab83Z0dlaTgtc3ZrUnM


    RispondiElimina
  15. un'altra cosa, il parametro snr 50
    hai scritto di cambiarlo a piacimento
    ma in che modo viene interpretato il numero dal programma?

    RispondiElimina
  16. visto che ti sto disturbando tanto vale approfittarne XD
    che mi dici di questo?
    https://drive.google.com/open?id=0B1tEhEQhab83TWVTc1U3ZEVDazQ

    RispondiElimina
  17. E' normale che non venga visualizzata la password.. questione di sicurezza... se la digiti giusta e dai invio, potrai dare i comandi successivi.
    Prova a seguire queste indicazioni per il parametro per snrm
    http://i61.tinypic.com/2con3hw.jpg
    A quei test non farei eccessivo affidamento.. possono dipendere da un bug del firmware del router o dal fatto che hai ppoe al posto di pppoa.. se la connessione funziona non farti problemi

    RispondiElimina
  18. grazie mille :)
    risposte chiarissime a tutte le mie perplessità , thanks!

    RispondiElimina
  19. ora attendo che mi metteranno la 20 mega prima di abbassare l'snr
    volevo farti una ultima domanda, prima di renderlo "fisso" con telnet, devo stare attendo a come si comporta la linea con le disconnessioni e basta?
    sentivo su tom's che bisogna tenere d'occhio anche gli errori segnati dal modem?

    https://drive.google.com/file/d/0B1tEhEQhab83N1FJTHVqYWdCS0U/view

    di questi quali devo guardare? quelli in fondo?
    Giusto per capire cosa indica oltre alle disconnessioni se i 6db "garbano" alla mia linea
    Thanks :)

    RispondiElimina