Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 30
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    115

    [BATCH]: gestire e controllare connessione EDGE

    Salve a tutti.

    Mi connetto ad internet utilizzando il cellulare come modem.
    Si tratta di una connessione EDGE e come operatore ho Tim.
    Il cellulare è un Nokia 6230 e lo collego al portatile attraverso il cavetto usb "DKU-2".

    Le connessioni Edge sono famose per soffrire instabilità, a parte altri problemi di banda (poca)

    e tempi di latenza elevati (siamo a cica 500 ms, su maya.ngi.it).Utilizzo questa connessione da

    anni, ormai e ho notato un comportamento singolare:
    casualmente, a volte, la connessione si inchioda, cioè resta come addormentata, senza

    disconnettersi, ma non si riesce più a scambiare dati.

    La soluzione manuale che adotto di solito è "disconnetti e riconnetti", ma non è sufficiente

    perchè la riconnessione non va a buon fine (ora non ricordo il codice d'errore...), il cellulare

    resta ancora bloccato e sul display in alto a sinistra vi è ancora la G inscritta in un

    quadrato, che indica che il telefono è ancora connesso. Importante notare che la connessione di

    rete termina in modo normale, è solo il telefono che resta ancora bloccato.

    Nel tempo ho provato diverse "manovre"...in particolare se disconnetto, chiamo un numero

    telefonico qualsiasi (io chiamo sempre il 4916 che è il numero delle info della tim...quindi

    gratutito), riaggancio, a questo punto se riprovo a connettermi al numero giusto ("*99***1#")

    facendo partire la connessione di rete corrispondente, allora si riconnette.

    A volte, ma raramente, anche questa operazione fallisce, in tal caso si può staccare il cavetto

    dalla porta usb e riattaccarlo. Così facendo, se mi connetto funziona nuovamente. Anche questa

    operazione a volte non funge (molto, ma molto raramente...) e quindi non resta altra soluzione

    che spegnere e riaccendere il cellulare. L'ultima spiaggia, se continua a non funzionare è

    riavviare il computer.

    Spero di essermi spiegato.

    Ora, il problema è semplice:
    capita a volte di lasciare il portatile acceso a scaricare, quando non sono presente:

    inparticolare durante la notte e c'è il rischio (quasi sicuro...) che in così tanto tempo (10

    ore per esempio), la connessione si inchiodi, semza disconnettersi e senza funzionare. Mi è

    capitato spesso di trovare al mattino la connessione in questo stato pietoso.
    Siccome il piano tariffario della tim, che ad oggi si chiama "maxi tim web time richarge",

    permette di scambiare 9 GB/mese col server durante la fascia oraria 17:00 ----> 9:00, volendo

    scaricare qualcosa di grosso è chiaro che la notte và sfruttata tutta (e non posso di certo

    stare lì a riconnettere quando va in panne).

    Ecco che allora nasce l'esigenza di scrivere un piccolo script in grado di stabilire se la

    connessone è inchiodata e di effettuare eventualmente tutta una serie di manovre per sbloccare

    il telefono e riconnettersi. Lo script viene utilizzato come operazione oianificata e fatto

    girare ogni tot minuti (esempio 5 minuti, 10, come si vuole...)
    Già da tempo ho scritto questo script, che effettivamente ha sempre funzionato, permettendomi di

    sfruttare tutto il tempo che il piano tariffario mette a disposìzione.

    Adesso vorrei migliorarlo in un suo aspetto: veniamo al sodo.

    operazioni da svolgere:


    1- invia un ping ad un sito
    2- se la risposta non è positiva (in pratic trovi "100% persi")
    3- disconnetti--> rasdial edge_tim /d
    4- chiama il 4916: rasdial edge_tim /phone:4916 (il 4916 non può rispondere ad una chiamata

    dati, quindi esce con un, errore...non importa, serve solo per sbloccare i telefono...)
    5- riconnetti: rasdial edge_tim


    Queste operazioni sono la sequenza ridotta all'osso, per far capire il concetto, nella pratica

    lo script effettua qualche operazione in più: ci sono alcuni choce qua e la per attendere lo

    sblocco ecc ecc, ma nella sostanza la serie di operazioni è quella.

    Va sottolineato ancora un aspetto importante:

    quando, appena disconnesso, chiamo il 4916 con rasdial, questa operazione termina subito e il

    cell emette un bip strano (come dire "sono ancora bloccato"). Attendendo alcuni secondi, circa

    10, 15 (ma è random, dioende di volta in volta) il cell emette un'altro bip (come dire "mi sono

    sbloccato"...e in fatti controllando il display si vede connessione dati terminata.). Il fatto

    curioso avviene a questo punto:

    se ora passassi all'operazione numero 5, benchè il telefono è sbloccato, la connessione non

    avverrebbe e se ne uscirebbe con un errore di rasdial.
    per evitare questo è necessario chiamare ancora una volta il 4916, ma questa volta il telefono è

    sbloccato e termina l'operazione con un errore, ma senza che il cellulare emetta il bip di

    prima.
    A questo punto si può riconnettere normalmente. Chiarito questo, vi riscrivo le operazioni:


    1- invia un ping ad un sito
    2- se la risposta non è positiva (in pratic trovi "100% persi")
    3- disconnetti--> rasdial edge_tim /d
    4- chiama il 4916: rasdial edge_tim /phone:4916 (l'operazione termina istantaneamente con un

    errore ed il telefono emette un bip)
    5- aspetta che si sblocchi il telefono---> choice /t:Y,10 (si spera che in 10 secondi si sia

    sbloccato...non è detto, in tal caso alla prossima operazione il telefono emmette ancora il bip)
    6- chiamo il 4916 (se il telefono è sbloccato non emette bip, altrimenti sì e occorrera

    aspettare ancora che si sblocchi e quindi richiamare ancora una volta il 4916 ecc ecc....si può

    fare con un if...magari gurdando il codice d'errore nei due casi: quando fa bip e quando no...)
    7- telefono di nuovo attivo (si spera)-----> riconnetti: rasdial edge_tim


    Come potete vedere è tutto abbastanza spartano....ma alla fine efficace. Dove voglio

    migliorarlo?

    vorrei cambiare qualcosa nell'operazione 6:

    Il telefono è sbloccato e richiamo il 4916: è un'operazione lunga ed è inutile portarla a

    termine, ho notato, dando i comandi a mano che loperazone 6, si può interrompere con un bel

    ctrl+c e tutto funziona ugualmente.
    In teoria si potrebbe automatizzare questa operazione di interruzione, demandando l'operazione 6

    ad un bat figlio e quindi uccidendo il processo ad esso corrispondente dopo pochi secondi.
    Ne ho già discusso in un altro post:

    http://forum.html.it/forum/showthrea...readid=1069692

    il problema è che così facendo non si riesce più a connettersi, perchè all'operazone 7 dà un

    errore dicendo che la connessione è già in uso....boh....
    Manualmete si può risolvere solo staccando la presa usb e riattaccandola, ma automaticamente non

    saprei.
    Se avete idee, precisazioni, domande per chiarire (probabili...), fatemi sapere.

    Ringrazio in anticipo risposte ed interventi. A risentirci.

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    115
    Vediamo di semplificare un po' la situazione affrontando un problema alla volta.

    Consideriamo il caso seguente:

    - stato del telefono: sbloccato
    - operazioni necessarie per la riconnessione:

    a- rasdial edge_tim /phone:4916
    b- ctrl+c
    c- rasdial edge_tim

    Problema come simulare il "ctrl+c" ?

    Un'idea funzionante è la seguente:

    si potrebbe scrivere un file bat "pro.bat" padre che lancia il processo figlio contenete l'operazione (a) e lo uccida dopo pochi secondi simulando l'operazione (b), quindi passi all'operazione (c).

    ______________________
    pro.bat (processo padre)
    -------------------------
    start "pippo" ras.bat
    choice /t:y,3
    taskkill /FI "windowtitle eq pippo - ras.bat" /IM cmd.exe /F /T
    choice /t:y,2
    rasdial edge_tim
    -------------------------



    ______________________
    ras.bat (processo figlio)
    -------------------------
    rasdial edge_tim /phone:4916
    -------------------------



    Ecco che in questo modo la simulazione del ctrl+c funziona:
    il processo padre lancia "ras.bat", che è piuttosto lungo come tempo (questo perchè abbiamo ipotizzato il telefono sbloccato, quindi in pratica non dà il beep).
    Dopo tre secondi lo uccide terminando sia la finestra di "ras.bat" che l'operazione "rasdial" in corso.
    Adesso mi aspetto che riconnettendosi normalmente la connessione funzioni normalmente, almeno dando il ctrl+c a mano e poi il "rasdial edge_tim", funziona tutto bene.

    Nonostante la mia speranza, invece, quando lo script arriva all'ultimo comando "rasdial edge_tim", la connessione non si stabilisce e ritorna un messaggio d'errore dicendo che la connessione è già in uso......grrrr....
    Se a quel punto provo, a mano, a dare diversi comandi:
    - "rasdial edge_tim /d": risposta: nessuna connessione in esecuzione
    - "rasdial edg_tim /phone:4916": risposta: connessione già in funzione
    - "rasdial edge_tim": risposta: risposta: connessione già in funzione

    Eppure la connessione non è in funzione...sono messaggi un po' discrdanti, non travate?

    un'ipotesi potrebbe essere che uccidendo il processo ras.bat e tutti quelli da lui generati, si sopprima anche qualche altro processo, che ignoro, del quale magari abbia bisogno l'utility rasdial per funzionare...ma non saprei.



    Se a vete idee, ditemi pure.

  3. #3
    E se provi a terminare il processo che utilizza il cell e poi fare tutto il resto?
    Mi spiego:
    Se termini (nel mio caso) LAUNCH~1.EXE (forse SERVIC~1.EXE anche) che credo sia il nokia pc suite e poi lo dopo averlo riavviato fai le operazioni su elencate?
    Experience is what you get when you don’t get what you want

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    115
    Ciao!

    Allora, potrebbe essere un'idea interessante....se solo sapessi il nome del processo che utilizza il cellulare. Beata ignoranza...

    Ora sono connesso e nel taskmanager c'è un processo che ha nome immagine "SERVICES.EXE".
    Non ho la minima idea di come fare a riconoscere se è o no il processo in questione.

    Vorrei farti anche un'altra domanda....mi pare che anche tu attacchi il cell al pc....Ma lo usi come modem per connetterti oppure solo per gestire messaggi rubrche etc? perchè da quello che ho capito io, sono due cose differenti a livello di software....cioè per usarlo come modem non è necessario Nokia_pcsuite, che io non ho mai usato, tra l'atro....l'ho installato silo perchè comprendeva i driver del cavetto dku-2.....almeno mi pare di ricordare così (ma non ci giurerei...).

    Arrisentirci e grazie dell'intervento.

  5. #5
    Si, non lo uso per navigare
    Per vedere se effettivamente è quello il processo devi, prima di tutto, controllare chi è l'utente (deve essere il tuo n.u. naturalmente), poi io ho fatto 1 po' di prove terminando il processo e guardando l'esito dell'operazione...
    Certo nn è il miglior modo di operare :rollo:
    Ci sono in rete però numerosi programmi (o comandi) per sapere tutto (nei limiti) di un processo...
    Un esempio:
    http://www.sbontolo.com/?q=autoruns_...vio_di_windows
    Experience is what you get when you don’t get what you want

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    115
    Allora, con la connessione attiva ho avviato task manager e ho interrotto tutti i processi che hanno il mio nome utente, a parte quelli riguardanti le applicazioni che ho sotto il naso come il browser, EXPLORER.EXE, il mulo, e lo stesso taskmngr.exe.

    Mi pare proprio che non ci sia nessun processo che governa il modem. Almeno non sono io l'utente che l ha fatto partire......potrebbe essere sotto i processi syste o servizio locale o di rete? boh.....

  7. #7
    Probabile
    Experience is what you get when you don’t get what you want

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    115
    Ma non è possibile che non ci sia un prcesso che governa il cell....???

    Deve esserci per forza?

  9. #9
    Probabile
    Intendevo probabile che sia di sistema :master:
    Experience is what you get when you don’t get what you want

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    115
    Si, si, questo l'avevo capito, ma capisci bene che è più facile cercare qualcosa che si è sicuri che ci debba essere per forza.....

    Potrebbe essere che non esista un processo che gestisce il cellulare, oppure ci deve essere per forza?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.