MidiSuperVozelj
Nodo Multicanale AX.25/Datagram
Manuale a cura di IW3GRX
Contenuto:
1.2 Funzionalita` del nodo
2.1 Autorouting e connessioni
2.2 Routing dei datagram TCPIP
3.1 Descrizioni dei Comandi Utenti
3.2 Descrizioni dei Comandi SysOp
3.3 Descrizione dei parametri AX.25
4.1 Configurazione del sorgente ASM
4.2 Configurazione del sorgente BIN
4.3 Configurazione del Nodo da remoto
4.4 Caricamento nuovo Software
5.1 Configurazione di FBB
9.1 Conclusioni
9.2 Ringraziamenti
Clicca sull'immagine per vedere lo schema
del SuperVozely
1.1 Introduzione
Il SuperVozelj (si pronuncia "supervozel") è un nodo packet sviluppato da Matjaz S53MV nel 1992 , a partire dal DSP3MV progettato da lui stesso.
In quel periodo si stava creando in Slovenia una rete packet in cui i link fra i nodi venivano effettuati a 38400bps, velocità limite per i TNC2 con software TheNet , che spesso si resettavano per insufficienza di memoria (tutti i buffer di ricezione si riempivano dando luogo ad un warm-boot del TNC2) .
Nasceva quindi l'esigenza di creare un nuovo sistema in grado di consentire la connessione di un notevole numero di utenti, e di gestire senza troppi problemi porte radio a velocità di almeno 38400bps.
La soluzione, decisamente innovativa, sembrava essere proprio il SuperVozelj, basato sul microprocessore 32bit Motorola 68010 , il quale consentiva di gestire 6 canali radio-kiss a velocità configurabile nel software da 300 a 76800bps ; in questo modo sarebbe stato possibile creare dei nodi multicanale molto più economici dei TheNet (non servivano 6 TNC2 per gestire 6 canali !!) con porte a media velocità dedicate all' utenza.
Inoltre, l'hardware risultava molto modulare, composto da una scheda BUS in cui erano montati una serie di connettori eurocard a 64pin, su cui venivano innestate le schede con la CPU, RAM, SCC (6 canali), ecc. ; in questo modo sarebbe stato possibile cambiare schede per fare degli aggiornamenti, o aggiungerne altre, in modo da rendere il SuperVozelj il più versatile possibile.
Successivamente, data la difficoltà nel reperire i circuiti stampati originali dalla Slovenia, Luca IW3GRW ridisegnò le schede con lo scopo di renderlo più compatto; ne derivò una prima versione, che poi venne rimodificata nell'hardware per un ulteriore miglioramento.
La nuova versione si chiama ora
MidiSuperVozelj, poichè risulta più economica del progetto originale, e si
adatta meglio all'uso da parte degli utenti come superTNC grazie alla sua
struttura compatta v
Il MidiSuperVozelj implementa delle novità rispetto alla prima versione di
IW3GRW, ovvero:
- Basta la sola scheda
Mainboard per il funzionamento con 6 canali
Infatti nella Mainboard sono già presenti 256Kbyte di RAM statica posti all'indirizzo 40000H , che consente al nodo di gestire almeno 50 connessioni.
- La scheda RAM è opzionale, e
servirà soltanto nel caso il nodo debba gestire più di 50-60 connessioni
contemporanee, oppure nel caso di sviluppi futuri che richiedano molta memoria
disponibile.
- Inserimento di un watchdog
che, in caso il nodo si blocchi per errori commessi dal sysop, resetta il nodo
dopo 6 minuti di inattività dei canali SCC. Ricordo che il software del
SuperVozelj non ha errori, e se alimentato attraverso una batteria tampone
rimarrà sempre attivo, e si resetterà solo per errori commessi dal sysop.
- Nodo estremamente compatto:
infatti è possibile inserirlo in una scatola dalle dimensioni di circa
32x20x10 cm insieme a 5 modem compatti disegnati da IW3GRW i quali hanno tutti
dimensioni di 5.5x10 cm, stessa foratura e stessi connettori radio/SCC .
- Alimentatore protetto da extratensioni , che protegge il nodo da fulmini e scariche elettrostatiche in genere.
Sono disponibili on-line gli schemi elettrici ed i layout di tutte le schede del MidiSuperVozelj, ed inoltre èdisponibile anche la documentazione riguardante i modem BELL, MANCHESTER e G3RUH ridisegnati da IW3GRW.
Ora il MidiSuperVozelj si trova in una fase terminale, in cui tutto ciò che è stato possibile aggiungere per renderlo veramente versatile ed utilizzabile, è stato fatto.
Probabilmente il prossimo passo consisterà nell' apporre delle modifiche all'hardware per velocizzare ulteriormente il sistema, magari predisponendo l'uso di microprocessori più veloci come il 68360, in modo da migliorare notevolmente le performance nel caso si utilizzi dei canali a 1.2Mbps .
Il software è scritto interamente in assembler A68K, cosicchè risulta essere molto veloce e portabile su qualsiasi piattaforma che usi i microprocessori della serie M68K , come ad esempio il 68008, 68020 e 68360.
Il software viene in genere scritto da S53MV , per poi essere rielaborato da S52D, che lo rende più completo e quindi più appropriato per le nostre esigenze.
Il software può essere caricabile da remoto in modo che in qualsiasi momento sia possibile effettuare aggiornamenti o modifiche al programma di gestione del nodo....non sarà quindi necessario dover sostituire ogni volta la eprom per effettuare dei cambiamenti nel software del nodo. Più avanti ci sarà una sezione dedicata alla procedura di upload e di restart del software.
Ritengo comunque importante dire che il software del SuperVozelj risulta collaudatissimo, nel senso che non si inchioda nè si resetta per alcun motivo.
1.2 Funzionalità del nodo
Elenchiamo qui sotto le principali funzioni e caratteristiche del nodo:
- Possibilità di gestire nella
configurazione base 6 canali radio/kiss fullduplex a velocita` settabile via
software da 300 a 76800bps
- Attraverso una scheda DMA
opzionale, possibilita` di aggiungere altri due canali HDLC halfduplex a
velocita` determinata dal clock che verra` fornito all'SCC; in genere questi
canali vengono utilizzati a 1228800 bps , comunque possono essere utilizzati
anche ad altre velocita`
- Routing dei frame AX.25
livello 2 : è possibile specificare nella lista A quali stazioni sono
collegabili, ed è possibile creare alias fittizzi che puntino ad un
determinato nominativo AX.25.
- Autorouting AX.25, che
permette di trasferire attraverso la rete SuperVozelj tutte le stazioni
connettibili, attraverso un protocollo di routing che sceglie la strada più
veloce (massima velocità di trasferimento).
- Autorouting Datagram, che
consente di indirizzare automaticamente i datagram TCPIP in modo trasparente,
cioè senza modificare l'indirizzamento contenuto nel layer IP .
- Favorisce, nei nodi NetRom,
l'aggiornamento automatico della lista nodi attraverso i frame di broadcast
che vengono ripetuti dai nodi SuperVozelj secondo le specifiche dichiarate nel
software.
- Possibilità di essere
utilizzato come digipeater, così da essere compatibile con la rete FlexNet e
consentire funzioni unproto;abilitare e disabilitare la funzione RECONNECT
attraverso la selezione dell'SSID della stazione chiamata; abilitare e
disabilitare l'autorouting per le chiamate, così da poter selezionare il path
attraverso cui fare la connessione oppure sfruttare la potenzialità del nodo
nel scegliere la strada più veloce.
- Memorizzazione di tutte le
connessioni effettuate, cosicchè il nodo sarà in grado di trovare il percorso
per connettere qualsiasi utente che sia è precedentemente collegato alla rete
di nodi (lista glej) .
- Software in grado di fare l'autodetect
del microprocessore utilizzato (68010 o 68020) e della eventuale presenza del
DMA 68450; il 68020 non viene sfruttato nelle sue piene funzionalità, ovvero
di microprocessore con bus dati a 32bit, ma viene installato su schedina
piggy-back al posto del 68010, e risulta un pò più veloce grazie alla sua
cache interna. Il 68450 serve invece per la gestione di due canali ad alta
velocita (tipicamente 1.2 megabit/sec).
- Possibilità di gestire
telecamera CCD per la rilevazione di immagini.
- Ampie statistiche che
consentono di tenere sotto controllo l'affidabilità e velocità dei canali del
nodo
- Possibilità di tarare molto facilmente modem e radio attraverso la combinazione dei comandi P e J, spiegati nelle prossime sezioni.
2.1 Autorouting e connessioni
è possibile collegare un SuperVozelj con qualsiasi SSID del suo callsign o alias; in condizioni normali il SuperVozelj utilizza la modalità "Reconnect", secondo la quale ad ogni richiesta di disconnessione da una stazione risulteremo poi ricollegati al SuperVozelj precedente; questa modalità può essere pericolosa per i BBS che devono effettuare il forwarding, laddove cioè nel caso in cui si verifichi la disconnessione della stazione di destinazione o di un nodo intermedio, è necessario avere la disconnessione completa da tutti i nodi per evitare che vengano perse le informazioni in forward.
La modalità Reconnect può essere disabilitata collegando il primo SuperVozelj con SSID 12, 13, 14 o 15 (ad esempio digitando C IR3TVB-12 , o IR3TVB-15, TVB-13, ecc) .
Quando si è collegati ad un SuperVozelj, è possibile richiedere una connessione (downlink) verso una stazione utilizzando il comando C (Connect) , il quale risulta molto complesso;
specificando la porta in cui fare la connessione, si disabilita l'autorouting, ed in questo caso le modalità sono le seguenti:
C PORTA NOMINATIVO ad esempio C 4 IK3NOK-0
C PORTA NOMINATIVO DIGIn ... DIGI1
ad esempio C 3 PADOVA IR3MCO-2 IR3TVB-3 per collegare il nodo PADOVA attraverso i digipeaters IR3TVB-3 e IR3MCO-2.
Nel caso in cui il numero della porta sia 0 , il SuperVozelj tenterà la connessione verso il nominativo specificato in tutti i suoi canali.
Se invece si vuol fare in modo che la connessione avvenga secondo l'autorouting, non si dovrà specificare il canale in cui effettuare la connessione.
In questo caso il SuperVozelj andrà ad analizzare se il nominativo specificato è presente nella lista Automatica (settata dal SysOp), nella lista Vozelj (dell'autorouting), nella lista Users (degli utenti collegati attualmente) o nella lista Glej (degli utenti che si erano precedentemente collegati al nodo) , e se non trova alcuna informazione tenterà la connessione direttamente con il nominativo specificato su tutti i canali del nodo.
è importante comunque che ciascun utente utilizzi un solo SSID del proprio mycall per collegare il SuperVozelj in modo che il protocollo di routing funzioni bene.....nel caso si voglia effettuare più connessioni simultanee con lo stesso nodo, dovremo utilizzare lo stesso callsign (ad esempio IW3GRW-0) e collegare il nodo con diversi SSID (ad esempio IR3TVB, IR3TVB-1, TVB, TVB-15,ecc ).
Se da un nodo SuperVozelj vogliamo invece chiedere la connessione con una stazione per cui è ammesso un solo SSID (ad esempio con il BBS IW3FHV-8) , vedremo che non sarà possibile collegarsi per più di una volta se non aggiungendo al comando di connessione il parametro -SSID , ad esempio digitando C IW3FHV-8 -3
Il parametro -3 specifica che l'SSID del proprio nominativo nel downlink dovrà essere impostato a 3 (o a qualsiasi altro valore compreso tra 0 e 15 specificato) .
Infatti ad ogni downlink effettuato, il SuperVozelj incrementa il proprio SSID, che può comunque essere risettato dall'utente proprio con il comando C NOMINATIVO -SSID.
Parliamo ora di routing.
Come detto poc'anzi, digitando C NOMINATIVO verrà ricercato il nominativo specificato nella lista di routing secondo questo ordine:
- Lista Automatica (settata
dal SysOp)
- Lista Vozel (autorouting dei
nodi)
- Lista Users (lista degli
utenti attualmente connessi al nodo)
- Lista Glej (lista degli
utenti che si sono connessi in passato)
Durante la ricerca del path di connessione per il nominativo specificato, il SuperVozelj in genere ignora l'informazione sull'SSID specificato, a meno che non sia specificata la porta in cui effettuare la connessione.
Questo accorgimento è indispensabile per poter fare più sessioni di connessione contemporaneamente, e quindi per collegare gli stessi nodi più volte.
Quando nella lista A un callsign è preceduto dal carattere '!' , la connessione verso quel nominativo viene effettuata direttamente utilizzando nominativo e ssid specificati nella lista A per quel callsign.
Vedremo meglio in dettaglio questi particolari qui sotto....
Lista Automatica
Nella lista A dovranno essere inserite tutte le stazioni direttamente collegabili dal nodo, ma non quelle collegabili attraverso altri nodi SuperVozelj; infatti queste ultime dovranno essere settate nel SuperVozelj da cui sono direttamente collegabili, e le loro informazioni di routing verranno ricevute attraverso il protocollo di autorouting.
Facciamo subito un esempio: dal nostro nodo e` possibile collegare le seguenti stazioni:
Ch Stazione via Tipostazione 1 IW3GRX-8 FBB BBS AX.25 (non ammette altri SSID) 1 GRX FBB BBS AX.25 (alias fittizio per IW3GRX-8) 3 IR3BLG FlexNet collegabile con qualsiasi SSID 3 IR6ANS IR3BLG FlexNet collegabile attraverso IR3BLG 5 IR3IPA-5 TNOS con alias 177203 6 IR3NET-7 Nodo NetRom collegabile direttamente 6 IR3NET-2 IR3NET-7 Nodo NetRom collegabile attraverso IR3NET-7 6 IR3NET-12 IR3NET-7 Nodo NetRom collegabile attraverso IR3NET-7
Ecco ora le relative linee da inserire nella lista A per configurare i suddetti nodi:
A !IW3GRX 1 IW3GRX-8 A !GRX 1 IW3GRX-8 A IR3BLG 3 IR3BLG A IR6ANS 3 IR3BLG A !IR3IPA 5 IR3IPA-5 A 177203 5 177203 A IR3NET 6 IR3NET-7
Ora spieghiamo più in dettaglio
le varie linee:
GRX:IW3GRX-8: e` un bbs AX25, in cui l'alias e` fittizio (non esiste in realta`,
e serve soltanto per gli utenti che possono cosi` richiamare piu` comodamente il
bbs) e il nominativo chiamato deve avere l'SSID uguale a 8; per questo bisogna
inserire come primo carattere il punto esclamativo '!' per specificare che,
quando un utente digitera` C GRX o C IW3GRX , dovra` essere fatta una
sostituzione testuale con C 1 IW3GRX-8.
IR3BLG: e` un nodo FlexNet che puo` essere richiamato con tutti gli SSID, quindi
non e` si dovra` inserire come primo carattere il punto esclamativo.
IR6ANS: e` un altro nodo FlexNet che e` richiamabile attraverso il nodo IR3BLG;
quando un utente digitera` C IR6ANS , il SuperVozelj richiamera` il nodo IR3BLG
inviandogli il comando C IR6ANS.
177203:IR3IPA-5: trattasi di un router IP che usa il software TNOS; mentre
l'alias e` collegabile con tutti gli SSID, il nominativo e` collegabile soltanto
con l'SSID 5, e pertanto non si dovra` inserire il carattere '!' prima
dell'alias 177203, ed invece lo si dovra` inserire prima del nominativo IR3IPA.
IR3NET-2 e IR3NET-7: in questo caso ci sono due nodi netrom il cui nominativo
differisce solo per l'SSID; anche in questo caso non ci sara` nessun problema,
in quanto digitando C IR3NET-7 il nodo richiamera` sul canale 6 IR3NET-7, mentre
digitando C IR3NET-2 verra` richiamato nel canale 6 il nodo IR3NET-7, e poiche`
il nominativo chiamato e` differente da quello connesso (infatti IR3NET-2 e`
diverso da IR3NET-7 per l'SSID) , il SuperVozelj inviera` a quest'ultimo il
comando C IR3NET-2 cosicche` si avra` la connessione con il nodo voluto.
Le regole da rispettare per il
setup della lista A sono le seguenti:
nel primo campo dovra` essere inserito il nominativo chiamabile SENZA
SPECIFICARNE L' SSID; se il nominativo inserito puo` essere chiamato con un solo
SSID, oppure e` un mnemonico inesistente che punta ad un nominativo valido,
dovra` essere preceduto dal carattere '!' .
Dovranno quindi essere preceduti da '!' tutti gli alias fisicamente inesistenti,
e tutti i nominativi collegabili con un solo SSID.
Nel secondo campo dovra` essere inserito il numero del canale attraverso cui
verra` tentata la connessione; specificando 0 come canale, verra` tentata la
connessione in tutti i canali.
Infine, nel terzo campo dovra` essere specificata la stazione da chiamare,
eventualmente seguita da tutti i digipeater che dovranno essere chiamati.
Le stazioni presenti nella
lista A, affinche` vengano incluse anche nell'autorouting, devono essere
presenti anche nella lista Z (chiamate di routing) per il seguente motivo:
non e` detto che tutte le stazioni incluse nella lista A siano effettivamente
collegabili (ad esempio vi puo` essere un bbs spento, un nodo momentaneamente
scollegato, ecc.) ed e` quindi inammissibile che stazioni non collegabili
vengano immesse nella lista dei nodi.
Dovranno pertanto essere inserite nella lista Z le seguenti stazioni:
Z 1:IW3GRX-8 Z 3:IR3BLG Z 5:IR3IPA-5 Z 5:177203 Z 6:IR3NET-7
Ogni 14 minuti il nodo
SuperVozelj effettuera` le chiamate di routing per lo scambio delle
informazioni, e nella lista delle chiamate (Z) trovera` anche le 5 stazioni
appena specificate; non essendo queste dei nodi SuperVozelj, ovvero non essendo
presenti nella lista W, non verra` a loro inviata alcuna informazione di routing,
ma verranno soltanto connesse e poi subito disconnesse, misurandone il tempo di
connessione.
In questo modo, se una stazione presente nella lista A e` collegabile attraverso
due nodi SuperVozelj, la strada scelta per la connessione sara` sicuramente
quella piu` veloce.
Il SuperVozelj riesce quindi ad addattarsi per qualsiasi tipo di routing, e quindi per essere inserito in qualsiasi rete di nodi, sia questa NetRom, che FlexNet, ItaNet, ecc. ; il problema inverso è invece abbastanza difficoltoso.
Per quanto riguarda l'inserimento di un SuperVozelj in una rete FlexNet, si dovrà specificare nella lista dei nodi FlexNet le eventuali stazioni connettibili utilizzando il SuperVozelj come digipeater (indicare callsign-ssid del SuperVozelj, in cui SSID è il numero del canale attraverso il quale dovranno essere ripetuti i frames); in questo modo non funziona l'autorouting fra FlexNet e SuperVozelj, ma i vari nodi FlexNet dovranno essere settati sul nodo SuperVozelj, e viceversa.
Per quanto riguarda invece l'inserimento di un SuperVozelj in una rete NetRom, la soluzione sarà molto più semplice in quanto nel sorgente del SuperVozelj saràpossibile indicare che tutti i frame NetRom (PID=CF) inviati a NODES (e quindi i frames broadcast per l'autorouting NetRom) vengano ritrasmessi in determinati canali del SuperVozelj utilizzando il SuperVozelj come digipeater....In questo modo tutti i nodi NetRom si vedranno fra di loro (tranne quelli che utilizzando il software G8BPQ , il quale non supporta il broadcast attraverso i digipeater.
Lista Vozel
è una lista non settabile dai SysOp, e contiene la lista di tutte le stazioni nodi/bbs/etc che entrano nell'autorouting; ogni linea di questa lista ha la seguente sintassi:
NOMINATIVO DOMET
in cui a ciascun NOMINATIVO (nodo collegabile) è associato un DOMET (tradotto in italiano con "PORTATA") da 1 a 255 il quale risulta inversamente proporzionale alla velocità di comunicazione.
Il DOMET non viene quindi calcolato in base al tempo di connessione come avviene per i nodi FlexNet, ma in base al tempo impiegato per trasferire verso quel nodo un certo numero di frames, corrispondente alle informazioni di routing forwardate.
In fondo alla lista V verranno visualizzati due parametri , ovvero MAX.DOMET e INTERVALLO : MAX.DOMET specifica il massimo valore del domet dei nodi inseriti nella lista (serve per eliminare dalla lista del routing nodi considerati troppo lontani e quindi inutili), mentre INTERVALLO specifica la costante di tempo dopo il quale avviene l'incremento del DOMET.
In questo modo, quando un SuperVozelj farà le chiamate di routing verso un altro SuperVozelj (di solito le chiamate avvengono ogni 7 o 14 minuti), incomincierà a contare il numero di millisecondi trascorsi dall'inizio della chiamata fino a quando terminerà l'invio delle informazioni; questo tempo è visibile attraverso il comando O .
Quando il nostro SuperVozelj riceverà invece le informazioni di routing dal SuperVozelj che prima aveva connesso, riceverà una lista di nodi a ciascuno dei quali è associato un domet, e per ciascuno di questi nodi aggiungerà al domet ricevuto il tempo che prima aveva calcolato diviso per INTERVALLO , ed aggiornerà la propria lista dei nodi inserendo quelli che non erano presenti nella lista V e quelli per cui il domet così calcolato è minore di quello presente in lista.
Facciamo un esempio: il tempo impiegato per inviare le informazioni di routing al nodo IR3VV è di 6300ms, ed il parametro INTERVALLO è settato sul nostro n odo a 1000ms ; ora il nodo IR3VV collegherà il nostro nodo per inviare le informazioni di routing, nelle quali ad esempio ci sarà IR3VI con domet 30 , IR3TVC con domet 50 , OE6XWR con domet 120.
A questi domet verrà aggiunto il numero intero 6300 diviso per 1000, ovvero 6, e verrà poi controllato se nella lista vozel esistono già i nodi IR3VI, IR3TVC e OE6XWR , e verrà confrontato il valore del loro domet con quello appena calcolato (ovvero 36 per IR3VI, 56 per IR3TVC e 126 per OE6XWR).
Se il domet calcolato è inferiore a quello previsto nella lista vozel, allora verrà fatto l'aggiornamento del routing; se però il domet di un nodo è maggiore del parametro MAXDOMET, allora quel nodo non viene inserito nella lista vozel in quanto viene considerato "lontano".
Lista Users
è la lista degli utenti attualmente connessi..... per ogni utente viene memorizzato il nodo SuperVozelj o ItaNet da cui si è collegato, cosicchè in una rete di nodi SuperVozelj/ItaNet sarà possibile raggiungere ogni utente attualmente collegato in modo automatico
La lista Users è molto razionale e dettagliata, ed è formata in questo modo: a sinistra sono presenti tutti gli uplink, mentre a destra ci sono i downlink.
Nella sezione uplink viene indicato in sequenza il nominativo del SuperVozelj/ItaNet da cui arriva la connessione indicata fra parentesi tonde, il nominativo del chiamante ed il nominativo del nodo chiamato.
Di seguito sono presenti due numeri che indicano la quantità di byte trasmessi/ricevuti .
In mezzo, ci sono due numeri che possono variare da 0 a 20 , visualizzati secondo la seguente sintassi: [N1!N2] .
N1 indica la quantità di frames in attesa di essere trasmissi verso l'uplink, mentre N2 indica la quantità di frames in attesa di essere trasmessi verso il downlink.
A destra di questi numeri saranno presenti le informazioni del downlink (qualora fosse esistente) .
Come al solito avremo in sequenza il nominativo del nodo finale chiamato (indicato fra parentesi) , il nominativo del nodo attraverso cui effettuare la connessione, ed il nominativo dell'utente utilizzato nel downlink .
Inoltre, viene indicato il numero di byte trasmessi/ricevuti dalla stazione del downlink.
Lista Glej
è una lista che può contenere diverse migliaia di nominativi, in cui vengono registrate tutte le stazioni che si sono precedentemente connesse al nodo.
Nella lista viene memorizzato,per ciascun utente che si è precedentemente connesso a quel nodo e per ciascun canale attraverso cui si è collegato, la data e ora dell'ultima connessione, la porta di connessione, il numero di volte in cui si è collegato, l'eventuale SuperVozelj/ItaNet attraverso cui è arrivata la connessione (indicato fra parentesi tonde), il nominativo dell' utente chiamante e il nominativo del nodo chiamato; di seguito è riportato il numero di byte trasmessi/ricevuti dall'utente.
In base a queste statistiche è possibile sapere quando un utente si è collegato per l'ultima volta, attraverso che canale e quale nodo, la quantità di informazioni trasmesse/ricevute, eccetera.
Nella sezione Descrizione dei Comandi Utente sarà descritta la modalità di utilizzo del comando G per attingere informazioni dalla lista Glej.
2.2 Routing dei datagram TCPIP
I collegamenti TCP/IP si possono realizzare principalmente in due modi: attraverso l'utilizzo dei Datagram ( frame UI che possono contenere un campo d'informazione anche di diversi Kbytes), oppure attraverso la modalità Virtual Connect in cui i frame TCP/IP vengono incapsulati in frame AX.25 affinchè vengano ripetuti via digipeater, oppure instradati attraverso il protocollo NetRom.
Per l'utilizzo ad alte velocità, è sicuramente più efficiente l'uso del modo datagram , i quali girano però in rete più o meno come i frame tramite semplici digipeater, in modo non connesso e con le conferme che avvengono su tutto il collegamento, e non su ogni tratta; questo sistema è molto inaffidabile, in quanto la probabilità di perdere un frame aumenta con legge esponenziale al crescere del numero di digi attraverso cui il frame deve passare.
Per compatibilità con tutti i programmi (scritti male!) per BBS, DVMS, TCP/IP ecc., il SuperVozelj ha la possibilità di collegamenti "digi" virtuali. I frame "digi" viaggiano su collegamenti di servizio tra SV con tutti i vantaggi di conferme/ripetizioni sulle singole tratte. In questo modo la probabilità di perdita di un frame si riduce solo sulle due tratte entrata/uscita dalla rete dei SuperVozelj.
Il protocollo del "digi" virtuale viene attivato specificando come digi il nominativo del SuperVozejl d'entrata, con SSID 0. A questo punto il SuperVozelj cerca il nominativo del destinatario nelle tabelle (per il momento solo nella tabella G). Se il destinatario è raggiungibile direttamente, il SuperVozelj si comporta come un digi normale, altrimenti, in base alle indicazioni delle tabelle, il SuperVozelj genera una conessione di servizio a quello adiacente, gli manda il frame e aspetta la conferma.
Lo stesso farà il SuperVozelj vicino: cercherà nelle sue tabelle e agirà di conseguenza. Questo si ripeterà tra i vari nodi SuperVozelj che sono frapposti tra chiamante e destinatario. L'ultimo SuperVozelj della catena manderà il frame al destinatario con il proprio nominativo come "digi". In questo modo è assicurata anche la risposta (direzione inversa per il destinatario).
Il protocollo appena descritto mantiene integri i nominativi del chiamante e del destinatario, i bit Command/Response, i bytes CONTROL e PID e ovviamente il contenuto del campo dati. Questo dovrebbe essere sufficiente al protocollo TCP/IP che non utilizza il CONTROL e PID dell'AX.25 standard.
La conessione di servizio per il trasferimento di frame "digi" virtuali avviene con il nominativo del chiamante e SSID complementato; a connessione effettuata, verrà eseguito il trasferimento del datagram attraverso il comando # , che forzerà il SuperVozelj chiamato ad aggiornare anche la lista G per assicurare che la risposta venga poi instradata correttamente.
La conessione di servizio viene effettuata appena viene ricevuto un frame da mandare avanti e viene interrotta automaticamente dopo 3 secondi; in questo modo si potrà trasferire più frame in una sola conessione.
è possibile instradare i frame datagram anche attraverso dei digi non virtuali, ad esempio utilizzando nodi NetRom e FlexNet, fino al primo SuperVozelj che dovrà avere l'SSID 0; in questo modo sarà possibile trasferire datagram anche operando dall'esterno della rete SuperVozelj, cosicchè i datagram viaggeranno in modo convenzionale attraverso i nodi NON SuperVozelj, e attraverso i digi virtuali (con le conferme su ogni tratta) all'interno della rete SuperVozelj.
Per un corretto utilizzo del "digi" virtuale è necessario che l'utilizzatore setti i parametri delle temporizzazioni tenendo conto che i frame non viaggiano attraverso un solo digi, ma ce ne possono essere più di uno. Com'è intuibile questo tipo di collegamenti sono più dispendiosi sia nell'utilizzo dei canali radio sia delle risorse delle CPU dei nodi, perciò si consiglia l'utilizzo solo nei casi qui non sia possibile nessun altro modo.
Un neo di questo sistema di
instradamento e` indubbiamento l'aggiornamento della lista G di ogni SuperVozelj,
ovvero la stazione che si vuole chiamare deve essere presente nella lista G del
nodo attraverso cui si invieranno i datagram.
Inoltre, poiche` il SuperVozelj non gestisce frame superiori a 256 caratteri, e`
necessario settare il MTU a 256 ; nonostante questa limitazione, e` comunque
possibile trasferire circa 2800 byte/sec su un doppio link a 38400 attraverso un
solo SuperVozelj, quindi le performance sono sicuramente molto incoraggianti.
Come settare le routes?
Facendo riferimento ai software NOS che abitualmente si utilizzano, supponiamo di dover configurare il protocollo IP nel caso in cui ci troviamo ad operare attraverso una rete SuperVozelj, in cui esistono i due router ik3umt.ampr.org attraverso cui è possibile collegare tutte le stazioni con numero IP 44.* , ed il router s50tcp.ampr.org collegato ad internet attraverso cui è possibile collegare tutte le stazioni con numero IP 193.* . Supponiamo inoltre che il nodo SuperVozelj da noi collegabile, attraverso cui si dovrà instradare i datagram, sia IR3TVB connettibile attraverso la nostra interfaccia AX0.
Dovremo innanzitutto settare opportunamente la route ik3umt e mbrtcp, attraverso i comandi:
ik3umt è collegabile in ax25 sull'interfaccia ax0 collegando direttamente ik3umt attraverso il digi virtuale ir3tvb-0
arp add ik3umt.ampr.org ax25 ik3umt ax0 route add ik3umt.ampr.org ax0 ik3umt.ampr.org ax25 route add ik3umt ax0 ir3tvb-0
mbrtcp è collegabile in ax25 sull'interfaccia ax0 collegando s50tcp attraverso il digi virtuale ir3tvb-0
arp add mbrtcp.hamradio.si ax25 s50tcp ax0 route add mbrtcp.hamradio.si ax0 mbrtcp.hamradio.si ax25 route add s50tcp ax25 ir3tvb-0
Ora definisco che tutte le route 193.* vengano instradate attraverso il router mbrtcp.hamradio.si :
route add 193/8 ax25 mbrtcp.hamradio.si
infine definisco che tutte le route 44.* vengano instradate attraverso il router ik3umt.ampr.org
route add 44/8 ax25 ik3umt.ampr.org
3.1 Descrizioni dei Comandi Utente
Qui di seguito verranno riportati i comandi della versione 79a del SuperVozelj.
Comando A
Come spiegato nella sezione Autorouting e Connessioni , questo comando serve al SysOp per inserire la lista di tutte le stazioni connettibili direttamente, ad eccezione dei nodi SuperVozelj.
Digitando A, il nodo trasmetterà una lista di informazioni secondo la seguente sintassi:
STAZIONE_DESTINAZIONE CANALE NODO_ATTRAVERSO_CUI_COLLEGARLA
ad esempio:
!IW3GRX 1 IW3GRX-8 => IW3GRX nel canale 1
VALDO 4 VALDO => VALDO nel canale 4
I3GUT 4 VALDO => I3GUT-8 attraverso il nodo VALDO
e così via....
In genere non si troveranno mai molte stazioni nella lista A dei SuperVozelj, mentre si dovrà far riferimento alla lista V dell'autorouting per vedere tutti i nodi collegabili in modo automatico.
Comando B
Visualizza il testo del beacon che per default viene trasmesso ogni 5 minuti in tutti i canali.
Comando C
Serve per richiedere la connessione verso un'altra stazione.... specificando anche il canale in cui effettuare la connessione, si disabiliterà l'autorouting del nodo.
Invece, digitando C NOMINATIVO , il nodo ricercherà la strada per collegare il NOMINATIVO specificato, e se non troverà alcuna informazione, tenterà la connessione su tutti i canali.
Attenzione!! Se si vuole collegare un preciso nominativo, bisogna specificare la porta di connessione e l'SSID del nominativo (anche se l'SSID è uguale a 0).
Consiglio comunque a tutti gli utenti di utilizzare il proprio nominativo con un solo SSID per il collegamento ai nodi SuperVozelj.
Non è gradito l'utilizzo di più ssid, come ad esempio IW3GRW-0, IW3GRW-1, eccetera.
Leggendo la sezione Autorouting e Connessioni si potranno avere maggiori dettagli.
Comando D
Visualizza la date e ora attuale, ma solo nel caso in cui nella Mainboard del nodo siano presenti gli integrati 8255 e 4990, oppure nel caso in cui il SuperVozelj sia programmato per usare l'orologio software.
Comando G
Lista le informazioni presenti nella lista Glej, in cui sono registrate tutte le connessioni effettuate nel passato.
Ci sono più modi per interpellare la lista Glej, ed in ogni caso sono ammessi i carattere wildcards '*' e '?' per specificare un gruppo di nominativi.
Digitando G , verranno visualizzati tutti i nominativi che hanno fatto almeno una connessione verso il nodo.
Specificando un canale, ad esempio con G 3 , verranno visualizzati tutti i nominativi che si sono collegati in passato sul canale specificato.
Un modo più completo per interpellare la lista Glej consiste nel specificare una lista di nominativi con il comando G NOMINATIVI oppure G CANALE NOMINATIVI.
Ad esempio, digitando G * si visualizzeranno le informazioni su tutti i nominativi precedentemente collegati al nodo (inclusa la date e ora dell'ultima connessione, il numero di connessioni per ciascun canale, il numero di byte ricevuti e trasmessi, ecc), mentre con il comando G 3 * si potranno vedere le informazioni su tutti i nominativi che si sono precedentemente connessi al canale 3.
Digitando invece G NOMINATIVO , si potranno vedere le informazioni del nominativo specificato, ovvero il numero di connessioni effettuate, la date e ora dell'ultima connessione, eccetera.
Comando H
Inviando al nodo il comando H si potranno avere delle informazioni di help sui comandi del SuperVozelj, settate dal sysop.
Comando I
Attraverso il comando I si potranno invece ricevere le informazioni sul nodo, in particolare che hardware e software usa, dove sia ubicato, la configurazione dei canali del nodo, e magari la lista delle frequenze disponibili per la connessione della rete .
Comando N
Come i comandi H e I , anche N visualizzerà un testo scritto dai sysop del nodo, in cui è in genere presente la mappa della rete locale e la lista delle frequenze diponibili agli utenti per il collegamento alla rete.
Comando O
Informazioni sulla velocità di connessione fra i vari SuperVozelj fra i quali avviene il routing.
Le informazioni appaiono secondo la seguente sintassi:
CANALE: STAZIONE (MINUTI_TRASCORSI,MILLISECONDI)
in cui MINUTI_TRASCORSI è il numero di minuti passati dall'ultima chiamata per lo scambio delle informazioni di routing, mentre MILLISECONDI indica il numero di millisecondi impiegato per trasferire le informazioni di routing.
Comando P
Lista le stazioni di cui è stato ascoltato almeno un beacon dal nodo.
La lista di stazioni ascoltate appare nel seguente formato:
CANALE: STAZIONE (MINUTI_TRASCORSI,NUMERO_BEACON_RICEVUTI)
ad esempio
*** Stazioni ascoltate (Minuti trascorsi,Numero beacon) *** 2: IR3TVB-2 (0,138) 3: S55YKK-1 (1,89) 7: IR3CV-7 (1,893) 2: IR3MTL-2 (5,25) 5: IR3FON-3 (7,58) 5: IW3GAP (9,12) NOK:IR3NOK>
in cui il primo parametro fra parentesi indica il numero di minuti trascorsi dall'ultimo beacon ricevuto, ed il secondo parametro indica il numero totale di beacon ricevuti.
Attraverso questo comando è possibile tarare la propria radio in questo modo: basta inviare un certo numero di beacon , e poi consultare la lista P del SuperVozelj per vedere quanti beacon sono stati ricevuti.
Ricordo che il numero di beacon ricevuti è cumulativo, quindi è un numero che continua a crescere.
Ad esempio, nel caso che il SuperVozelj abbia ricevuto 100 beacon dalla nostra stazione, inviando ulteriormente 10 beacon dovremo aspettarci che (se la nostra radio/modem funziona bene) il SuperVozelj abbia ricevuto in totale 110 beacon.
Il sysop avra` anche la
possibilita` di specificare dopo il comando P anche un numero che indichera` il
numero di stazioni da visualizzare nella lista P ; le altre verranno rimosse.
Ad esempio, con il comando P 0 si indichera` al nodo di rimuovere tutte le
stazioni dalla lista P , con P 10 di mantenere solo le ultime 10 stazioni
ascoltate, e cosi` via.
In questo modo puo` risultare piu` comoda e veloce la consultazione della lista
P .
Comando Q
Richiede la disconnessione dal nodo.
Comando R
Visualizza delle statistiche sul traffico nei vari canali del nodo.
Vengono infatti visualizzati per ogni canale la percentuale di attività del DCD, la percentuale di attività del PTT, il numero di frame in attesa di essere inviati, il numero di uplink (connessioni verso quel nodo) e downlink (connessioni dal nodo verso altre stazioni) .
Inoltre, viene visualizzata la versione di software in uso, il numero di minuti di attività del nodo, l'indirizzo a cui si trova il programma di gestione nodo (il software è rilocabile e rieseguibile) , e qualche altra informazione meno importante.
Comando S
Attraverso questo comando è possibile inviare una linea di "break" ad una stazione oppure ad un gruppo di stazioni (utilizzando le wildcards '*' e '?' ).
Ad esempio, digitando S IW3GRW Ciao Luca verrà inviata la linea "Ciao Luca" al nominativo IW3GRW (se collegato al nodo e se disponibile).
è inoltre possibile inviare una linea di testo a tutti gli utenti connessi, ad esempio con il comando S * Ciao a tutti !! .
Comando T
Visualizza il testo che viene spedito a ciascun utente alla connessione (CTEXT).
Comando U
Lista gli utenti collegati attualmente al nodo.
Le informazioni presentate in questa lista sono molto dettagliate... per conoscerle meglio basta far riferimento a ciò che è stato scritto nel paragrafo "Lista Utenti" della sezione Autorouting e Connessioni .
Comando V
Lista i nodi riconosciuti dal SuperVozelj attraverso l'autorouting.
Ad ogni nominativo è associato un contatore, che può variare da 1 a 255, inversamente proporzionale alla velocità di comunicazione con quel nodo.
Questo significa che più questo contatore è basso, più veloce è il link con quel nodo; più è alto, e più lontano risulterà il nodo.
Comando W
Visualizza la lista dei SuperVozelj direttamente collegabili
Comando Y
Nella versioni di S52D, il comando Y visualizza i parametri AX.25 dei canali disponibili, in cui le temporizzazioni (TXDELAY, FRACK, ecc.) sono indicate in millisecondi.
Nelle versioni di S53MV, invece, il comando Y serve per prelevare una immagine dalla telecamera CCD collegata al nodo (se presente).
In questo caso, la sintassi del comando è:
Y OFFSET_ORIZZ OFFSET_VERT NUMERO_PIXEL NUMERO_LINEE COMPRESSIONE
OFFSET_ORIZZ definisce l'offset orizzontale da cui deve iniziare la foto, mentre OFFSET_VERT definisce ne definisce l'offset verticale; infatti l'immagine rilevata dalla telecamera contiene molti più pixel di quanti ne può visualizzare il monitor del computer.
Il parametro NUMERO_PIXEL definisce il numero di punti che deve essere contenuto per ogni linea, mentre NUMERO_LINEE è il numero di linee della foto; in ogni caso questi due numeri specificati verranno sempre convertiti dal SuperVozelj in un multiplo di 8 per poter eventualmente utilizzare poi l'algoritmo di compressione.
Il quinto parametro è opzionale, e indica il tipo di compressione da effettuare sull'immagine; nel caso non sia presente, oppure sia 0 , non viene operata alcuna compressione, ed ad ogni byte della immagine corrisponderà il valore da 0 a 255 del tono di grigio di ciascun punto; il valore 0 corrisponde al sincronismo, mentre il valore 255 al livello del bianco.
Specificando come COMPRESSIONE un valore compreso tra 1 e 7, invece, verrà operata una compressione JPEG sull'immagine, con rapporto di compressione proporzionale al parametro COMPRESSIONE specificato.
Se il valore di COMPRESSIONE è 1, ad esempio, avremo un basso valore di compressione e quindi una immagine lunga però di ottima qualità; aumentando il valore fino a 7, il livello di compressione aumenterà, ma l'immagine che ne deriverà risulterà di peggior qualità.
Attezione! I dati JPEG non contengono l' header JPEG standard, in quanto il SuperVozelj usa tabelle di codifica JPEG fisse; inoltre, l' algoritmo JPEG richiede 10-20 secondi di calcolo, e ulteriore memoria, cosicchè durante il calcolo l'interfaccia CCD risulterà occupata ed ogni altro comando Y verrà rifiutato rispondendo con messaggio adeguato.
Inoltre, nel caso in cui il nodo da cui si vuol prelevare l'immagine sia molto trafficato, è consigliato controllare attraverso il comando U la quantità di blocchi di memoria disponibile; nel caso non ve ne fossero a sufficienza, l'immagine risulterà tagliata.
Comando Z
Lista dei SuperVozelj chiamati per l'autorouting
Comando %
Lista le statistiche AX.25 in cui vengono mostrati il numero di frame ricevuti e trasmessi per ciascun canale, il numero di ritrasmissioni, il numero di frame ritrasmessi via digipeater, il numero di byte ricevuti e trasferiti in totale (in blocchi da 64Kb), ed altro.
3.2Descrizioni dei Comandi SysOp
I comandi SysOp sono accessibili dopo aver digitato il comando K ed aver inviato la password correttamente.
Digitando K, infatti, il SuperVozelj invierà all'utente 5 numeri, ai quali dovrà rispondere con i rispettivi 5 caratteri corrispondenti alla password.
Se i 5 caratteri inviati sono corretti, il nodo risponderà con un Ok e ci sarà concessa la possibilità di accedere al menù dei comandi SysOp.
Molti comandi SysOp consentono di inserire una lista di informazioni; fanno parte di questa categoria i comandi A,B,F,H,I,N,T,W,Z.
Per questi comandi, esiste la possibilità di inserire una nuova linea digitando il comando appropriato seguito dalla linea da aggiungere, oppure è possibile cancellare l'intero contenuto facendo seguire il comando dal carattere underscore '_' .
Ad esempio , con il comando T Ciao dal Gruppo Radioamatori Montebelluna si aggiunge una linea al testo di connessione, mentre con il comando T _ si cancella l'intero contenuto del testo di connessione.
Spesso si inserisce in un file la lista di tutti questi testi da inviare al nodo, e lo si manda seguendo le specifiche dettate nella sezione Configurazione del Nodo da remoto .
Nel caso si debba inserire una lista di nominativi, come ad esempio nel comando A, F, W, Z , è assolutamente necessario inserire tutti i caratteri dei nominativi in maiuscolo.
Comando A
Questo comando serve per settare la lista di tutte le stazioni direttamente collegabili, che non siano nodi SuperVozelj.
Si possono inserire in questa lista nodi NetRom, FlexNet, ItaNet, bbs, cluster, router TCPIP, ed eventuali alias creati appositamente per facilitare le connessioni verso determinate stazioni.
Per quanto riguarda gli alias, questi vengono in genere attribuiti ai servizi AX.25 che ne sono sprovvisti; ad esempio, ad un bbs AX.25 che risulta connettibile solo con il nominativo IW3GRX-8 , è possibile attribuire un alias il cui nome sia significativo ed identifichi univocamente quella stazione, ad esempio GRX o BBSGRX , ma non bisognerà creare alias del tipo BBS in quanto troppo generici e possono essere utilizzati anche da altre stazioni.
In ogni caso, per una descrizione di come utilizzare questo comando, fare riferimento alla sezione Autorouting e Connessioni .
Comando B
Visualizza,cancella o inserisce una nuova linea nel testo del beacon, il quale può essere di soli 256 caratteri.
Come detto poc'anzi, con il comando B _ si cancella il contenuto del beacon, con B si visualizza l'attuale contenuto, e con B Nodo SuperVozelj di Treviso ecc..... si inserisce la linea specificata.
Comando D
Senza parametri, visualizza l'ora corrente.
Per settare l'orologio interno, invece, è necessario digitare la data e ora nel formato amsat, ovvero nel formato D AAMMGGOOMMSS , ad esempio D 960611122533 per specificare che è il giorno 11/06/96 e l'ora 12:25:33 .
In genere viene settata l'ora locale, non quella UTC.
Comando E
è un comando che non viene normalmente utilizzato, e serve per copiare dei dati da una zona di memoria ad un'altra.
La sintassi è E IND_INIZIALE IND_DESTINAZIONE LUNGHEZZA_BLOCCO .
Comando F
Viene utilizzato per settare la lista dei nominativi esclusi dal nodo.
Premetto che il nodo non consentirà a nessuno di collegare un nominativo specificato in questa lista (segnalando con un errore il tentativo di connessione), ed inoltre non consentirà ad una stazione che ha un nominativo specificato in questa lista di connettersi al nodo.
In quest'ultimo caso, il nominativo escluso verrà ignorato, quindi nessuna risposta gli sarà data .
In genere, in questa lista viene settato il nominativo NOCALL e magari qualche nominativo abusivo; i nominativi andranno indicati, come al solito, in maiuscolo !
Anche con questo comando è possibile utilizzare le wildcards per specificare gruppi di nominativi.
Con F * si disabilitano tutte le connessioni verso il nodo e le connessioni dal nodo: attenzione ! In questo caso sarà necessario utilizzare il nominativo del nodo come mycall, per poter ricollegare il nodo.
Comando H,I,N
Il comando H serve per settare l'help dei comandi, I per settare l'Info del nodo, e N per settare la lista dei nodi.
Ognuno di questi testi ha una lunghezza massima di 2Kb, eventualmente variabile nel sorgente ASM.
Il procedimento per l'inserimento del testo viene spiegato nella sezione Configurazione del Nodo da remoto .
Comando J
Serve per far trasmettere un certo numero prefissato di beacon (da 1 a 170) nel canale specificato o in tutti i canali.
è una funzione utilissima per testare i link e vedere se funzionano, se ci sono delle ritrasmissioni, collisioni, ecc.
Con il comando J 2 100 si inviano 100 beacon nel canale 2, con il comando J 20 si inviano 20 beacon in tutti i canali.
Fare attenzione a non far trasmettere troppi beacon nei canali a bassa velocità, come 1200 e 2400bps, altrimenti impegnerete il ricetrasmettitore anche per dei minuti.
Comando K
Digitando K, il SuperVozelj invierà 5 numeri a cui bisognerà rispondere con i caratteri corrispondenti alla password settata sul nodo.
Se il nodo risponderà con "Ok" , si avrà l'abilitazione SysOp (digitare R per una conferma: se si è settati come SysOp verrà indicato nella ultima linea "SysOp=>") .
L'abilitazione permane finchè non ci si sconnette dal nodo, o finchè non si digita un'altra volta K e poi si invia una password sbagliata.
Se a questo punto si richiede la connessione verso altri sistemi, quando ci si scollegherà da questi e si ritornerà al nodo continueremo ad avere l'abilitazione SysOp.
Comando L
Digitando L INDIRIZZO si potranno visualizzare i primi 256 byte a partire dall'indirizzo specificato.
è anche questo un comando poco utilizzato dal normale gestore del nodo.
Comando M
Serve per inserire dei dati in una certa locazione di memoria.
L'inserimento si effettua con la seguente sintassi: M INDIRIZZO WORD1 WORD2 WORD3 .... , in cui WORDn è una sequenza di caratteri esadecimali con taglia 16bit.
Ad esempio con M 37000 3031 3233 3435 3600 si inseriranno a partire dall'indirizzo 37000 i caratteri ascii "0123456" .
Anche questo è un comando non utilizzato generalmente.
Comando P
Questo comando e` stato gia`
spiegato nella sezione
Descrizione dei Comandi Utente ; il sysop puo` far seguire questo
comando da un numero che indichera` quante stazioni visualizzare nella lista P .
Comando R
Con questo comando è possibile fare partire il SuperVozelj da un nuovo software.
Digitando R , nell'ultima riga si potrà vedere qual'è l'indirizzo del programma attuale, che in genere è 41138.
Digitando ad esempio R 47138 si farà ripartire il software dall'indirizzo 47138 .
A questo punto, il SuperVozelj ignora tutti i dati precedentemente esistenti e riparte dal nuovo indirizzo come se fosse stato appena acceso, quindi tutti gli utenti prima collegati risultano praticamente ignorati dal nodo.
Per questo motivo è utile inviare il comando S * Reset fra 1 minuto: disconnettersi per indicare a tutti gli utenti di scollegarsi dal nodo in quanto verrà effettuato un reset in breve tempo.
Leggere attentamente la sezione Caricamento nuovo software prima di effettuare qualsiasi prova con questo comando.
Comando S
Come per gli utenti, il comando S serve per inviare una linea di testo al nominativo o al gruppo di nominativi specificato.
L'unica differenza consiste nel fatto che , con l'abilitazione SysOp, il testo verrà inviato ai nominativi specificati anche se questi sono impegnati in trasferimenti binari, forward, eccetera, cioè anche ai nominativi che hanno il downlink attivo (connessioni dal nodo verso altre stazioni).
Nel caso di normale utente, invece, la linea sarebbe stata inviata solo agli utenti specificati che risultavano collegati al nodo senza però che avessero un downlink attivo verso un'altra stazione.
Comando T
Serve per settare il CTEXT, ovvero il testo che viene inviato alla connessione al nodo.
Vale lo stesso discorso fatto per i comandi B,I,H,N.
Comando V
Usato senza parametri, consente di vedere la lista dei nodi.
Se viene seguito dal parametro 0 ( V 0 ), fa partire subito le connessioni per l'autorouting.
Se invece viene seguito da due parametri, con la sintassi V MAX_DOMET INTERVALLO , ad esempio V 100 1000, setta il domet massimo sopra il quale un nodo non viene inserito nella lista V dell' autorouting, e l'intervallo di tempo dopo il quale avviene l'incremento del domet.
Quando un SuperVozelj richiede la connessione verso un altro SuperVozelj per scambiare le informazioni di routing, incomincia a contare il numero di millisecondi impiegati per il trasferimento di tutte le informazioni.
Questo tempo verrà poi diviso per il parametro INTERVALLO, ed aggiunto al domet di tutti i nodi che verrano successivamente ricevuti dal quel nodo.
Nella lista O sarà possibile vedere il tempo impiegato per l'invio delle informazioni di routing in millisecondi.
Comando W
Serve per specificare la lista di tutti i nodi SuperVozelj e ItaNet direttamente collegabili.
Ad esempio, se nelle frequenze del nodo sono collegabili i nodi VV:IR3VV TVA:IR3TVA TVC:IR3TVC PADOVA:IR3PD , bisognerà inserire tutti questi nominativi nella lista W con il comando W VV IR3VV TVA IR3TVA TVC IR3TVC PADOVA IR3PD , oppure inserendo questi nominativi su più linee (il risultato non cambia).
Comando Y
Nel software prodotto da S52D, è un comando molto importante che serve per cambiare il valore dei parametri AX.25 principali del nodo.
La sintassi è Y CANALE N_PARAMETRO VALORE , ad esempio Y 2 1 20 per settare il Txdelay del canale 2 a 20ms .
Comando Z
Attraverso questo comando si inseriscono tutte le chiamate ai SuperVozelj adiacenti (collegabili direttamente) per effettuare il passaggio delle informazioni di autorouting, e tutte le chiamate alle stazioni NON SuperVozelj inserite nella lista A.
La sintassi è Z CANALE:NODO CANALE2:NODO2 ... , ad esempio Z 2:VV 3:TVA 2:TVC .
In questo modo ogni 14 minuti verranno fatte le chiamate verso i nodi specificati nei canali specificati.
Comando @
Attraverso questo comando è possibile mandare in trasmissione per circa 10 secondi un canale , ma in questo caso verranno trasmessi solo i flags delimitatori di pacchetto.
Risulta utile per puntamenti di antenne, o per prove su banco per vedere come trasmette una radio.
Questo comando deve essere seguito dal canale in cui si vuole trasmettere i flags, ad esempio con @ 2 il nodo manderà in trasmissione la radio per 10 secondi sul canale 2.
Di solito si usa questa funzionalità per poi analizzare all'oscilloscopio il rapporto segnale disturbo della radio, oppure la probabilità di errore del modem.
Comando #B
Consente di inviare al SuperVozelj un blocco di dati binari da inserire a partire da un certo indirizzo.
In genere serve per inviare il nuovo software da cui si vuol far ripartire il programma; l'operazione di invio del software e di restart del programma viene spiegato nella sezione Caricamento nuovo Software.
Comando [
Abilita il monitor del traffico sul canale specificato per al massimo un certo numero di pacchetti.
La sintassi è [ CANALE N_FRAMES , ad esempio [ 2 1000 per visualizzare il numero di frames ricevuti e trasmessi nel canale 2 .
Il SuperVozelj invierà in unproto ogni singolo frame ricevuto o trasmesso nel canale specificato, senza il contenuto del campo Info, e con tutti i parametri espressi in forma esadecimale.
Attraverso il programma MON.EXE sarà possibile decodificare tutte le informazioni e leggerle comodamente in un file.
In particolare, per ogni frame viene visualizzato il numero di millisecondi trascorsi da quando è stato inviato il comando [ , nominativo di destinazione, nominativo mittente, control byte, PID, e lunghezza del campo info del frame.
3.3 Descrizione dei parametri AX.25
Parleremo in questa sezione dei
comandi AX.25, noti a tutti ma non certo assimilati da chiunque.
Sono molto importanti, ed è utile conoscerli a fondo per poter configurare il
nodo SuperVozelj nel migliore dei modi.
Notare che alcuni parametri vengono utilizzati in algoritmi più o meno complessi per calcolare il tempo di risposta e il tempo di frack effettivo, il quale varierà in funzione di variabili interne del SuperVozelj.
TxDelay:
indica dopo quanti millisecondi trasmettere i pacchetti dopo aver posto la radio in trasmissione; serve per fare in modo che prima di trasmettere i frames di dati utili, la radio si sia ben agganciata in frequenza e risulti pronta per la trasmissione.
Questo parametro determina la velocità dei link, e deve essere aggiustata al minimo indispensabile in modo da non utilizzare il canale radio per trasmissioni superflue.
Per radio commerciali, questo
parametro può variare da 200 a 500 ms , mentre per radio dedicate può essere
abbassato fino a 3 ms per le radio a 1.2 Mbps progettate da S53MV.
Per radio a 38400bps, di norma va settato a 20-30 millisecondi.
Inoltre, il TxDelay viene utilizzato come SlotTime per la determinazione della probabilità di andare in trasmissione insieme al parametro Persistance , che comunque verrà spiegato successivamente.
TxTail:
indica il numero di millisecondi in cui la radio, terminata la trasmissione dei frame utili, trasmetterà i Flags delimitatori di pacchetto....è indispensabile che questo valore sia di almeno qualche millisecondo, altrimenti non verrà mai ricevuto dalle altre stazioni l'ultimo frame trasmesso.
Frack:
viene utilizzato in un algoritmo che tiene in considerazione il numero di retry effettuati verso ciascun utente, ed indica il tempo dopo il quale, se non verrà ricevuto alcuna risposta, si verificherà una ritrasmissione.
Ecco di seguito una lista di
valori comunemente usati per diverse velocità radio:
1.2 Mbps 200-300ms
38400bps 800-1000ms
9600bps 2000-3000ms
2400bps 5000-6000ms
1200bps 7000-8000ms
L'abbassamento eccessivo di questo parametro comporterà, in caso che il maxframe sia molto elevato, l'invio di frame di poll supplementari, quindi di traffico inutile, che provocherà un rallentamento globale dei collegamenti di quel canale.
RespTime:
indica non solo il tempo di conferma ad un frame di info inviato da un utente, ma anche il tempo aspettato prima di inviare ad un utente un certo numero di frame di informazione.
Anche questo parametro viene utilizzato in un algoritmo che analizza la percentuale di traffico prodotto dal nodo; infatti, indicando con PROCPTT l a percentuale (da 0 a 100) di tempo in cui il nodo risulta in trasmissione nel canale in esame, il tempo di risposta sarà calcolato secondo l'algoritmo ( ( (PROCPTT / 32) + 1) * RESPTIME ) .
In questo caso, il tempo di risposta aumenterà proporzionalmente con la percentuale di attività del PTT del nodo, e quindi con la percentuale di attività nel canale effettuata dal nodo.... nel caso che nessun utente effettui download attraverso il nodo, il tempo di risposta risulterà veloce, mentre nel caso in cui gli utenti richiedano dal nodo molte informazioni (magari attraverso trasferimenti file) , il tempo di risposta aumenterà in modo che non vi siano utenti privilegiati che con parametri troppo stretti monopolizzino il traffico nel canale.
Riporto qui di seguito la lista di valori consigliati:
1.2 Mbps 10-20ms 38400bps 80-150ms 9600bps 150-200ms 2400bps 150-300ms 1200bps 250-500ms
Persistance:
indica la probabilità di andare in trasmissione subito,modulo 65536.
Questo significa che tanto più questo parametro si avvicino a 65535, quanto più probabilmente il nodo andrà in trasmissione dopo aver aspettato un tempo pari a RespTime.
L'algoritmo utilizzato è il solito Persist/Slottime, in cui viene utilizzato Txdelay come Slottime; facciamo un esempio.
Il SuperVozelj deve trasmettere dei frame su un certo canale: aspetterà per un tempo pari al RespTime di quel canale, dopo di che genera un numero casuale: se questo numero è minore del parametro Persistance, manderà in trasmissione il canale, altrimenti aspetterà per un tempo pari al Txdelay di quel canale e rigenererà un altro numero casuale...se questo è minore di Persistance, andrà in trasmissione, altrimenti aspetterà ancora per un tempo pari al Txdelay, e così via.
è quindi necessario settare questo parametro tenendo conto del numero di utenti che in genere è presente in ciascun canale, e della lunghezza del Txdelay; per canali che usano un Txdelay basso (fino a 20-30 ms) è consigliato il settaggio del Persist a valori di circa 16384 (che fornisce una probabilità media di andar in trasmissione subito del 25%) , mentre per canali radio in cui il Txdelay è superiore ai 150 ms è consigliabili utilizzare un Persist di almeno 32768 (che fornisce una probabilità media di andare in trasmissione subito del 50%) .
Per canali di collegamento non radio (KISS, CRC-KISS, HDLC link con altri TNC, ecc) vale la pena utilizzare un Persistance massimo (65535) dal momento che si tratta di canali utilizzati da solo 2 utilizzatori (SuperVozelj collegato con un altro sistema, quale TNC, PC, ecc) .
Infatti, l'algoritmo Persist/Slottime serve solo per limitare le collisioni, creando cioè un sistema secondo il quale il ritardo prima di andare in trasmissione è casuale.
Maxframe:
è il numero massimo di frame che verranno inviati a ciascun utente in quel canale... il numero di frame trasmessi a ciascun utente, nel SuperVozelj, è variabile, ed è calcolato in modo da rendere più veloce possibile il trasferimento limitando però la congestione nel canale.
Infatti, il numero massimo di frame trasmessi è sempre compreso fra i parametri Maxframe e Minframe, e viene incrementato di 1 ogni volta che l'utente riceve tutti i frame trasmessi, mentre viene decrementato nel momento in cui l'utente non riceve alcuni pacchetti.
Questo algoritmo risulta molto valido in quanto, se la comunicazione con un utente va molto male, il numero di frame trasmessi ogni volta risulterà minimo : è infatti inutile trasmettere sempre 7 frame ad un utente se questo difficilmente ne riceve uno per volta.
Invece, se la comunicazione con un altro utente va benissimo, il numero di frame trasmessi sarà massimo (uguale a Maxframe) per fare in modo di velocizzare la comunicazione con quell'utente.
Da un lato quindi vengono premiati gli utenti ottimali, dall'altro il SuperVozelj cerca di limitare la trasmissione inutile di pacchetti per lasciare sempre libera la frequenza.
A questo punto sembra ovvio settare Maxframe ad un valore di 7, giusto? Invece no! . Ad esempio, se vi sono 3 utenti collegati ad una porta a 1200bps, di cui 2 stanno effettuando un prelievo di files, e l'altro stàcolloquiando con un altro utente, nel caso in cui la trasmissione vada bene con tutti i 3 utenti il nodo trasmetterà ogni volta 7 frame al primo utente, 7 frame al secondo, e qualche eventuale frame al terzo.
La trasmissione di 14 frame a 1200bps mantiene in trasmissione la radio per almeno 25 secondi, e questo comporta il problema che l'utente numero 3, prima di ricevere o trasmettere qualche pacchetto, dovrà aspettare moltissimo tempo.
In questo caso consiglio di settare il parametro Maxframe a 2-3 per i canali a 1200bps, 4 per canali a 2400, e 7 per canali a velocità più alta.
Minframe:
per quanto risulta detto nella spiegazione del parametro Maxframe, sembra evidente che questo parametro debba essere settato a 1.
Ancora una volta ciò che sembra logico non risulta appropriato.... infatti, per canali a 38400bps o velocità superiori, il tempo impiegato per la trasmissione di 1 o 2 frame, è paragonabile al tempo del Txdealy e Txtail, e proprio per questo tipo di canali è consigliato un Minframe di almeno 3 .
In ogni caso queste considerazioni devono essere poi valutate più accuratamente secondo la situazione particolare in cui si trova il nodo.
IPollLen:
questo è un parametro inserito per apportare una modifica al protocollo AX.25, ed è molto importante per velocizzare le tratte ad alta velocità e quelle in cui si verificano tante ritrasmissioni.
Facciamo subito un esempio: un utente sta prelevando un file in un canale del SuperVozelj.... il nodo gli trasmette alcuni frames, dopo di che aspetta l'ACK (conferma) dall'utente....se questo non risponde entro breve tempo con la conferma, il nodo penserà che la causa della mancata ricezione dell'ACK possa essere causata da due eventi:
1. L'utente ha trasmesso l'ACK, ma contemporaneamente a qualche altra stazione: si è verificata una collisione.
2. L'utente non ha ricevuto alcun frame di quelli inviati dal nodo.
Poichè è molto improbabile il primo evento (infatti la trasmissione di un ACK impiega di solito meno di 1 secondo, quindi è difficile che si verifichi una collisione per una trasmissione così breve), il SuperVozelj penserà che l'utente non abbia ricevuto nessun frame; normalmente dovrebbe trasmettere quindi un frame di POLL (tipo RRn+) per forzare l'utente a trasmettere la conferma, però se la lunghezza del primo frame inviato non è eccessiva, il SuperVozelj adotterà un'altra strategia: invierà nuovamente il primo frame frame precedentemente trasmesso con il POLL bit settato (frame informazione tipo Inn+) .
In questo modo anzichè perdere tempo per inviare una richiesta di ACK (trasmissione del Txdelay, del tempo di trasmissione di 18 byte che costituiscono l'header AX.25 del frame, e del Txtail) , vengono spesi pochi millisecondi in più per trasmettere anche il primo frame precedentemente inviato, che molto probabilmente non venne ricevuto dalla stazione ricevente.
Questo sistema è soprattutto molto valido nel caso di comunicazioni difficili in cui la probabilità di ricevere degli errori è notevole... in questo caso la velocità di comunicazione con quell'utente aumenta incredibilmente utilizzando questa strategia.
Il parametro IPollLen setta la lunghezza massima del primo pacchetto affinchè, nel caso di richiesta di ACK, venga ritrasmesso il primo frame con il poll bit settato, anzichè la sola richiesta di poll.
Consiglio di settare l' IPollLen a 300 per tutti i canali radio con velocità maggiore-uguale a 38400bps, e di settarlo a 200 per tutte le altre porte; in questo modo si avranno risultati soddisfacenti.
Netrom:
questo parametro serve per l'abilitazione dell'autorouting NetRom attraverso una rete di SuperVozelj.
Infatti, ogni frame unproto inviato a NODES con il PID CF , cioè ogni frame di broadcast dei nodi NetRom, viene interpretato in modo speciale dal nodo SuperVozelj.
Per default, nel parametro Netrom viene specificato di ritrasmettere tutti i frame di broadcast dei nodi NetRom in tutti gli altri canali, e questo consente a tutti i nodi NetRom collegabili dal SuperVozelj di riconoscersi e di collegarsi utilizzando il SuperVozelj come digipeater.
Facciamo un esempio: nel canale 2 del SuperVozelj esiste un nodo NetRom chiamato IR3NET-2 , mentre nel canale 3 del SuperVozelj esiste il nodo IR3NET-7.
Quando IR3NET-2 invierà il broadcast dei nodi, il SuperVozelj che decodificherà questo frame analizzerà il parametro Netrom del canale 2, e vedrà quali sono i canali in cui il frame di broadcast potrà essere ritrasmesso.
Se nel parametro Netrom è specificato di ritrasmettere tutti i frame di broadcast dei nodi NetRom sul canale 3 , ad esempio, il SuperVozelj invierà sul canale 3 il frame
fm IR3NET-2 to NODES via IR3TVB-2
contenente le informazioni di
routing.
IR3NET-7, che riceverà questo frame, riconoscerà l'esistenza del nodo
IR3NET-2 (che apparirà nella lista delle routes nel seguente modo:
0:nnn IR3NET-2 via IR3TVB-2
ed inoltre inserirà nella lista
dei nodi tutti i nodi connettibili da IR3NET-2 .
Lo stesso dicasi per il nodo IR3NET-2, che riconoscerà il nodo
IR3NET-7 via IR3TVB-3
Per ulteriori informazioni, leggere la sezione Configurazione del sorgente ASM .
4.1 Configurazione del sorgente ASM
Verranno inserite in futuro le
informazioni di base per la modifica del sorgente ASM: questa operazione infatti
si rende necessaria in pochissimi casi, in cui qualcuno vuole inserire delle
particolarita` e modifiche al nodo.
In genere il software non richiede modifiche, quindi
si
potra` configurare il sorgente binario utilizzando la comoda utility SVCFG
, il cui modo di utilizzo e` spiegato piu` avanti.
4.2 Configurazione del sorgente BIN
La configurazione del sorgente
binario si effettua con una utility che esegue il patch , ovvero che va a
modificare direttamente i byte in cui sono situati i vari parametri;
in questo modo non e` necessario effettuare alcuna compilazione, e si potra`
quindi risparmiare tempo per vare un sorgente configurato in modo sicuro.
In genere vengono distribuiti
insieme all' utility SVCFG anche due sorgenti, di cui uno con nome MSVnnx.BIN
serve per la configurazione del software per MidiSuperVozelj, mentre il file
SVnnx.BIN serve per la configurazione del software per SuperVozelj.
Ricordo che il MidiSuperVozelj e` la versione rifatta del progetto originale, in
cui non e` richiesto l'uso della scheda RAM, che risulta pertanto opzionale, ed
in cui e` stato implementato l'alimentatore switching e il circuito di watchdog.
In molti casi, terminata la fase di configurazione del nodo, l'utility SVCFG restituisce delle informazioni su come e` possibile caricare il sorgente da remoto (indirizzi da utilizzare); queste informazioni sono valide soltanto se il software utilizzato attualmente del nodo e` del tipo 79a o successivo, configurato sempre con SVCFG .
4.3 Configurazione del Nodo da remoto
è possibile inviare i vari
comandi per settare il nodo ed inserire testi di informazione in modo manuale,
ovvero inviando un comando alla volta.
In genere, per settare interamente un nodo, si può fare uso di un file di testo
in cui vengono messi tutti i comandi da inviare.
In questo modo, però, è
necessario utilizzare programmi terminali come il TST o TPK (non TstHost, SP,
ecc) i quali utilizzano il TNC in modo terminal; è necessario utilizzare infatti
il modo terminal in quanto il SuperVozelj vuole che per ogni frame ci sia un
solo comando, ovvero il firmware del TNC dovrà inviare il frame appena viene
ricevuto il carattere di ritorno carrello.
Infatti, mentre i programmi host tendono ad inviare tutti frame di lunghezza
prefissata, è necessario che ogni frame venga inviato appena viene rilevato il
carattere ENTER.
A questo punto, basteràcollegarsi al nodo, inviare il comando K seguito dalla password, e poi richiedere al TST o TPK di inviare il file di configurazione che avrà una sintassi del tipo:
A _ A !IW3GRX 1 IW3GRX-8 B _ B Nodo SuperVozelj di Treviso, JN65BQ V 200 1000 H _ H List of available commands: H A -> List of connectable stations....
eccetera.
Cliccando qui di seguito e` possibile vedere come puo` essere organizzato un file di configurazione per SuperVozelj per la configurazione delle informazioni e dei parametri del nodo.
In alternativa, e` possibile inviare il file di configurazione utilizzando il programma terminale TSTHOST ; in questo caso bisognera` utilizzare l'utility SVMAC.EXE per convertire il file di configurazione nel formato MACRO di TSTHOST ; digitando ad esempio SVMAC TVB verra` creata la macro TVB, quindi bastera` poi collegarsi con TSTHOST al nodo, inviare la password, passare in modo CMD (premendo il tasto F10) e digitare TVB per far partire la macro.
4.4 Caricamento nuovo Software
Descriveremo qui di seguito l'intera procedura per il caricamento del nuovo software in RAM (da remoto) e per far ripartire il programma del nodo dal nuovo software appena caricato.
Innanzitutto, il SuperVozelj
consente la rilocazione del programma, che deve trovarsi necessariamente in RAM.
Quando viene acceso, infatti, la prima parte del programma (la cui lunghezza è
138 in esadecimale) non fa altro che settare il vettore d'interrupt e copiare il
contenuto della eprom in ram.
In questo caso l'esecuzione risulta velocizzata in quanto il bus della ram è a 16 bit, mentre il bus della eprom è a 8 bit.
Il contenuto della eprom viene caricato per default all'indirizzo 41000, dopo di che, terminata la fase di copiatura da ram ad eprom, il programma esegue una istruzione di salto all'indirizzo iniziale + 138 , ovvero 41138.
Il software 79a occupa tutto il banco di ram dall'indirizzo 41000 all' indirizzo 47000, lasciando libera la zona di memoria dall'indirizzo 47000 all'indirizzo 4D000 (24 Kb), sufficiente per il caricamento di un altro software.
Sarà quindi possibile caricare il nuovo software all'indirizzo 47000,e farlo poi ripartire dall'indirizzo 47138.
Per fare una prova, basterà digitare E 41000 47000 6000 per ricopiare 24Kb di ram dall'indirizzo 41000 all'indirizzo 47000 (praticamente per copiare il software attualmente in esecuzione nell'altro spazio riservato al software caricato da remoto) e poi digitare R 47138 per mettere in esecuzione il software appena copiato.
Attenzione! Alcune versioni CMOS dell'integrato 82C55 (in particolare quello prodotto dalla Intel) non consentono il restart del software!!
Vediamo ora qual'e la procedura per inviare il software al nodo:
Invio software con protocollo AutoBin
Questa modalità, molto veloce, è possibile soltanto nel caso in cui il nodo utilizzi la versione di software di S52D, ad esempio la versione 79a, 79b, eccetera.
è necessario utilizzare i programmi che implementano il protocollo AutoBin, quali SP (Eskay Packet), GP (Graphic Packet), TNT, eccetera; la procedura consiste nel
- Collegarsi al nodo ed
inviare, attraverso il comando K, la password.
- Inviare il comando #B
INDIRIZZO , specificando quindi l'indirizzo in cui si caricherà il software
(per default 47000) , ad esempio #B 47000.
A questo punto il nodo risponderà con un messaggio di errore, nel caso ci sia già qualche altro upload del software in corso, oppure con il messaggio "Ok, invia pure..." ; nel caso che il comando sia stato accettato, sarà necessario
- Iniziare l'upload del
sorgente binario con protocollo Autobin; utilizzando il programma terminale SP
bisognerà digitare il tasto ESC e scrivere SB FILENAME.BIN , in cui
FILENAME.BIN è il nome del software binario prodotto dalla compilazione del
sorgente ASM, oppure il file prodotto dall'utility di PATCH SVCFG.EXE .
Ad esempio, se il file contenente il nuovo software da mandare al nodo si chiama IR3TVB.BIN, bisognerà digitare SB IR3TVB.BIN .
- Finito il trasferimento,
controllare che il CRC calcolato dal nodo sia eguale a quello calcolato dal
programma terminale, per assicurarsi che non ci siano stati errori durante
l'invio.
- Riinviare la password, con comando K, e successivamente far ripartire il nodo dal nuovo indirizzo con il comando R INDIRIZZO, in cui INDIRIZZO risulta in genere quello in cui si è caricato il software più 138 , quindi seguendo l'esempio dovremo digitare R 47138 .
Invio software in ascii
Questa modalità d'invio del software è abbastanza lenta, in quanto richiede l'invio di un file di circa 60 Kb generata attraverso il programma ZAGOR.EXE presente nel dischetto di distribuzione.
L'uso di questa procedura è necessaria solo nel caso in cui il nodo utilizzi un software prodotto da S53MV, che non implementa l'invio del sorgente con protocollo Autobin, mentre è sconsigliata (per la sua lentezza) negli altri casi.
Inoltre, è possibile utilizzare questo sistema solo nel caso che il sorgente da inviare sia il risultato della compilazione del sorgente ASM, mentre non si può inviare i sorgenti prodotti dalla utility SVCFG.EXE.
La procedura è la seguente:
- Modificare il file
FILENAME.ASM contenente il sorgente, e poi effettuare la compilazione con il
comando DO FILENAME; se il file ASM da modificare è IR3TVB.ASM, bisognerà
digitare DO IR3TVB.
- Terminata la compilazione,
richiamare il programma ZAGOR, il quale chiederà di inserire FILENAME (secondo
l'esempio bisognerà digitare IR3TVB), e successivamente l'indirizzo di
partenza in cui mettere il sorgente (secondo l'esempio 47000) .
ZAGOR produrrà un file di nome 0.0 di circa 60 Kbyte.
- Inviare il file ascii 0.0
utilizzando TST o TPK (NO TSTHOST,SP,ecc), ad esempio, utilizzando il TST,
sarà necessario collegarsi al nodo, inviare la password, e poi digitare ALT-S
e successivamente scrivere il nome del file da inviare, cioè 0.0
- Attendere l'invio completo del file, e successivamente digitare R INDIRIZZO da cui far ripartire il software, di solito R 47138
Attenzione! Dopo il comando R
INDIRIZZO il nodo ripartirà dal nuovo software ignorando completamente le
connessioni precedentemente attive!!
Per questo motivo si consiglia di utilizzare il comando S * RESET DEL NODO,
DISCONNETTERSI per avvertire gli utenti che il nodo verrà resettato.
Per verificare se l'upload e il
restart del nodo sono stati eseguiti correttamente, dopo aver digitato R
INDIRIZZO sarà necessario disconnettersi forzatamente dal nodo, per poi
ricollegarsi e digitare il comando R per verificare che l'indirizzo di
esecuzione del programma del nodo coincida con quello specificando
precedentemente nel comando R INDIRIZZO .
Se l'indirizzo riportato nell'ultima riga del comando R è differente da quello
specificato, significa che il nodo ha incontrato degli errori ed è ripartito dal
vecchio software in eprom.
5.1 Configurazione di FBB
Vediamo ora di spiegare i concetti base per l'uso del software FBB in una rete SuperVozelj,
Invio dei Beacon
Nel file BEACONx.SYS e` possibile specificare piu` path attraverso cui mandare
il beacon del bbs, e ciascuno di questi path viene specificato dopo il carattere
'!' ; ovvero il formato del BEACONx.SYS potra` essere il seguente:
% 15 MANDA IL BEACON OGNI 5 MINUTI ! MAIL MANDA IL BEACON NEL CANALE ! MAIL IR3TVB-4 FA RITRASMETTERE IL BEACON ANCHE NEL CANALE 4 DI IR3TVB ! MAIL IR3TVB-6 FA RITRASMETTERE IL BEACON ANCHE NEL CANALE 6 DI IR3TVB
ed ovviamente si potranno
specificare anche piu` digi, come ad esempio
! MAIL IR3TVB-2 IR3VV-5
e cosi` via.
In genere il beacon di FBB non e` poi cosi` utile, mentre risulta molto piu`
interessante inserire preziose informazioni nella lista I e N dei nodi,
specificando quali sono i servizi collegabili dalla rete.
Invio della lista Unproto
Per quanto concerne le informazioni UNPROTO, queste potranno essere ritrasmesse
utilizzando sempre i nodi SuperVozelj come dei digipeater; tengo a sottolineare
che l'invio della lista UNPROTO e` comunque quanto di piu` assurdo possa
esistere, in quanto prelevare la lista dei messaggi risulta un'operazione
estremamente lenta con occupazione eccessiva del canale.
Sebbene si possa farla ritrasmettere attraverso i vari digipeater, allo stesso
modo dei beacon, consiglio caldamente di disabilitarla; in tal modo un utente
che usa il programma TSTHOST potra` prelevarsela nel seguente modo:
- Registrare cio` che verra`
ricevuto con il comando REC TMP , in cui TMP e` il nome del file da utilizzare
- Digitare LR per listare
tutti i messaggi non ancora letti
- Chiudere il file TMP con il comando REC OFF e successivamente inviare il comando ULIST MERGE TMP per caricare la lista dei messaggi appena salvata nella lista unproto di TSTHOST
Questo e` il modo piu` veloce (basta un minuto per prelevarsi la lista di tutti
i messaggi) e soprattutto efficace (occupazione minima del canale) per
l'utilizzo delle funzioni UNPROTO implementate in tsthost.
Chiamate di forward
Le chiamate di forward devono essere fatte richiamando il primo SuperVozelj con
l'SSID compreso tra 12 e 14 , in modo da eliminare la funzione RECONNECT .
Vediamo un esempio di chiamata in un file di forward:
C C IR3TVB-15 C C I3KUH
cosicche`, quando sara` connesso il nodo IR3TVB-15, verra` poi richiamato il bbs I3KUH sfruttando le informazioni di autorouting dei SuperVozelj.
Vediamo ora un esempio molto piu` complicato:
C C IR0LT-14 C C 2 IR8NA-7 C C IR8AVR-14 C C IW7BNO
In questo caso viene prima
chiamato il SuperVozelj IR0LT con SSID 14 (tale da disabilitare il reconnect), e
successivamente viene richiesta la connessione sul canale 2 con il nodo TheNet
IR8NA-7.
A questo punto viene richiesta la connessione con il nodo SuperVozelj IR8AVR-14,
e successivamente viene richiesta la connessione con IW7BNO attraverso la rete
SuperVozelj in modo automatica, sfruttando cioe` le informazioni autorouting.
Nel caso in cui sia necessario
effettuare piu` chiamate contemporanee, bisognera` ovviamente chiamare il primo
SuperVozelj con SSID diversi, ad esempio in un file di forward richiamare
IR0LT-15, nell'altro IR0LT-14, poi IR0LT-13 ed infine IR0LT-12 .
Si puo` inoltre richiamare lo stesso SuperVozelj anche con il suo ALIAS, ovvero
si puo` chiamare LATINA-15, LATINA-14, LATINA-13, e LATINA-12, cosicche` si
potranno in totale avere 8 chiamate di forward attraverso un certo SuperVozelj.
9.1 Conclusioni
Sicuramente questo testo risultera` in prima lettura noioso, certo la documentazione di un nodo cosi` complesso e completo come il SuperVozelj non puo` non essere prolissa.
Credo che in questo testo si possa trovare tutte le informazioni di cui si ha bisogno per il corretto setup di un nodo, oltre ad una pesante infarinatura per chi, spinto da curiosita`, vuole capire le possibilita` offerte da questo nodo.
La documentazione e` stata scritta in formato HTML affinche` risultasse presentabile e potesse godere delle magnifiche possibilita` offerte da questo linguaggio, quali la possibilita` di creare link, di inserire immagini, creare menu` eccetera; tuttavia ho cercato di fare il minor uso possibile di queste funzioni per poter poi ricompilare facilmente la documentazione anche nel formato WinHelp, formato molto piu` accessibile grazie alla notevole diffusione di Windows(TM) .
Per ora questa documentazione risulta pubblicata anche su InterNet all' indirizzo:
http://www.iw9exl.ampr.org/supervozelj.html http://linux1.cisi.unito.it/SuperVozelj http://www.sunrise.it/hamradio/supervozely/supervoz.htm
9.2 Ringraziamenti
Vorrei innanzitutto ringraziare Matjaz S53MV, ideatore del SuperVozelj, che ha voluto spendere moltissimo tempo per la realizzazione di un sistema cosi` complesso e completo per la gestione di un nodo Packet.... ricordo che tutti gli schemi elettrici del nodo sono stati pubblicati in diverse riviste, senza nessun vincolo nella distribuzione (assenza di copyright), cosi` come il software del SuperVozelj, un file con piu` di 5000 righe di codice scritto interamente in assembler, è liberamente distribuito senza alcun vincolo.
Un ringraziamento particolare anche a Iztok S52D, Slovenian Packet Manager, che ha curato moltissimo il software del SuperVozelj rendendolo compatibile con il protocollo di forward dei BBS e DX-CLUSTER, ha aggiunto nuove possibilita` come la configurazione di porte in KISS o CRC-KISS, ha aggiunto nuove statistiche che rendono facilmente diagnosticabile la situazione dei nodi, ha implementato la possibilita` di cambiare i parametri AX.25 attraverso un semplice comando, ha introdotto la possibilita` di attivare il monitor per visualizzare il traffico nei canali del nodo e per conoscere lo stato dei link, ma soprattutto ha avuto la pazienza di ascoltare qualche mia richiesta per il miglioramento del nodo, aiutandomi a tradurre le mie idee in righe di codice da inserire nel sorgente.
Ringrazio inoltre Luca IW3GRW, che ha ridisegnato le schede del SuperVozelj, grazie al quale si e` estesa la rete SuperVozelj anche in Italia; a Ferruccio IW3QUB, interlocutore con Matjaz, che ci ha permesso di ottenere facilmente le schede ed il materiale per la realizzazione delle radio per la trasmissione dati; a Andrej IV3KCB, con le sue preziose traduzioni di messaggi ed informazioni slovene, ed a Damiano IK3XJM, che ha creato una preziosa e comoda utility per la modifica dei sorgenti binari del MidiSuperVozelj.
Un prezioso aiuto ci e` stato dato anche dai team di IW9EXL,IK1QLD e IW3FPP/IW3FS, che hanno voluto pubblicare questa documentazione in internet, rendendola accessibile ad un vasto numero di persone.
Infine va un meritato ringraziamento a tutti coloro che ci hanno permesso di portare avanti la rete SuperVozelj in Italia installando nodi o dandoci un supporto tecnico/morale; in questa lista sono in particolare presenti
I0OJJ I0XNH IK0OHU IK0PCJ IS0FQN IS0MYN IW0CFV IW0FEF IW0FGK I1DEP I1YLM IK1DLX IK1MSL IK1WHN IK1XJT IW1EZO I2REO IK2NHL IW2FOG IW2FVK IW2JIY IW2KTL IW2LSI I3EEL I3KUH I3NXU IK3DNT IK3GET IK3NOK IK3UMT IK3VHJ IK3XTQ IN3ASW IV3SDE IW3FFU IW3FJT IW3FQG IW3GEW IW3GXW IW3HAO IW3HPK I4EUM IK4ICZ IK4LEI IK4XQP IW4BYK IW4CNQ IK5CKL IK5SIL I6DQE IK6IHG IW6ASW IW6OCM I7NRG IK7EZN IK7FDX IK7MXD IW7AFO IW7BNO I8WYA IK8FKR IK8HJC IK8SUT IK8VRI IK8YSW IW8ATR IW8DDV IW8PPY IW8XGB IT9DBK IT9JLW IT9QPF IT9XSX IW9ARX IW9BLB IW9CND IW9CNZ IW9EGR IW9GFE S56ACR S56JSC S59ZX
ed altri che non ho voluto citare per non rendere eccessivamente kilometrica la lista.