Modo d'uso.

Come utilizzare il programma.

Che Iddio Ce La Mandi Buona ("CICLaMaB") invia al modem/router i file Kernel e/o Filesystem (ed eventualmente, config.xml) per modificarne il funzionamento.
L'impiego è abbastanza semplice, anche se è evidente che bisogna almeno sapere di cosa si stà parlando...
Tramite i pulsanti [image] è possibile scegliere il/i file da inviare. Al momento della scelta verrà effettuato un controllo formale sulla validità, relativa al tipo di file, e alle dimensioni rispetto alle relative partizioni.
Attenzione!
E' fondamentale possedere nozioni base di networking!
Siate modesti! Non è una operazione difficile, ma occorre sapere quello che si sta' facendo!

N.B.
Anche se non si è scelto alcun file le operazioni di Autoload, set mtd, Backup e Defrag ENV (se selezionate) verranno comunque eseguite.

Passi da compiere per un invio tipo:

  • Se è la prima volta che il programma viene eseguito, verrà chiesto di scegliere il modello di modem/router da utilizzare e a quale indirizzo IP trovarlo.
    • Impostando, ad esempio, 192.168.1.1 il PC dovrà avere 192.168.1.X dove X va' da 2 a 254. Nel caso dell'esempio dagli indirizzi possibili per il PC si esclude 1 perché lo utilizza il modem/router.
      Si può utilizzare l'indirizzo IP che si desidera!
      Corretto
      IP modem/router | IP Computer | Gateway Computer
      192.168.1.1 | 192.168.1.2 | 192.168.1.1
      10.8.8.8 | 10.8.8.32 | 10.8.8.8
      100.100.100.100 | 100.100.100.1 | 100.100.100.100

      Errato
      IP modem/router | IP Computer | Gateway Computer
      192.168.1.1 | 192.168.1.1 | 192.168.1.1
      192.168.1.0 | 192.168.1.2 | 192.168.1.2
      10.8.8.8 | 192.168.0.1 | 10.8.8.8
      192.168.1.1 | 192.168.1.2 | 192.168.1.2
    • L'indirizzo IP del modem/router in funzionamento normale (192.168.1.1) e l'indirizzo del modem/router in fase di aggiornamento con CICLaMaB (accesso ad ADAM2) sono due cose distinte!

  • Selezionare (con i pulsanti [image] ) il/i file da inviare al modem/router (questa operazione può essere effettuata anche dopo il punto 5).
  • Dopo avere scollegato il cavo ADSL (linea telefonica) spegnere il modem/router e attendere circa un minuto. Premere il pulsante Connessione e, quando richiesto, accendere il modem/router.
  • Se il collegamento và a buon fine verranno mostrate alcune informazioni relative al modem/router e il pulsante Connessione verrà sostituito con Esegui
  • Controllare che il modello di modem/router riportato sulla barra del titolo della finestra sia quello posseduto (in caso contrario andare su Partizioni).
  • Premere il pulsante Esegui e attendere la fine delle operazioni.
  • Alla fine, se è stata selezionata l'opzione reboot, il programma invia il comando "REBOOT" al modem/router che si riavvierà.
  • Solo se l'indirizzo del PC è stato cambiato. Ripristinare l'indirizzo originale (vedi punto 1.). Se il computer era configurato per ottenere un indirizzo automaticamente (DHCP) invece di uno statico, si dovrà impostarlo in questo modo.

Maschera principale


C.I.C.LaMa.B.

 Menu Nome file di 'Kernel'. File 'Kernel' recenti. Seleziona il file da inviare come 'Kernel'. Cancella il contenuto del campo 'Kernel'. Nome file di 'Filesystem'. File 'FileSystem' recenti. Seleziona il file da inviare come 'FileSystem'. Cancella il contenuto del campo 'FileSystem'. Nome file di 'Kernel+Filesystem' su file singolo. File 'Firmware' recenti. Seleziona il file da inviare come 'Firmware'. Cancella il contenuto del campo 'Firmware'. Nome file di 'Config'. Doppio clic: Inserisce 'Empty' per l'azzeramento della configurazione. File 'Config' recenti. Apre l'editor per il file config selezionato. Inserisce 'Empty' per l'azzeramento della configurazione. Seleziona il file da inviare come 'Config'. Cancella il contenuto del campo 'Config'. Attiva/Disattiva la modifica delle dimensioni delle partizioni mtd0 e mtd1. Attiva/disattiva il salvataggio dei file in uso sul modem/router. Attiva/Disattiva la deframmentazione di ENV. Attiva/Disattiva l'impostazione della variabile 'autoload'. Attiva/Disattiva Attiva l'invio del comando 'REBOOT' al modem/router. Attiva/Disattiva Attiva l'eliminazione della partizione MTD4. Modifica le impostazioni delle dimensione della partizione. Modifica dell'ambiente 'ENV'. Inizia la connessione al modem/router. Finestra di debug. Doppio click cancella la finestra. Uscita dal programma. Mostra l'ultimo comando eseguito. Mostra lo stato della connesione di rete.

Maschera principale.

Alla partenza del programma, se non si è disabilitata la notifica, verrà mostrata una maschera (fig. 1) dove si dovrà impostare quale scheda e quale indirizzo di rete utilizzare per contattare il modem/router.
fig. 1

Subito dopo, se l'indirizzo IP della macchina non appartiene alla giusta classe di indirizzi (vedi 1.a) e non si è disabilitata la notifica verrà mostrata una maschera di avviso (fig. 2).
fig. 2

Top Tasti funzione:
Premendo il tasto funzione F2 viene mostrata la finestra delle opzioni.
Premendo il tasto funzione F8 viene attivata la finestra del debugger seriale.
Premendo il tasto funzione F9 viene attivata la finestra della GUI Debrick.
N.B.
Quando viene avviata la GUI Debrick se la finestra del debugger seriale è attiva, quest'ultima viene chiusa.

Top Connessione:
Premendo questo pulsante si inizia il tentativo di connessione con il modem/router.
Prima di premere il pulsante il modem/router deve essere spento da circa un minuto.
Il programma inizierà a spedire dei pacchetti UDP per impostare l'indirizzo IP scelto sul modem/router. Terminata questa fase appare la barra indicatrice del tempo che manca al "timeout" della connessione (30 secondi).
A connessione avvenuta il pulsante scompare e viene sostituito dal pulsante Esegui.

Top Percorso e file del Kernel:
Mostra il percorso e il nome del file che verrà inviato come Kernel.
Nel caso in cui non contenga dati il programma non tenterà l'invio del Kernel.

Top Scelta del file per il Kernel:
Richiama la finestra di selezione del file da utilizzare come Kernel.
Se il campo è vuoto la finestra di scelta del file si posizionerà sulla directory dove risiede il programma.

Top Vuota il campo del file per il Kernel:
Cancella il contenuto del campo che indica il file per il Kernel

Top Percorso e file del Filesystem:
Mostra il percorso e il nome del file che verrà inviato come Filesystem.
Nel caso in cui non contenga dati il programma non tenterà l'invio del Filesystem.

Top Scelta del file per il Filesystem:
Richiama la finestra di selezione del file da utilizzare come Filesystem.
Se il campo è vuoto la finestra di scelta del file si posizionerà sulla directory dove risiede il programma.

Top Vuota il campo del file per il Filesystem:
Cancella il contenuto del campo che indica il file per il Filesystem

Top Percorso e file del Firmware:
Mostra il percorso e il nome del file che verrà inviato come Firmware.
Nel caso in cui non contenga dati il programma non tenterà l'invio del Firmware.

Top Scelta del file per il Firmware:
Richiama la finestra di selezione del file da utilizzare come Firmware.
Se il campo è vuoto la finestra di scelta del file si posizionerà sulla directory dove risiede il programma.

Top Vuota il campo del file per il Firmware:
Cancella il contenuto del campo che indica il file per il Firmware

Top Percorso e file del Config:
Mostra il percorso e il nome del file che verrà inviato come Config.
Nel caso in cui non contenga dati il programma non tenterà l'invio del Config.
Premendo due volte di seguito sul campo, questo verrà riempito con la stringa Empty.
In questo caso, al momento dell'invio dei dati, la configurazione contenuta in "mtd3" (env+config) verrà azzerata.
Attenzione!
L'operazione potrebbe essere pericolosa!

Top Inserisce 'Empty' per l'azzeramento della configurazione:
Premendo il pulsante il campo che indica il file per il Config verrà riempito con la stringa Empty. Se non si è disabilitata la notifica verrà mostrata la maschera di fig. 3. In questo caso, al momento dell'invio dei dati, la configurazione contenuta in "mtd3" (env+config) verrà azzerata.
Attenzione!
L'operazione potrebbe essere pericolosa!
fig. 3

Top Scelta del file per il Config:
Richiama la finestra di selezione del file da utilizzare come Config.
Se il campo è vuoto la finestra di scelta del file si posizionerà sulla directory dove risiede il programma.

Top Vuota il campo del file per il Config:
Cancella il contenuto del campo che indica il file per il Config

Top File recenti:
Mostra una lista a discesa, relativa al campo selezionato, contenente gli ultimi cinque file caricati.

Top Set mtd:
Al momento dell'invio dei file, se attivo, imposta le variabili del modem/router "mtd0", "mtd1","mtd2" e "mtd3" che indicano la grandezza delle partizioni.
Come Autoload il comando viene inviato anche se non si è selezionato alcun file.
Attenzione!
L'operazione potrebbe essere pericolosa!

Top Backup:
Quando è attivo , con almeno una delle voci del sotto-menu di "Opzioni Backup" (fig. 4) attivata, salva gli elementi selezionati nella sotto-directory "Backup" prima di inviare i nuovi file.
Se il modello di modem/router impostato richiede il file di configurazione in formato binario, la voce "Config.XML" non verrà mostrata.
Nel caso in cui nessuna delle voci sia selezionata, la funzione stessa risulterà disabilitata.
fig. 4

Top Deframmentazione ENV:
Al momento dell'invio dei file, se attivo, il contenuto delle variabili di ambiente viene salvato, azzerato e ripristinato con i valori salvati. In questa maniera viene ridotto lo spazio utilizzato.
Se è stato impostato l'azzeramento della configurazione, la deframmentazione verrà disabilitata

Top Set autoload:
Al momento dell'invio dei file, se attivo, imposta la variabile del modem/router autoload=1 consentendo al modem/router di eseguire il boot.
Da attivare nel caso in cui il modem/router, dopo il "reboot", mostri solo il LED di "power" acceso.
Come Set mtd il comando viene inviato anche se non si è selezionato alcun file.

Top Invia il comando REBOOT:
Alla fine delle operazioni se il processo è avvenuto correttamente, anche se non si è selezionato alcun file, viene normalmente inviato al modem/router il comando REBOOT (riavvio).
Per eseguire dei test (esempio: Modifiche di ENV) può essere utile non eseguire il riavvio del modem/router.

Top Eliminazione della partizione MTD4:
Alcuni firmware necessitano di una definizione aggiuntiva delle partizioni. Questa partizione, denominata MTD4, comprende tutta l'area di memoria della flash (esclusa l'area del bootloader). Alla fine delle operazioni questa partizione viene eliminata. Attivando questa opzione la partizione verrà lasciata per un eventuale uso futuro.

Top Area di debug:
In questa area vengono mostrati sia i comandi inviati al modem/router, sia le risposte ricevute.
Tutto quello che viene mostrato nell'area di debug viene scritto nel file "Session_aammgg_HHMMSS.log" che si trova nella cartella "Log". Nel caso in cui dal menu venga selezionato "Log esteso", verranno inserite ulteriori informazioni nel file di log.
Premendo il pulsante destro viene mostrato un menu contestuale (fig. 5) che consente di copiare il contenuto dell'area di debug nella "Clipboard", cancellarlo, cancellare il contenuto del file di log o visualizzare il contenuto del file di log.

N.B.
Le voci "Azzera file di log" e "Visualizza file di log" compaiono solo se il file di log è abilitato.
fig. 5

Top Gestione dei file di log:
Questo sottomenu (fig. 6) gestisce il funzionamento dei file di log.
Il programma crea un file di log per la parte principale, uno per il debug seriale e uno per la GUI del debrick.

  • Nessun log
    I file di log non vengono creati.
  • Log normale
    Vengono creati e riempiti i file di log.
  • Log esteso
    Come sopra. In più vengono aggiunte righe di log per operazioni normalmente non tracciate.
fig. 6

Top Barra di stato:
Mostra la descrizione dell'ultimo comando inviato al modem/router o l'operazione in corso.

Top Stato della rete:
Mostra lo stato della connessione di rete per la scheda in uso.

Top Uscita:
Se non si è disabilitata la notifica verrà mostrata una maschera di avviso (fig. 7).
Non è possible uscire dal programma durante le fasi salienti (lettura/scrittura dal modem/router). Se al momento della chiusura il programma rileva che il modem/router è ancora collegato e non si è riavviato, verrà richiesta la conferma di invio del comando "REBOOT".
fig. 7

Top menu Strumenti:
Questo menu (fig. 8) contiene una serie di strumenti.

  • Crea Firmware
    Attivo solo se i campi Kernel e Filesystem contengono entrambi un file.
    Se il modello di modem/router selezionato è del tipo "manuale" il Firmware viene così generato:
    • | Kernel | PAD | Filesystem |

    Altrimenti il Firmware è preceduto da una intestazione:
    • | Intestazione | Kernel | PAD | Filesystem |

  • Crea Firmware - no Pad
    Attivo solo se i campi Kernel e Filesystem contengono entrambi un file.
    Il Firmware viene così generato:
    • | Intestazione | Kernel | Filesystem |

  • Dividi Firmware
    Attivo solo se il campo Firmware contiene un file.
    La funzione è in grado di separare sia i Firmware con intestazione, sia quelli senza.

  • Azzera MTD3
    Attivo solo dopo la connessione al bootloader.
    La funzione è in grado di cancellare tutto il contenuto di mtd3 (env+config).
fig. 8

PAD:
Sequenza di byte con valore 0. Il numero di byte è calcolato in base alle dimensioni delle partizioni.


Menu

 Scelta della lingua utilizzata. Scelta dell'aspetto del menu. Mostra questa finestra di aiuto. Mostra una finestra di informazioni. Ricerca gli aggiornamenti del programma.

Menu.

Top menu File:

Top menu Impostazioni:

Top menu Debug:

Top menu Operazioni:

Top menu Strumenti:

Top menu Opzioni:

Top menu "?":


Gestione ENV

 Ordina alfabeticamente [A-Z] o [Z-A] Lista delle variabili di 'ENV' Consente la modifica del nome della variabile. Consente la modifica del valore della variabile. Salva le modifiche nell'ambiente 'ENV'. Annulla tutte le modifiche. Carica un file contenente l'ambiente 'ENV'. Salva su un file l'ambiente 'ENV'. Aggiungi una nuova riga. Elimina la riga selezionata.

Gestione dell'ambiente "ENV".

Top Ordina alfabeticamente:
Premendo il pulsante del mouse su questa riga si ordina alfabeticamente la colonna su cui si è posizionati.
La prima volta ordina da A a Z (indicatore [image]), alla seconda pressione del tasto ordina da Z ad A (indicatore [image]).

Top Lista delle variabili:
Contiene la lista delle variabili di ambiente con il relativo valore. Al momento della selezione il nome della variabile viene impostato dentro il campo Nome variabile e il valore dentro Valore.
Se una riga mostra il simbolo [image] significa che il campo ha un valore non valido.

Top Consente la modifica del nome della variabile:
In questo campo è possibile modificare il nome della variabile.
Se il nome della variabile contiene degli spazi, questi verranno convertiti nel carattere "_".
Attenzione!
Alterare i nomi delle variabili può portare il modem/router in uno stato inutilizzabile (es: modificare "my_ipaddress" non è una cosa intelligente...).

Top Consente la modifica del valore della variabile:
In questo campo è possibile modificare il valore della variabile.
Attenzione!
Alterare i valori delle variabili può portare il modem/router in uno stato inutilizzabile (es: modificare "mtd2" è una cosa veramente stupida da farsi!!!).

Top Salva le modifiche nell'ambiente 'ENV':
Spedisce al modem/router le variabili contenute nella lista delle variabili.
Se una o più variabili hanno il nome e/o il valore non validi viene mostrata una maschera di avviso (fig. 1).
fig. 1

Top Annulla tutte le modifiche:
Esce dalla gestione ambiente senza alterarne le variabili.

Top Carica da un file l'ambiente 'ENV':
Carica da un file i nomi con i relativi valori delle variabili di ambiente.
E' possibile utilizzare il file generato da CICLaMab come backup di 'ENV'.

Top Salva su un file l'ambiente 'ENV':
Salva in un file i nomi con i relativi valori delle variabili di ambiente.

Top Aggiunge una variabile:
Aggiunge una nuova variabile di ambiente (max 80).

Top Elimina una variabile:
Elimina la variabile di ambiente selezionata.
Attenzione!
L'operazione potrebbe essere pericolosa!


Gestione dei modelli di modem/router

 Lista dei modelli di modem/router. Gestione dei modelli di modem/router. Imposta il modello di router selezionato. Annulla la scelta del modello. Controlla l'esistenza dell'aggiornamento delle definizioni delle partizioni. Mostra le impostazioni delle partizioni mtd. Mostra il tipo di configurazione Mostra lo stato di 'Unset MTD4' Mostra lo stato della gestione 'manuale'

Gestione dei modelli di modem/router.

Prima della comparsa della maschera, se non si è disabilitata la notifica, verrà mostrata una maschera di avviso (fig. 1).
fig. 1

Top Lista dei modelli:
Contiene una lista di modem/router predefinita. Cambiando il modello verranno alterate di conseguenza le dimensioni, che saranno mostrate nell'area delle informazioni sulle partizioni.
Il nome del modello in uso verrà mostrato nel titolo della finestra principale del programma.
E' possibile aggiungere nuovi modelli, o modificare quelli esistenti, premendo il pulsante
Attenzione!
Non selezionare un modello differente da quello posseduto se non si è certi di quello che si fà!

Top Informazioni sulle partizioni:
Mostra le dimensioni delle partizioni per il modello selezionato.

Top Tipo di configurazione richiesto:
Mostra il tipo di configurazione (binario o XML) richiesto dal modello di modem/router selezionato.

Top Stato per 'Unset MTD4':
Mostra lo stato attivato/disattivato della scelta di eliminare la variabile MTD4 dopo l'invio dei file al modem/router per il modello selezionato.

Top Stato della gestione 'manuale':
Mostra lo stato attivato/disattivato della possibilità di impostare manualmente i primi due byte dell'indirizzo di memoria comune a mtd0 e mtd1, per il modello selezionato.

Top Imposta:
Il modello selezionato verrà memorizzato e utilizzato dal programma (modello e dimensioni).

Top Aggiorna:
Controlla l'esistenza sul sito di CICLaMaB di nuove definizioni per le partizioni dei modelli di modem/router.

Top Annulla:
Annulla la selezione del modello di modem/router.


XML Editor

 Lista degli elementi del config XML Consente la modifica dell'elemento XML Consente la modifica dell'eventuale valore dell'elemento Lista degli attributi Consente la modifica dell'attributo Consente la modifica del valore dell'attributo Menu File Menu Modifica Mostra il numero di figli del nodo selezionato.

Editor XML.

Top Lista degli elementi del config XML:
Mostra tutti i nodi del file XML. Se il file è in formato .bin viene convertito in XML per le modifiche e successivamente riconvertito.
Il nodo più interno viene rappresentato come una variabile con valore assegnato.
Esempio:
<syslog enable=1>/dev/log</syslog> viene visualizzato come in fig.1.
L'asterisco indica la presenza di attributi per questo elemento.

Top Consente la modifica dell'elemento XML:
Consente la modifica del nome dell'elemento (Tag). La modifica viene accettata dopo avere premuto il tasto Enter.
La modifica di questo valore attiva sia la funzione Ricarica, sia la funzione Undo.

Top Consente la modifica dell'eventuale valore dell'elemento:
Consente la modifica del valore dell'elemento (Tag). La modifica viene accettata dopo avere premuto il tasto Enter.
La modifica di questo valore attiva sia la funzione Ricarica, sia la funzione Undo.
Se si è selezionato un elemento Padre questo campo risulta disabilitato.

Top Lista degli attributi:
Mostra la lista degli attributi dell'elemento selezionato. Se l'elemento selezionato non contiene attributi questo campo risulta disabilitato.

Top Consente la modifica dell'attributo:
Consente la modifica del nome dell'attributo selezionato dall'elemento (Tag). La modifica viene accettata dopo avere premuto il tasto Enter.
La modifica di questo valore attiva sia la funzione Ricarica, sia la funzione Undo.

Top Consente la modifica del valore dell'attributo:
Consente la modifica del valore dell'attributo selezionato dall'elemento (Tag). La modifica viene accettata dopo avere premuto il tasto Enter.
La modifica di questo valore attiva sia la funzione Ricarica, sia la funzione Undo.

Top Menu File:

    Top Salva:
    Salva il file nel formato di origine.

    Top Salva come XML..:
    Salva il file in formato XML con un nome differente.

    Top Salva come BIN..:
    Salva il file in formato BIN con un nome differente.

    Top Crea backup del file:
    Se selezionato viene creato un file con lo stesso percorso e nome con l'aggiunta dell'estensione ".bak".
    Il file viene creato esclusivamente effettuando l'operazione Salva.

    Top Ricarica:
    Ricarica il file annullando tutte le modifiche.

Top Menu Modifica:

    Indietro Undo:
    Annulla l'ultima operazione. Sono previsti dieci livelli di Undo.

    Indietro Lista delle operazioni di Undo:
    Da questa lista (max 10 elementi) è possibile scegliere fino a quale operazione si desidera annullare.
    Per esempio, selezionando la voce numero "3" si annulleranno di conseguenza le operazioni "2" e "1".

    Indietro Menu Tag:
    Questo menu compare anche premendo il pulsante destro sulla Lista degli elementi.

      Indietro Inserisci:
      Inserisce un nuovo elemento nel file XML.

      Indietro Cancella:
      Cancella l'elemento selezionato dal file XML. Tutti i nodi Figlio verranno cancellati.

      Indietro Sposta in sù:
      Sposta un elemento del file XML verso l'alto. Tutti i nodi Figlio verranno spostati.

      Indietro Sposta in giù:
      Sposta un elemento del file XML verso il basso. Tutti i nodi Figlio verranno spostati.

      Indietro Cerca:
      Cerca una stringa all'interno degli elementi del file XML.

      Indietro Espandere tutti i nodi:
      Espande tutti i nodi del file XML.

      Indietro Contrarre tutti i nodi:
      Contrae tutti i nodi del file XML.

    Indietro Menu Valori:
    Questo menu compare anche premendo il pulsante destro sulla Lista degli attributi.

      Indietro Inserisci:
      Inserisce un attributo nell'elemento del file XML.

      Indietro Cancella:
      Cancella l'attributo selezionato dall'elemento del file XML.

Indietro Nodi:
Mostra il numero di nodi figlio del nodo selezionato.


Gestione Suoni

 Seleziona il file da suonare per "Partenza" (solo ".wav"). Seleziona il file da suonare per "Messaggio" (solo ".wav"). Seleziona il file da suonare per "Avviso" (solo ".wav"). Seleziona il file da suonare per "Informazione" (solo ".wav"). Seleziona il file da suonare per "Errore" (solo ".wav"). Seleziona il file da suonare per "Eseguito" (solo ".wav"). Seleziona il file da suonare per "Partenza". Seleziona il file da suonare per "Messaggio". Seleziona il file da suonare per "Avviso". Seleziona il file da suonare per "Informazione". Seleziona il file da suonare per "Errore". Seleziona il file da suonare per "Eseguito". Cancella il contenuto del campo "Partenza". Cancella il contenuto del campo "Messaggio". Cancella il contenuto del campo "Avviso". Cancella il contenuto del campo "Informazione". Cancella il contenuto del campo "Errore". Cancella il contenuto del campo "Eseguito". Prova del suono per "Partenza". Prova del suono per "Messaggio". Prova del suono per "Avviso". Prova del suono per "Informazione". Prova del suono per "Errore". Prova del suono per "Eseguito". Suoni attivati

Gestione suoni.

Top Suoni attivati:
Selezionato attiva l'esecuzione del suono nel programma. Se non attivo solo le finestre di avviso emetteranno il suono di default di sistema.
L'attivazione dei suoni avviene senza ulteriore avviso o conferma.

Top Scelta di un set di suoni:
E' possibile scegliere direttamente il contenuto di una sotto-directory, contenente i file audio, presente nella directory "Sounds".
I file vengono cercati con i seguenti nomi:
Partenza | = | Start.wav
Messaggio | = | Message.wav
Avviso | = | Warning.wav
Informazione | = | Info.wav
Errore | = | Error.wav
Eseguito | = | Done.wav

Nel caso in cui non esista uno dei file, il programma non utilizzerà il suono relativo.

Top Percorso e file del suono:
Mostra il percorso e il nome del file che verrà utilizzato per il suono relativo all'indicazione dell'etichetta ("Partenza", "Messaggio", etc.).
Nel caso in cui non contenga dati il programma non utilizzerà questo suono.

Top Scelta del file per il suono:
Richiama la finestra di selezione del file da utilizzare come suono.
Se il campo è vuoto la finestra di scelta del file si posizionerà sull'ultima directory utilizzata.
La modifica del nome del file avviene senza ulteriore avviso o conferma.

Top Vuota il campo del file per il suono:
Cancella il contenuto del campo che indica il file per il suono.
La cancellazione del nome del file avviene senza ulteriore avviso o conferma.

Top Prova del suono:
Premuto, suona il file selezionato.

Top Uscita:
Esce dalla maschera di configurazione del suono.


Opzioni

 Mostra/Nasconde il controllo degli aggiornamenti. Mostra/Nasconde il 'wizard' di configurazione. Mostra/Nasconde il cambio di indirizzo IP. Mostra/Nasconde le finestre di avviso. Mostra/Nasconde i suggerimenti (Tooltip). Seleziona/Deseleziona tutto. Esegue la modifica delle opzioni. Cancella il file di configurazione del programma 'CICLaMaB.ini'. Annulla le modifiche delle opzioni.

Opzioni.

Top Aggiornamenti:
Selezionato, mostra la finestra di controllo degli aggiornamenti all'avvio del programma.

Top Wizard:
Selezionato, mostra la finestra del "Wizard" di configurazione all'avvio del programma.

Top Indirizzo IP:
Selezionato, mostra la finestra di selezione della scheda di rete e dell'indirizzo IP da utilizzare.

Top Avvisi:
Selezionato mostra tutte le finestre di avviso del programma.

Top Suggerimenti:
Selezionato mostra tutti i suggerimenti disponibili in tutte le finestre (Tooltip).

Top Seleziona/Deseleziona:
Seleziona/Deseleziona tutte le caselle di scelta precedenti.

Top Esegui:
Salva le modifiche delle impostazioni nel file "CICLaMaB.ini"

Top Azzera .ini:
Cancella il file "CICLaMaB.ini" (verrà ricreato alla ripartenza del programma).

Top Annulla:
Annulla le modifiche alle impostazioni.


Modifica dei modelli di modem/router

 Lista dei modelli di modem/router disponibili. Aggiunge un nuovo modello. Importa un nuovo modello. Elimina il modello selezionato. Consente la modifica della descrizione del modello. Imposta l'indirizzo di memoria comune a mtd0 e mtd1. Imposta l'offset per l'indirizzo di memoria basso di mtd0. Imposta l'offset per l'indirizzo di memoria basso di mtd1. Imposta l'offset per l'indirizzo di memoria alto di mtd1. Imposta l'indirizzo superiore di mtd0 Imposta il config in formato 'XML' Imposta il config in formato 'Bin' Attiva l'impostazione manuale dei primi due byte dell'indirizzo di memoria comune a mtd0 e mtd1. Attiva/Disattiva l'eliminazione della variabile MTD4 Impostazioni delle partizioni Salva le modifiche delle impostazioni dei modem/router. Accetta le modifiche alle impostazioni del modem/router selezionato. Ripristina le impostazioni del modem/router selezionato. Annulla le modifiche alle impostazioni dei modem/router.

Modifica dei modelli di modem/router.

Dopo avere premuto il pulsante sulla maschera di modifica delle partizioni [image], compare la maschera di gestione dei modelli di modem/router.

Top Lista dei modelli disponibili:
Mostra la lista dei modelli di modem/router impostati nel programma.

Top Impostazioni delle partizioni:
Mostra in tempo reale le modifiche delle impostazioni delle partizioni del modem/router.

Top Attiva/Disattiva l'eliminazione della variabile MTD4:
Attiva/Disattiva la possibilità di selezionare l'eliminazione della variabile MTD4, se utilizzata, dopo l'invio dei file al modem/router.

Top Imposta l'indirizzo comune per mtd0 e mtd1:
Spostando questo selettore viene modificata la quantità di memoria dedicata alle partizioni mtd0 e mtd1.
Lo spostamento del selettore attiva il pulsante "Modifica" e il pulsante "Default".
La modifica viene mostrata in tempo reale sulle partizioni visualizzate.

Top Imposta l'indirizzo superiore di mtd1:
Spostando questo selettore viene modificato l'indirizzo di memoria superiore di mtd1.
Lo spostamento del selettore attiva il pulsante "Modifica" e il pulsante "Default".
La modifica viene mostrata in tempo reale sulle partizioni visualizzate.

Top Imposta l'offset per l'indirizzo di memoria basso di mtd0:
Spostando questo selettore viene modificato l'offset dell'indirizzo di memoria inferiore di mtd0.
Lo spostamento del selettore attiva il pulsante "Modifica" e il pulsante "Default".
La modifica viene mostrata in tempo reale sulle partizioni visualizzate.

Top Imposta l'offset per l'indirizzo di memoria basso di mtd1:
Spostando questo selettore viene modificato l'offset dell'indirizzo di memoria inferiore di mtd1.
Lo spostamento del selettore attiva il pulsante "Modifica" e il pulsante "Default".
La modifica viene mostrata in tempo reale sulle partizioni visualizzate.

Top Imposta l'offset per l'indirizzo di memoria alto di mtd1:
Spostando questo selettore viene modificato l'offset dell'indirizzo di memoria superiore di mtd1.
Lo spostamento del selettore attiva il pulsante "Modifica" e il pulsante "Default".
La modifica viene mostrata in tempo reale sulle partizioni visualizzate.

Top Imposta il config in formato XML/Bin:
Imposta il tipo di file di configurazione richiesto dal modem/router a seconda del modello selezionato. Questo parametro non cambia con il tipo "fisico" di modem/router, ma con il firmware installato.

Top Descrizione del modello:
Consente di modificare la descrizione del modello di modem/router selezionato.
Il cambiamento della descrizione attiva il pulsante "Modifica" e il pulsante "Default".

Top Aggiunge un nuovo modello:
Inserisce un nuovo modello di modem/router (max 100). Verrà assegnata la descrizione "Nuovo modello", modificabile in descrizione.
I parametri (anche quelli di default) saranno:

    SETENV mtd0,0x900a0000,0x901f0000 -  1344 Kb
SETENV mtd1,0x90010000,0x900a0000 -   576 Kb
SETENV mtd2,0x90000000,0x90010000 -    64 Kb
SETENV mtd3,0x901f0000,0x90200000 -    64 Kb
L'operazione attiva il pulsante "Modifica".

Top Importa un nuovo modello:
Importa un nuovo modello da un file con estensione ".tpm".
Il file è in formato ASCII e contiene otto righe:

       Nome        = Nome_del_nuovo_modello
   Tipo        = 0
   ConfBin     = 0 (XML) - 1 (bin)
   UnMTD4      = 0 (Disattiva) - 1 (Attiva)
   UpperMTD0   = semibyte in esadecimale da 1 a e
   CommonInd   = byte in esadecimale da 02 a ee
   OffsetMTD0  = semibyte in esadecimale da 0 a f
   OffsetMTD1L = semibyte in esadecimale da 0 a f
   OffsetMTD1U = semibyte in esadecimale da 0 a f

Esempio:
SETENV mtd0,0x900a0000,0x901f0000
SETENV mtd1,0x90010000,0x900a0000
SETENV mtd2,0x90000000,0x90010000
SETENV mtd3,0x901f0000,0x90200000
L'operazione attiva il pulsante Salva.

N.B.
I nomi delle variabili devono essere obbligatoriamente quelli indicati sopra!

Top Elimina il modello selezionato:
Elimina il modello di modem/router selezionato.
L'operazione attiva il pulsante Salva.

Top Salva le impostazioni:
Tutte le modifiche, aggiunte e cancellazioni eseguite verranno memorizzate.

Top Modifica il modello selezionato:
Accetta le modifiche operate sul modello selezionato.
Verrà mostrata una maschera di richiesta (fig. 1).
Rispondendo "Si" i parametri di default verranno modificati con gli attuali.
La descrizione di default del modem/router verrà comunque modificata.
L'operazione disabilita il pulsante stesso e il pulsante "Default", e abilita il pulsante Salva.

fig. 1

Top Ripristina le impostazioni del modello selezionato:
Le dimensioni delle partizioni vengono ripristinate con quelle di base.
L'operazione disattiva il pulsante stesso e il pulsante "Modifica".

Top Annulla le modifiche delle impostazioni:
Tutte le modifiche, aggiunte e cancellazioni eseguite verranno annulate.
Se sono state effettuate delle modifiche, verrà mostrata una maschera di conferma (fig. 2)
fig. 2


Debrick

 Attiva/Disattiva il rilevamento automatico Lista dei modelli di memoria flash Attiva/Disattiva il salvataggio di mtd0/1 prima dell'operazione richiesta Attiva/Disattiva il salvataggio del Bootloader prima dell'operazione richiesta Attiva/Disattiva il salvataggio di mtd3 prima dell'operazione richiesta Esegue il salvataggio delle partizioni selezionate Selezione del tipo di interfaccia JTag Selezione del tipo di Bootloader Interfaccia Parallela Nome file del 'Bootloader' Nome file di 'MTD3' Seleziona il file da inviare come 'Bootloader' Seleziona il file da inviare come 'MTD3' Cancella il contenuto del campo 'Bootloader' Cancella il contenuto del campo 'MTD3' Inizia l'invio del/dei file da inserire nella flash memory Azzera il contenuto della partizione mtd3 Azzera il contenuto delle partizioni fs e kernel Area di debug C1 = 200 nF ceramico C2 = 4.7 pF elettrolitico R1 = 51 Ω ¼ w R2 = 51 Ω ¼ w R3 = 51 Ω ¼ w R4 = 51 Ω ¼ w R5 = 51 Ω ¼ w R6 = 51 Ω ¼ w R7 = 10 KΩ ¼ w R8 = 47 KΩ ¼ w Q1 = BC337 IC1 = M74HC244B1 C1 = 200 nF ceramico C2 = 4.7 pF elettrolitico R1 = 51 Ω ¼ w R2 = 51 Ω ¼ w R3 = 51 Ω ¼ w R4 = 51 Ω ¼ w R5 = 51 Ω ¼ w R6 = 51 Ω ¼ w R7 = 10 KΩ ¼ w R8 = 47 KΩ ¼ w Q1 = BC337 IC1 = M74HC244B1 Ingrandimento

Debrick e interfaccia.

Top Rilevamento memoria:
Rileva in maniera automatica il modello di flash RAM presente nel modem/router (consigliato).

Top Lista dei modelli di memoria:
Consente di scegliere manualmente la flash RAM presente nel modem/router nel caso in cui il rilevamento automatico non rilevi il modello corretto.

Top Attiva/Disattiva Backup di mtd0/1:
Consente di salvare, se selezionato, le partizioni mtd0/1 nella sotto-directory "Backup/JTag" prima della cancellazione o alla pressione del pulsante Backup.

Top Attiva/Disattiva Backup del Bootloader:
Consente di salvare, se selezionato, sia la partizione del Bootloader nella sotto-directory "Backup/JTag" prima dell'invio del file o alla pressione del pulsante Backup.

Top Attiva/Disattiva Backup di mtd3:
Consente di salvare, se selezionato, la partizione mtd3 nella sotto-directory "Backup/JTag" prima della cancellzione/invio o alla pressione del pulsante Backup.

Top Backup delle partizioni:
Esegue direttamente il salvataggio delle partizioni selezionate, nella sotto-directory "Backup/JTag".

Top Tipo di interfaccia:
Modello di interfaccia JTag che si desidera utilizzare.
Esistono due modelli:

  • Wiggler
  • Xlinx

Top Interfaccia Parallela:
Consente di selezionare la porta parallela da utilizzare.

Top Percorso e file del Bootloader:
Mostra il percorso e il nome del file che verrà inviato come Bootloader.
Nel caso in cui non contenga dati il programma non tenterà l'invio del Bootloader.

Top Percorso e file di MTD3:
Mostra il percorso e il nome del file che verrà inviato come MTD3.
Nel caso in cui non contenga dati il programma non tenterà l'invio del MTD3.

Top Scelta del file per Bootloader:
Richiama la finestra di selezione del file da utilizzare come Bootloader.
Se il campo è vuoto la finestra di scelta del file si posizionerà sulla directory dove risiede il programma.

Top Scelta del file per MTD3:
Richiama la finestra di selezione del file da utilizzare come MTD3.
Se il campo è vuoto la finestra di scelta del file si posizionerà sulla directory dove risiede il programma.

Top Vuota il campo del file per Bootloader:
Cancella il contenuto del campo che indica il file per Bootloader.

Top Vuota il campo del file per MTD3:
Cancella il contenuto del campo che indica il file per MTD3.

Top Trasferimento dei file:
Inizia il trasferimento del/dei file selezionati. Se si è selezionato il backup, questo verrà effettuato prima dell'invio del/dei file.

Top Azzera memoria MTD3:
Cancella il contenuto della porzione di flash RAM dedicata a MTD3.

Top Azzera memoria fs e kernel:
Cancella il contenuto della porzione di flash RAM dedicata a fs e kernel.

Top Area di debug:
In questa area vengono mostrati sia i comandi inviati al processore del modem/router, sia le risposte ricevute.
Tutto quello che viene mostrato nell'area di debug viene scritto, se si è scelto di avere il file di log, nel file "Debrick_aammgg_HHMMSS.log" che si trova nella cartella "Log".
Premendo il pulsante destro viene mostrato un menu contestuale (fig. 1) che consente di copiare il contenuto dell'area di debug nella "Clipboard" o visualizzare il contenuto del file di log.

N.B.
La voce "Visualizza file di log" compare solo se il file di log è abilitato.
fig. 1

Top Interfaccia JTag:

"Wiggler".

Circuito interfaccia.

Circuito stampato lato componenti.

Elenco dei componenti:
  • C1 = 200 nF ceramico
  • C2 = 4.7 pF elettrolitico
  • R1 = 51 Ω ¼ w
  • R2 = 51 Ω ¼ w
  • R3 = 51 Ω ¼ w
  • R4 = 51 Ω ¼ w
  • R5 = 51 Ω ¼ w
  • R6 = 51 Ω ¼ w
  • R7 = 10 KΩ ¼ w
  • R8 = 47 KΩ ¼ w
  • Q1 = BC337
  • IC1 = M74HC244B1

Interfaccia semplificata

Elenco dei componenti:
  • R1 = 100 Ω ¼ w
  • R2 = 100 Ω ¼ w
  • R3 = 100 Ω ¼ w
  • R4 = 100 Ω ¼ w
  • R5 = 100 Ω ¼ w
  • R6 = 47 KΩ ¼ w
  • R7 = 10 KΩ ¼ w
  • R8 = 100 Ω ¼ w
  • Q1 = BC337

"Xilinx".

Interfaccia semplificata

Elenco dei componenti:
  • R1 = 100 Ω ¼ w
  • R2 = 100 Ω ¼ w
  • R3 = 100 Ω ¼ w
  • R4 = 100 Ω ¼ w
  • R5 = 100 Ω ¼ w


Seriale

 Porta seriale Velocità seriale Esegui alla partenza di CICLaMaB Termina alla chiusura di CICLaMaB Colore Terminale Trasmissione Ricezione Blocco maiuscole Blocco tastierino numerico

Terminale Seriale e interfaccia.

C1 = 100 nF ceramico C2 = 100 nF ceramico C3 = 100 nF ceramico C4 = 100 nF ceramico C5 = 100 nF ceramico C6 = 10 µF - 10V. elettrolitico R1 = 82 Ω ¼ w D1 = Diodo LED IC1 = Max 3232 Pin di collegamento al modem/router Pin di collegamento al PC Ingrandimento C1 = 100 nF ceramico C2 = 100 nF ceramico C3 = 100 nF ceramico C4 = 100 nF ceramico C5 = 100 nF ceramico C6 = 10 µF - 10V. elettrolitico R1 = 82 Ω ¼ w D1 = Diodo LED IC1 = Max 3232 Pin di collegamento al modem/router Pin di collegamento al PC Ingrandimento
Consente la visualizzazione dei comandi UNIX eseguiti dal modem/router.

Top Porta seriale:
Consente la selezione della porta seriale (COM1, COM2, etc.) dove è connessa l'interfaccia.

Top Velocità seriale (baud rate):
Consente la scelta della velocità della porta seriale (Baud rate). La velocità predefinita del modem/router è 38400.

Esegui alla partenza di CICLaMaB">

Top Esegui alla partenza di CICLaMaB:
Se attivato apre la finestra del debug seriale all'avvio di CICLaMaB.

Top Termina alla chiusura di CICLaMaB:
Se attivato chiude la finestra del debug seriale al termine di CICLaMaB.

Top Colore:
Consente di scegliere i colori di sfondo e del carattere del terminale seriale.

Top Area del terminale:
Visualizza i dati ricevuti dalla porta seriale. Il contenuto di questa area viene salvato, se si è scelto di avere il file di log, nel file "Serial_aammgg_HHMMSS.log" che si trova nella cartella "Log".
Premendo il pulsante destro viene mostrato un menu contestuale (fig. 1) che consente di copiare il contenuto dell'area di debug nella "Clipboard" o visualizzare il contenuto del file di log.

N.B.
La voce "Visualizza file di log" compare solo se il file di log è abilitato.
fig. 1

Top Indicatore di ricezione:
Indica la ricezione di dati dalla porta seriale.

Top Indicatore di trasmissione:
Indica la trasmissione di dati sulla porta seriale.

Top Blocco delle maiuscole:
Indica lo stato del blocco delle maiuscole.

Top Blocco del tastierino numerico:
Indica lo stato del blocco del tastierino numerico.

Top Interfaccia seriale:

Circuito interfaccia.

Circuito stampato lato componenti.
Elenco dei componenti:
  • C1 = 100 nF ceramico
  • C2 = 100 nF ceramico
  • C3 = 100 nF ceramico
  • C4 = 100 nF ceramico
  • C5 = 100 nF ceramico
  • C6 = 10 µF - 10 V. elettrolitico
  • R1 = 82 Ω ¼ w
  • D1 = Diodo LED
  • IC1 = Max 3232
Pin verso il modem/router:

  • 1 - Tx
  • 2 - Ground
  • 3 - + 3.3 V.
  • 4 - Ground
  • 5 - Rx
Pin verso il computer (pin DB9 femmina):

  • 1 - Rx (2)
  • 2 - Tx (3)
  • 3 - Ground (5)
  • Unire 1 + 4 + 6 e 7 + 8


C.I.C.LaMa.B. - 550 Flash erase failed.

Informazioni sull'errore "550 Flash erase failed".

Questo errore può verificarsi sul modello D-Link 300T quando il programma tenta di inviare a mtd0 o mtd1 un file.
Il motivo principale dell'errore, oltre ad un partizionamento con blocchi diversi da 64Kb, è imputabile alla versione errata di ADAM2 per il tipo di memoria flash (fig. 1) presente sul modem/router.
ADAM2 esiste in versione "Intel" e "Tutti gli altri" (ATMEL, AMD, etc.).

fig. 2

Istruzioni per il cambio di ADAM2.
Per procedere all'operazione è necessario conoscere alcuni parametri:
  • Indirizzo IP del modem/router
  • Indirizzo IP del PC a cui è collegato il modem/router
  • Password del'utente "root". La password predefinita è "admin". Nel caso non si riesca ad accedere o si sia dimenticata la password, basterà tenere premuto il pulsantino posteriore di reset (fig. 2) fino allo spengimento di tutti i LED, escluso "Power".
  • Un server TFTP installato sul PC. E' disponibile, gratuitamente, TFTP-Srv sul server di D-Link all'indirizzo ftp://ftp.dlink.it/pub/Software/TFTP-Srv.
Naturalmente gli indirizzi dei punti 1 e 2 devono appartenere alla stessa sotto-rete.
Partiamo dal presupposto che 192.168.1.1 sia l'indirizzo IP del modem/router e 192.168.1.2 l'indirizzo IP del PC.
(In verde le istruzioni da digitare.)
Per Windows da finestra DOS:
C:>telnet 192.168.1.1
Per Linux:
# telnet 192.168.1.1

# User: root
# Password: admin
# cd /var
# tftp -g -r mtd2 192.168.1.2
# dd if=/var/mtd2 of=/dev/mtdblock/2
127+1 records in
127+1 records out
# exit


Diritti d'autore e Licenza d'uso.

Questo manuale e il software qui descritti sono proprietà di Paolo Onersi aka LiquidSky (di seguito "Autore").
Io non riconosco la leggittimità dei diritti d'autore.

L'autore non è responsabile di eventuali danni e/o malfunzionamenti dell'apparato su cui venga applicato il programma.

Tutti i marchi registrati e i nomi dei prodotti menzionati appartengono ai rispettivi proprietari.

Di seguito vengono riportati i testi della licenza GPL in inglese e in italiano

GNU GENERAL PUBLIC LICENSE Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

Preamble
The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow.

GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

  • 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".
    Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.

  • 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.

  • 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
    • a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
    • b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all thirdparties under the terms of this License.
    • c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
    These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
    Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.

  • 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
    • a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
    • b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
    • c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
    The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
    If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.

  • 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.

  • 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.

  • 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.

  • 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
    It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
    This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.

  • 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.

  • 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.

  • 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.

    NO WARRANTY
  • 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

  • 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS

How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.

Copyright (C)
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

Also add information on how to contact you by electronic and paper mail.

If the program is interactive, make it output a short notice like this when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of authorGnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.This is free software, and you are welcome to redistribute itunder certain conditions; type `show c' for details.

The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program.

You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names:
Yoyodyne, Inc.,
hereby disclaims all copyright interest in the program`Gnomovision' (which makes passes at compilers)
written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice

This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License.

Questa è una traduzione italiana non ufficiale della Licenza Pubblica Generica GNU. Non è pubblicata dalla Free Software Foundation e non ha valore legale nell'esprimere i termini di distribuzione del software che usa la licenza GPL. Solo la versione originale in inglese della licenza ha valore legale. Ad ogni modo, speriamo che questa traduzione aiuti le persone di lingua italiana a capire meglio il significato della licenza GPL.
This is an unofficial translation of the GNU General Public License into Italian. It was not published by the Free Software Foundation, and does not legally state the distribution terms for software that uses the GNU GPL--only the original English text of the GNU GPL does that. However, we hope that this translation will help Italian speakers understand the GNU GPL better.

LICENZA PUBBLICA GENERICA (GPL) DEL PROGETTO GNU Versione 2, Giugno 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Traduzione curata da gruppo Pluto, da ILS e dal gruppo italiano di traduzione GNU. Ultimo aggiornamento 19 aprile 2000.

Chiunque può copiare e distribuire copie letterali di questo documento di licenza, ma non ne è permessa la modifica.

Preambolo

Le licenze della maggior parte dei programmi hanno lo scopo di togliere all'utente la libertà di condividere e modificare il programma stesso. Viceversa, la Licenza Pubblica Generica GNU è intesa a garantire la libertà di condividere e modificare il software libero, al fine di assicurare che i programmi siano liberi per tutti i loro utenti. Questa Licenza si applica alla maggioranza dei programmi della Free Software Foundation e ad ogni altro programma i cui autori hanno deciso di usare questa Licenza. Alcuni altri programmi della Free Software Foundation sono invece coperti dalla Licenza Pubblica Generica Minore. Chiunque può usare questa Licenza per i propri programmi.

Quando si parla di software libero (free software), ci si riferisce alla libertà, non al prezzo. Le nostre Licenze (la GPL e la LGPL) sono progettate per assicurarsi che ciascuno abbia la libertà di distribuire copie del software libero (e farsi pagare per questo, se vuole), che ciascuno riceva il codice sorgente o che lo possa ottenere se lo desidera, che ciascuno possa modificare il programma o usarne delle parti in nuovi programmi liberi e che ciascuno sappia di potere fare queste cose.

Per proteggere i diritti dell'utente, abbiamo bisogno di creare delle restrizioni che vietino a chiunque di negare questi diritti o di chiedere di rinunciarvi. Queste restrizioni si traducono in certe responsabilità per chi distribuisce copie del software e per chi lo modifica.

Per esempio, chi distribuisce copie di un programma coperto da GPL, sia gratis sia in cambio di un compenso, deve concedere ai destinatari tutti i diritti che ha ricevuto. Deve anche assicurarsi che i destinatari ricevano o possano ottenere il codice sorgente. E deve mostrar loro queste condizioni di licenza, in modo che essi conoscano i propri diritti.

Proteggiamo i diritti dell'utente in due modi: (1) proteggendo il software con un copyright, e (2) offrendo una licenza che dia il permesso legale di copiare, distribuire e modificare il Programma.

Inoltre, per proteggere ogni autore e noi stessi, vogliamo assicurarci che ognuno capisca che non ci sono garanzie per i programmi coperti da GPL. Se il programma viene modificato da qualcun altro e ridistribuito, vogliamo che gli acquirenti sappiano che ciò che hanno non è l'originale, in modo che ogni problema introdotto da altri non si rifletta sulla reputazione degli autori originari.

Infine, ogni programma libero è costantemente minacciato dai brevetti sui programmi. Vogliamo evitare il pericolo che chi ridistribuisce un programma libero ottenga la proprietà di brevetti, rendendo in pratica il programma cosa di sua proprietà. Per prevenire questa evenienza, abbiamo chiarito che ogni brevetto debba essere concesso in licenza d'uso a chiunque, o non avere alcuna restrizione di licenza d'uso.

Seguono i termini e le condizioni precisi per la copia, la distribuzione e la modifica.

LICENZA PUBBLICA GENERICA GNUTERMINI E CONDIZIONI PER LA COPIA, LA DISTRIBUZIONE E LA MODIFICA

  • 0. Questa Licenza si applica a ogni programma o altra opera che contenga una nota da parte del detentore del copyright che dica che tale opera può essere distribuita sotto i termini di questa Licenza Pubblica Generica. Il termine "Programma" nel seguito si riferisce ad ogni programma o opera così definita, e l'espressione "opera basata sul Programma" indica sia il Programma sia ogni opera considerata "derivata" in base alla legge sul copyright; in altre parole, un'opera contenente il Programma o una porzione di esso, sia letteralmente sia modificato o tradotto in un'altra lingua. Da qui in avanti, la traduzione è in ogni caso considerata una "modifica". Vengono ora elencati i diritti dei beneficiari della licenza.
    Attività diverse dalla copiatura, distribuzione e modifica non sono coperte da questa Licenza e sono al di fuori della sua influenza.L'atto di eseguire il Programma non viene limitato, e l'output del programma è coperto da questa Licenza solo se il suo contenuto costituisce un'opera basata sul Programma (indipendentemente dal fatto che sia stato creato eseguendo il Programma). In base alla natura del Programma il suo output può essere o meno coperto da questa Licenza.

  • 1. È lecito copiare e distribuire copie letterali del codice sorgente del Programma così come viene ricevuto, con qualsiasi mezzo, a condizione che venga riprodotta chiaramente su ogni copia una appropriata nota di copyright e di assenza di garanzia; che si mantengano intatti tutti i riferimenti a questa Licenza e all'assenza di ogni garanzia; che si dia a ogni altro destinatario del Programma una copia di questa Licenza insieme al Programma. È possibile richiedere un pagamento per il trasferimento fisico di una copia del Programma, è anche possibile a propria discrezione richiedere un pagamento in cambio di una copertura assicurativa.

  • 2. È lecito modificare la propria copia o copie del Programma, o parte di esso, creando perciò un'opera basata sul Programma, e copiare o distribuire tali modifiche o tale opera secondo i termini del precedente comma 1, a patto che siano soddisfatte tutte le condizioni che seguono:
    • a) Bisogna indicare chiaramente nei file che si tratta di copie modificate e la data di ogni modifica.
    • b) Bisogna fare in modo che ogni opera distribuita o pubblicata, che in parte o nella sua totalità derivi dal Programma o da parti di esso, sia concessa nella sua interezza in licenza gratuita ad ogni terza parte, secondo i termini di questa Licenza.
    • c) Se normalmente il programma modificato legge comandi interattivamente quando viene eseguito, bisogna fare in modo che all'inizio dell'esecuzione interattiva usuale, esso stampi un messaggio contenente una appropriata nota di copyright e di assenza di garanzia (oppure che specifichi il tipo di garanzia che si offre). Il messaggio deve inoltre specificare che chiunque può ridistribuire il programma alle condizioni qui descritte e deve indicare come reperire questa Licenza. Se però il programma di partenza è interattivo ma normalmente non stampa tale messaggio, non occorre che un'opera basata sul Programma lo stampi.
    Questi requisiti si applicano all'opera modificata nel suo complesso. Se sussistono parti identificabili dell'opera modificata che non siano derivate dal Programma e che possono essere ragionevolmente considerate lavori indipendenti, allora questa Licenza e i suoi termini non si applicano a queste parti quando queste vengono distribuite separatamente. Se però queste parti vengono distribuite all'interno di un prodotto che è un'opera basata sul Programma, la distribuzione di quest'opera nella sua interezza deve avvenire nei termini di questa Licenza, le cui norme nei confronti di altri utenti si estendono all'opera nella sua interezza, e quindi ad ogni sua parte, chiunque ne sia l'autore.
    Quindi, non è nelle intenzioni di questa sezione accampare diritti, né contestare diritti su opere scritte interamente da altri; l'intento è piuttosto quello di esercitare il diritto di controllare la distribuzione di opere derivati dal Programma o che lo contengano.
    Inoltre, la semplice aggregazione di un'opera non derivata dal Programma col Programma o con un'opera da esso derivata su di un mezzo di memorizzazione o di distribuzione, non è sufficente a includere l'opera non derivata nell'ambito di questa Licenza.

  • 3. È lecito copiare e distribuire il Programma (o un'opera basata su di esso, come espresso al comma 2) sotto forma di codice oggetto o eseguibile secondo i termini dei precedenti commi 1 e 2, a patto che si applichi una delle seguenti condizioni:
    • a) Il Programma sia corredato del codice sorgente completo, in unaforma leggibile da calcolatore, e tale sorgente sia fornitosecondo le regole dei precedenti commi 1 e 2 su di un mezzocomunemente usato per lo scambio di programmi.
    • b) Il Programma sia accompagnato da un'offerta scritta, valida per almeno tre anni, di fornire a chiunque ne faccia richiesta una copia completa del codice sorgente, in una forma leggibile da calcolatore, in cambio di un compenso non superiore al costo del trasferimento fisico di tale copia, che deve essere fornita secondo le regole dei precedenti commi 1 e 2 su di un mezzo comunemente usato per lo scambio di programmi.
    • c) Il Programma sia accompagnato dalle informazioni che sono state ricevute riguardo alla possibilità di ottenere il codice sorgente. Questa alternativa è permessa solo in caso di distribuzioni non commerciali e solo se il programma è stato ottenuto sotto forma di codice oggetto o eseguibile in accordo al precedente comma B.
    Per "codice sorgente completo" di un'opera si intende la forma preferenziale usata per modificare un'opera. Per un programma eseguibile, "codice sorgente completo" significa tutto il codice sorgente di tutti i moduli in esso contenuti, più ogni file associato che definisca le interfacce esterne del programma, più gli script usati per controllare la compilazione e l'installazione dell'eseguibile. In ogni caso non è necessario che il codice sorgente fornito includa nulla che sia normalmente distribuito (in forma sorgente o in formato binario) con i principali componenti del sistema operativo sotto cui viene eseguito il Programma (compilatore, kernel, e così via), a meno che tali componenti accompagnino l'eseguibile.
    Se la distribuzione dell'eseguibile o del codice oggetto è effettuata indicando un luogo dal quale sia possibile copiarlo, permettere la copia del codice sorgente dallo stesso luogo è considerata una valida forma di distribuzione del codice sorgente, anche se copiare il sorgente è facoltativo per l'acquirente.

  • 4. Non è lecito copiare, modificare, sublicenziare, o distribuire il Programma in modi diversi da quelli espressamente previsti da questa Licenza. Ogni tentativo di copiare, modificare, sublicenziare o distribuire il Programma non è autorizzato, e farà terminare automaticamente i diritti garantiti da questa Licenza. D'altra parte ogni acquirente che abbia ricevuto copie, o diritti, coperti da questa Licenza da parte di persone che violano la Licenza come qui indicato non vedranno invalidata la loro Licenza, purché si comportino conformemente ad essa.

  • 5. L'acquirente non è tenuto ad accettare questa Licenza, poiché non l'ha firmata. D'altra parte nessun altro documento garantisce il permesso di modificare o distribuire il Programma o i lavori derivati da esso. Queste azioni sono proibite dalla legge per chi non accetta questa Licenza; perciò, modificando o distribuendo il Programma o un'opera basata sul programma, si indica nel fare ciò l'accettazione di questa Licenza e quindi di tutti i suoi termini e le condizioni poste sulla copia, la distribuzione e la modifica del Programma o di lavori basati su di esso.

  • 6. Ogni volta che il Programma o un'opera basata su di esso vengono distribuiti, l'acquirente riceve automaticamente una licenza d'uso da parte del licenziatario originale. Tale licenza regola la copia, la distribuzione e la modifica del Programma secondo questi termini e queste condizioni. Non è lecito imporre restrizioni ulteriori all'acquirente nel suo esercizio dei diritti qui garantiti. Chi distribuisce programmi coperti da questa Licenza non e' comunque tenuto a imporre il rispetto di questa Licenza a terzi.

  • 7. Se, come conseguenza del giudizio di un tribunale, o di una imputazione per la violazione di un brevetto o per ogni altra ragione (non limitatamente a questioni di brevetti), vengono imposte condizioni che contraddicono le condizioni di questa licenza, che queste condizioni siano dettate dalla corte, da accordi tra le parti o altro, queste condizioni non esimono nessuno dall'osservazione di questa Licenza. Se non è possibile distribuire un prodotto in un modo che soddisfi simultaneamente gli obblighi dettati da questa Licenza e altri obblighi pertinenti, il prodotto non può essere affatto distribuito. Per esempio, se un brevetto non permettesse a tutti quelli che lo ricevono di ridistribuire il Programma senza obbligare al pagamento di diritti, allora l'unico modo per soddisfare contemporaneamente il brevetto e questa Licenza e' di non distribuire affatto il Programma.
    Se una qualunque parte di questo comma è ritenuta non valida o non applicabile in una qualunque circostanza, deve comunque essere applicata l'idea espressa da questo comma; in ogni altra circostanza invece deve essere applicato questo comma nel suo complesso.
    Non è nelle finalità di questo comma indurre gli utenti ad infrangere alcun brevetto né ogni altra rivendicazione di diritti di proprietà, né di contestare la validità di alcuna di queste rivendicazioni; lo scopo di questo comma è unicamente quello di proteggere l'integrità del sistema di distribuzione dei programmi liberi, che viene realizzato tramite l'uso di licenze pubbliche. Molte persone hanno contribuito generosamente alla vasta gamma di programmi distribuiti attraverso questo sistema, basandosi sull'applicazione fedele di tale sistema. L'autore/donatore può decidere di sua volontà se preferisce distribuire il software avvalendosi di altri sistemi, e l'acquirente non può imporre la scelta del sistema di distribuzione.

    Questo comma serve a rendere il più chiaro possibile ciò che crediamo sia una conseguenza del resto di questa Licenza.
  • 8. Se in alcuni paesi la distribuzione o l'uso del Programma sono limitati da brevetto o dall'uso di interfacce coperte da copyright, il detentore del copyright originale che pone il Programma sotto questa Licenza può aggiungere limiti geografici espliciti alla distribuzione, per escludere questi paesi dalla distribuzione stessa, in modo che il programma possa essere distribuito solo nei paesi non esclusi da questa regola. In questo caso i limiti geografici sono inclusi in questa Licenza e ne fanno parte a tutti gli effetti.

  • 9. All'occorrenza la Free Software Foundation può pubblicare revisioni o nuove versioni di questa Licenza Pubblica Generica. Tali nuove versioni saranno simili a questa nello spirito, ma potranno differire nei dettagli al fine di coprire nuovi problemi e nuove situazioni. Ad ogni versione viene dato un numero identificativo. Se il Programma asserisce di essere coperto da una particolare versione di questa Licenza e "da ogni versione successiva", l'acquirente può scegliere se seguire le condizioni della versione specificata o di una successiva. Se il Programma non specifica quale versione di questa Licenza deve applicarsi, l'acquirente può scegliere una qualsiasi versione tra quelle pubblicate dalla Free Software Foundation.

  • 10. Se si desidera incorporare parti del Programma in altri programmi liberi le cui condizioni di distribuzione differiscano da queste, è possibile scrivere all'autore del Programma per chiederne l'autorizzazione. Per il software il cui copyright è detenuto dalla Free Software Foundation, si scriva alla Free Software Foundation; talvolta facciamo eccezioni alle regole di questa Licenza. La nostra decisione sarà guidata da due finalità: preservare la libertà di tutti i prodotti derivati dal nostro software libero e promuovere la condivisione e il riutilizzo del software in generale.

    NON C'È GARANZIA
  • 11. POICHÉ IL PROGRAMMA È CONCESSO IN USO GRATUITAMENTE, NON C'È GARANZIA PER IL PROGRAMMA, NEI LIMITI PERMESSI DALLE VIGENTI LEGGI. SE NON INDICATO DIVERSAMENTE PER ISCRITTO, IL DETENTORE DEL COPYRIGHT E LE ALTRE PARTI FORNISCONO IL PROGRAMMA "COSÌ COM'È", SENZA ALCUN TIPO DI GARANZIA, NÉ ESPLICITA NÉ IMPLICITA; CIÒ COMPRENDE, SENZA LIMITARSI A QUESTO, LA GARANZIA IMPLICITA DI COMMERCIABILITÀ E UTILIZZABILITÀ PER UN PARTICOLARE SCOPO. L'INTERO RISCHIO CONCERNENTE LA QUALITÀ E LE PRESTAZIONI DEL PROGRAMMA È DELL'ACQUIRENTE. SE IL PROGRAMMA DOVESSE RIVELARSI DIFETTOSO, L'ACQUIRENTE SI ASSUME IL COSTO DI OGNI MANUTENZIONE, RIPARAZIONE O CORREZIONE NECESSARIA.

  • 12. NÉ IL DETENTORE DEL COPYRIGHT NÉ ALTRE PARTI CHE POSSONO MODIFICARE O RIDISTRIBUIRE IL PROGRAMMA COME PERMESSO IN QUESTA LICENZA SONO RESPONSABILI PER DANNI NEI CONFRONTI DELL'ACQUIRENTE, A MENO CHE QUESTO NON SIA RICHIESTO DALLE LEGGI VIGENTI O APPAIA IN UN ACCORDO SCRITTO. SONO INCLUSI DANNI GENERICI, SPECIALI O INCIDENTALI, COME PURE I DANNI CHE CONSEGUONO DALL'USO O DALL'IMPOSSIBILITÀ DI USARE IL PROGRAMMA; CIÒ COMPRENDE, SENZA LIMITARSI A QUESTO, LA PERDITA DI DATI, LA CORRUZIONE DEI DATI, LE PERDITE SOSTENUTE DALL'ACQUIRENTE O DA TERZI E L'INCAPACITÀ DEL PROGRAMMA A INTERAGIRE CON ALTRI PROGRAMMI, ANCHE SE IL DETENTORE O ALTRE PARTI SONO STATE AVVISATE DELLA POSSIBILITÀ DI QUESTI DANNI.
    FINE DEI TERMINI E DELLE CONDIZIONI
Appendice: come applicare questi termini a nuovi programmi

Se si sviluppa un nuovo programma e lo si vuole rendere della maggiore utilità possibile per il pubblico, la cosa migliore da fare è rendere tale programma libero, cosicché ciascuno possa ridistribuirlo e modificarlo sotto questi termini.

Per fare questo, si inserisca nel programma la seguente nota. La cosa migliore da fare è mettere la nota all`inizio di ogni file sorgente, per chiarire nel modo più efficiente possibile l'assenza di garanzia; ogni file dovrebbe contenere almeno la nota di copyright e l'indicazione di dove trovare l'intera nota.

Copyright (C)
Questo programma è software libero; è lecito redistribuirlo o modificarlo secondo i termini della Licenza Pubblica Generica GNU come è pubblicata dalla Free Software Foundation; o la versione 2 della licenza o (a propria scelta) una versione successiva.
Questo programma è distribuito nella speranza che sia utile, ma SENZA ALCUNA GARANZIA; senza neppure la garanzia implicita di NEGOZIABILITÀ o di APPLICABILITÀ PER UN PARTICOLARE SCOPO. Si veda la Licenza Pubblica Generica GNU per avere maggiori dettagli.
Questo programma deve essere distribuito assieme ad una copia della Licenza Pubblica Generica GNU; in caso contrario, se ne può ottenere una scrivendo alla Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Si aggiungano anche informazioni su come si può essere contattati tramite posta elettronica e cartacea.

Se il programma è interattivo, si faccia in modo che stampi una breve nota simile a questa quando viene usato interattivamente:
Orcaloca versione 69, Copyright (C) anno nome dell'autore
Orcaloca non ha ALCUNA GARANZIA; per dettagli usare il comando `show g'.
Questo è software libero, e ognuno è libero di ridistribuirlo secondo certe condizioni; usare il comando `show c' per i dettagli.

Gli ipotetici comandi "show g" e "show c" mostreranno le parti appropriate della Licenza Pubblica Generica.
Chiaramente, i comandi usati possono essere chiamati diversamente da "show g" e "show c" e possono anche essere selezionati con il mouse o attraverso un menù, o comunque sia pertinente al programma.

Se necessario, si deve anche far firmare al proprio datore di lavoro (per chi lavora come programmatore) o alla propria scuola, per chi è studente, una "rinuncia al copyright" per il programma. Ecco un esempio con nomi fittizi:
Yoyodinamica SPA,
rinuncia con questo documento ad ogni diritto sul copyright del programma `Orcaloca' (che svolge dei passi di compilazione)
scritto da Giovanni Smanettone.
<firma di Primo Tizio>, 1 April 3000
Primo Tizio, Presidente

I programmi coperti da questa Licenza Pubblica Generica non possono essere incorporati all'interno di programmi proprietari. Se il proprio programma è una libreria di funzioni, può essere più utile permettere di collegare applicazioni proprietarie alla libreria. Se si ha questa intenzione consigliamo di usare la Licenza Pubblica Generica Minore GNU (LGPL) invece di questa Licenza.

A.D. 2005


Ringraziamenti

 Voglio ringraziare quelli che mi hanno aiutato, sia con le idee, sia con il supporto per il betatesting.
  • Marven
    Per la sua "presenza"
  • Submax82
    Per la sua "pressanza"
  • Tutti gli altri
    Tutti quelli che hanno provato il programma e mi hanno segnalato errori ed imperfezioni...


Azzera MTD3

 Impostazione del modello Ripristina 'mtd2', 'maca' Consente la modifica del MAC address Ripristina partizioni Ripristina descrizione Consente la modifica della descrizione del modem/router Esegue l'operazione. Annulla l'operazione.

Azzera MTD3.

Questa funzione spedisce un blocco da 64Kb, con valore 0xFF, nella partizione mtd3.
In questo modo vengono eliminate tutte le tracce di vecchie configurazioni e variabili d'ambiente.
E' possibile selezionare delle operazioni da eseguire dopo l'azzeramento:

Top Impostazione del modello:
Se selezionato, prima di procedere con l'azzeramento, viene richiesta conferma del modello di modem/router da utilizzare .

N.B.
E' l'unica operazione che avviene prima dell'azzeramento.

Top Ripristina 'mtd2', 'maca':
Se selezionato ripristina, dopo l'azzeramento, le variabili di ambiente mtd2 e maca (MAC address).
Nel caso in cui il bootloader sia PSPBOOT, mtd2 non verrà mostrata e non verrà creata.

Top Modifica del MAC address:
Se Ripristina 'mtd2', 'maca' è selezionato, il campo è attivo per consentire la modifica del MAC address.
Il valore contenuto è prelevato dall'ambiente ENV al momento dell'esecuzione della funzione.

Attenzione!
Non inserite dati casuali e lasciate in pace i bit 0 e 1 dell'ultimo byte ("00")!

Top Ripristina partizioni:
Se selezionato ripristina, dopo l'azzeramento, le variabili che descrivono le partizioni mtd0, mtd1, mtd3 e, se presente, mtd4).
Nel caso in cui il bootloader sia PSPBOOT verrà ripristinata solo la partizione mtd4.

Top Ripristina descrizione:
Se selezionato ripristina la variabile "usb_prod" con il valore indicato in Descrizione.
Nel caso in cui il bootloader sia PSPBOOT verrà ripristinata la variabile "ProductID".

Top Modifica della descrizione del modem/router:
Se Ripristina descrizione è selezionato, il campo è attivo per consentire la modifica della descrizione.
Il valore contenuto è prelevato dall'ambiente ENV al momento dell'esecuzione della funzione.

Top Esegue l'operazione:
Azzera il contenuto di mtd3 e, se selezionate, esegue le operazioni pre/post azzeramento.
Alla fine delle operazioni il modem/router verrà riavviato

Top Annulla l'operazione:
Annulla l'operazione di azzeramento.


Esegui

Quando viene premuto il pulsante "Esegui" viene mostrata una richiesta di conferma (fig. 1).
Se si sono selezionati "Autoload" e/o "Set mtd" e/o "Defrag ENV" queste informazioni verrano mostrate sulla richiesta con la specifica del modello di modem/router impostato.
Alla fine del trasferimento e/o delle impostazioni verrà inviato il comando "REBOOT" al modem/router.
fig. 1


Modifica dei modelli di modem/router

 Lista dei modelli di modem/router disponibili. Aggiunge un nuovo modello. Importa un nuovo modello. Elimina il modello selezionato. Consente la modifica della descrizione del modello. Imposta l'indirizzo di memoria comune a mtd0 e mtd1. Consente l'impostazione (in esadecimale) dei primi due byte del'indirizzo di memoria comune a mtd0 e mtd1. Imposta l'indirizzo superiore di mtd0 Imposta il config in formato 'XML' Imposta il config in formato 'Bin' Disattiva l'impostazione manuale dei primi due byte dell'indirizzo di memoria comune a mtd0 e mtd1. Attiva/Disattiva l'eliminazione della variabile MTD4 Impostazioni delle partizioni Salva le modifiche delle impostazioni dei modem/router. Accetta le modifiche alle impostazioni del modem/router selezionato. Ripristina le impostazioni del modem/router selezionato. Annulla le modifiche alle impostazioni dei modem/router.

Modifica dei modelli di modem/router.

Dopo avere premuto il pulsante sulla maschera di modifica delle partizioni [image], compare la maschera di gestione dei modelli di modem/router.

Top Lista dei modelli disponibili:
Mostra la lista dei modelli di modem/router impostati nel programma.

Top Impostazioni delle partizioni:
Mostra in tempo reale le modifiche delle impostazioni delle partizioni del modem/router.

Top Attiva/Disattiva l'eliminazione della variabile MTD4:
Attiva/Disattiva la possibilità di selezionare l'eliminazione della variabile MTD4, se utilizzata, dopo l'invio dei file al modem/router.

Top Selettore di modifica dell'indirizzo comune per mtd0 e mtd1:
Spostando questo selettore viene modificata la quantità di memoria dedicata alle partizioni mtd0 e mtd1.
Lo spostamento del selettore attiva il pulsante "Modifica" e il pulsante "Default".
La modifica viene mostrata in tempo reale sulle partizioni visualizzate.

Top Selettore di modifica dell'indirizzo superiore di mtd1:
Spostando questo selettore viene modificato l'indirizzo di memoria superiore di mtd1.
Lo spostamento del selettore attiva il pulsante "Modifica" e il pulsante "Default".
La modifica viene mostrata in tempo reale sulle partizioni visualizzate.

Top Imposta il config in formato XML/Bin:
Imposta il tipo di file di configurazione richiesto dal modem/router a seconda del modello selezionato. Questo parametro non cambia con il tipo "fisico" di modem/router, ma con il firmware installato.

Top Imposta i primi due byte per l'indirizzo di memoria comune a mtd0 e mtd1:
Modificando il campo vengono modificati i primi due byte dell'indirizzo di memoria comune. Il valore inserito deve essere in esadecimale (0x0000 - 0xFFFF).

SETENV mtd0,0x900a0000,0x901f0000 -  1344 Kb
SETENV mtd1,0x90010000,0x900a0000 -   576 Kb
La modifica del valore del campo attiva il pulsante "Modifica" e il pulsante "Default".
La modifica viene mostrata in tempo reale sulle partizioni visualizzate.

Top Descrizione del modello:
Consente di modificare la descrizione del modello di modem/router selezionato.
Il cambiamento della descrizione attiva il pulsante "Modifica" e il pulsante "Default".

Top Aggiunge un nuovo modello:
Inserisce un nuovo modello di modem/router (max 100). Verrà assegnata la descrizione "Nuovo modello", modificabile in descrizione.
I parametri (anche quelli di default) saranno:

    SETENV mtd0,0x900a0000,0x901f0000 -  1344 Kb
SETENV mtd1,0x90010000,0x900a0000 -   576 Kb
SETENV mtd2,0x90000000,0x90010000 -    64 Kb
SETENV mtd3,0x901f0000,0x90200000 -    64 Kb
L'operazione attiva il pulsante "Modifica".

Top Importa un nuovo modello:
Importa un nuovo modello da un file con estensione ".tpm".
Il file è in formato ASCII e contiene sei righe:

       Nome       = Nome_del_nuovo_modello
   Tipo       = 1
   ConfBin    = 0 (XML) - 1 (bin)
   UnMTD4     = 0 (Disattiva) - 1 (Attiva)
   UpperMTD0  = semibyte in esadecimale da 1 a e
   CommonInd  = byte in esadecimale da 02 a ee
   MTDMan     = word in esadecimale da 0000 a ffff

Esempio:
SETENV mtd0,0x900a0000,0x901f0000
SETENV mtd1,0x90010000,0x900a0000
SETENV mtd2,0x90000000,0x90010000
SETENV mtd3,0x901f0000,0x90200000
L'operazione attiva il pulsante Salva.

N.B.
I nomi delle variabili devono essere obbligatoriamente quelli indicati sopra!

Top Elimina il modello selezionato:
Elimina il modello di modem/router selezionato.
L'operazione attiva il pulsante Salva.

Top Salva le impostazioni:
Tutte le modifiche, aggiunte e cancellazioni eseguite verranno memorizzate.

Top Modifica il modello selezionato:
Accetta le modifiche operate sul modello selezionato.
Verrà mostrata una maschera di richiesta (fig. 1).
Rispondendo "Si" i parametri di default verranno modificati con gli attuali.
La descrizione di default del modem/router verrà comunque modificata.
L'operazione disabilita il pulsante stesso e il pulsante "Default", e abilita il pulsante Salva.

fig. 1

Top Ripristina le impostazioni del modello selezionato:
Le dimensioni delle partizioni vengono ripristinate con quelle di base.
L'operazione disattiva il pulsante stesso e il pulsante "Modifica".

Top Annulla le modifiche delle impostazioni:
Tutte le modifiche, aggiunte e cancellazioni eseguite verranno annulate.
Se sono state effettuate delle modifiche, verrà mostrata una maschera di conferma (fig. 2)
fig. 2