APRS IGate

APRS IGATE OH1HEK-15 IN TURKU FINLAND

Kooste:

Turun Yliopiston katolle keväällä 2006 asennetun APRSD-serverin virittely ohjeena muillekin. Tätä artikkelia ei ole päivitetty kirjoittamisensa jälkeen. Jokunen asetus on muuttunut. Jos olen kasaamassa omaa purkkia, niin ilmoitele. Voin kaivella vimeisimmät viritykset purkin sielulle. Pääsen purkille kohtuullisen vaivattomasti werkon kautta.

Turinaa

Koska itsellä on käytettävissä Turussa varmaan yksi parhaita paikoista antennille, teimme Lassen, OH1JF, kanssa paineen alla töitä saadaksemme pystyy APRS IGaten, eli pisteen, jossa radiolla lähetetty paikkainformaatio voidaan letkuttaa werkkoon. Työ aloitettiin antennin ja serverin rakentamisella. OH1JF confasi samalla MDR-150-pönttöä oikeisiin asetuksiin (ei tästä mitään olisi tullut ilman Lassen paneutumista asiaan).

IGaten virittely on edelleen kesken. Toivottavasti jaksat lähettää palautetta, mikäli keksit jotain korjattavaa. 144.800 MHz bandi on siksi ahdas, että kaikki turha ja virheellinen kannattaa karsia pois. Esimerkiksi on täysin turhaa aseman lähettää omaa sijaintiaa liian tiheään. Virittelyvaiheessa tietenkin voi käyttää tiheämpääkin signalointiväliä, mutta varsinaisessa käytössä puoli tuntia on ihan hyvä väli paikallaan pysyvälle asemalle.

Jos pistät APRSD:n pystyyn, tulet huomaamaan, että ohjelmiston dokumentointi on tasolla, johon on jo Linuxin kanssa aiemminkin totuttu. Itselläni ei ole kuin yritys - erehdys -menetelmällä hankittua tietoa APRSD:stä. Aprsd.conf -tiedoston varattuja sanoja ei ole listattu missään. Päätellen RimiGate -ohjelman mukana tulevasta conf -tiedostosta, näitä varattuja sanoja on ainakin jonkin verran enemmän, kuin esimerkkitiedostoissa on esitelty. Jos siis saat jotain selviteltyäm, lähetä minulle viesti, niin liitän tiedon tälle sivulle. APRSD:n eri verioista kerrotaan lisää toisaalla.

Laitteisto

TNC -purkiksi saatiin kierrätetty MDR-150, jonka Lasse golfasi kovalla kiireellä ja saikin parametrit kohdalleen ensimmäisellä yrittämällä.
Antenniksi valittiin Slim-JIM:n ( Link1 , Link2, Link3 ) kehitelmä, koska se syntyi nopeasti käsillä olleista osista. Yksi syy Slim-Jim:n valintaan oli siinäkin, että tarkoitus on ainoastaan vastaanottaa radiolähetettä, ei lainkaan lähettää, joten antennin mitoitus ei ole niin tarkkaa. (Tätä kirjoitettaessa pisin kopitus 16.5 km)


Käytä nosturia ja käännä oheinen rakennelma pystyyn valmistumisen jälkeen.
Lisäys 100906 Tein tästä antennista myös matkamallin. Asennusputken sijasta käytin 12 mm köyttä, jonka jätin molemmista päistä n. 20 cm ylipitkäksi. Johtimena käytin monisäikeistä 1.5 neliön asennusjohdinta. Työnsin johdon narun läpi, kuten kuvassa asennusputken läpi, juotin koksin ja teippasin kevyesti osat yhteen. Koksin juotin siten, että se lähtee juotoskohdasta ylöspäin. Tämä toisaalta siksi, että veden on hankalampi päästä koksiin ja toisaalta saadakseni koksin kauemmas antennista. Nyt koksi tekee pienen lenkin sivulle antennin alapään ohi.
Koksin pään suojasin kuumaliimalla, koska SIKA-tuubi oli tyhjä. Viimeistelyn tein neulomalla johtimen naruun kiinni, minkä jälkeen poistin teipit.
Vedin tämän antennin purjeveneen saalingin alle n. 7 m korkeuteen ja kytkin HAMDR:n kiinni. Yhteys toimi vielä 16 km päässä, missä laite jouduttiin muista syistä irroittamaan.
Tätäkään antennia tehdessä ei ollut rullamittaa ihmeempiä mittareita käytettävissä. Mittareita käyttäen olisi mahdollista saada SWR pienemmäksi. Säädettävänä mittana on koksin kiinnityspisteiden etäisyys antennin alamutkasta. Johtimen päiden väli on makeimmillaan (kuulema) n. 37 mm myös muille taajuuksille mitoitetussa Slim-Jim -tikussa.

Miksikö tälläinen Slim-Jim ? Siksi, että olen antanut itselleni uskotella, että sen säteilykenttä on litteämpi, kuin normaalissa J-tikussa. Litteä kenttä tarkoittaa sitä, että enemmän HAMDR:n käyttösavusta etenee horisontin, kuin Venuksen suuntaan.

PC on koottu käsiin jääneistä osista ja on 500MHz Celeron, 64MB muistilla ja 10 + 13 GB kovalevyillä. Kone on tarkoitettu aivan muuhuin käyttöön ja tulee vaihtumaan kesympään, kunhan ehditään.

Käyttöjärjestelmä on TIETENKIN Linux, Slackware 10.2, vaikka paremmin tietävien mielestä "Slackware ei ole enää tällä vuosituhannella ollut voittajan valinta näissä hommissa."
Ehkä se ei sitä ole, mutta edelleen varsin hyvä valinta moneen paikkaan. Varsinkin, kun Slackware koettaa tiukasti pysytellä standardin mukaisena eikä käännä kelkkaansa joka tuulen mukana.
Lisäksi Slackwaresta on helppo koota pieni asennus. Pienimmillään Slackwaren systeemille riittää 170 MB kovalevytilaa, swap-partitio ja data-alue. Tälläinen kone on tehokkaimmillaan levypalvelimena, missä hommat hoitaa Samba ja Apache.
APRSD-käyttöön pitäisi siis 1 GB kovalevyn riittää loistavasti.

Softa: APRSD . Ohjelma ei kaipaa minkäänlaista graafista käyttäjäliittymää ja on täysin etähallittavissa configuraatiofileitä puukottamalla. itse aprsd tiedoston koko on n. 255 kB. Suurin levykuorma aiheutuu lokitiedostoista.

Viritykset

Slackwaressa (10.2) asennus tapahtui normaaleilla *.tgz -paketeilla installpkg:llä ilman ongelmia.
Tarvittavat paketit olivat:
- ax25_tools-0.0.8-i386-2
- ax25_apps-0.0.6-i486-3
- libax25-0.0.11-i486-2
- aprsd-2.2.5_15-i486-1
- glibc-2.3.2-i486-6 oli jo koneessa

Osa paketeista saattaa olla mukana jo Linux-distribuution perusasennuksessa. Slackwaressa tämä näkee helpoimmin katsomalla, onko niistä merkinää hakemistossa /var/log/packages.

Golfattava materiaali on tuolla hakemistoissa /etc/ax25 , /etc/ax25/aprsd :ssä. sekä /etc/rc.d . Hakemistossa /var/log/aprsd on pelkkää tyhjää Minun tämänhetkiset (11d0706) versioni löytyvät serveriltä.

Minä en ole asiantuntija, joten tein varmasti joukon typeryyksiä ja sekoilin asetuksissa. Näin minä kuitenkin sain asian toimimaan:

- Tee varmuuskopio /etc/ax25/aprsd:stä
- Suorita (ilman lainausmerkkejä) "aprspass" ja anna sille syötteeksi oma kutsusi, esim "aprspass oh0eka" . Tuloksena saatava luku on aprs-verkossa tarvitsemasi 'password'
- Puukota /etc/ax25/aprsd/aprsd.conf , ohessa oma mallini: aprsd.conf .
Tiedostossa kaipaillaan tuota ylläolevaa aprspass sekä servercall.
Minusta IGate-purkin tunnuksena tuo itse käyttämäni OH1HEK-0 on ihan hyvä. Omat auto- ja venekoneeni tulevat olemaan OH1HEK-1, -2, -3 jne. Näin pelkkä OH1HEK jää puhekäyttöön.
- Puukota / etc/ax25/axports . Alla oma mallini MDR-150 pönttöä ajatellen:

# name callsign speed paclen window description
mdr     OH1HEK-0    19200        256     2       19200bps_144.800_MHz_MDR150

- Puukota /etc/ax25/aprsd/welcome.txt ja kopioi se hakemistoon /var/log/aprsd. Tämä on ilmeisesti välttämätöntä ohjelman toiminnan kannalta (?)
- Puukota /etc/rc.d/rc.aprsd seuraavasti (tässä on vain muuttunut osa).
aprsd_start() {
   if [ -r /var/run/aprsd.pid ]; then
    echo "APRSd already RUNNING!!!"
   else
    echo  -n "Starting APRS server daemon..."
	#Tälle riittäisi varmaan yksikin kerta asennuksen eka kerralla
	#Asentaa mkiss modulin kerneliin:
        	/sbin/modprobe mkiss

	#Tämä kytkee sarjaportin peliin mukaan.
	#Huom mdr samoin, kuin /etc/ax25/axports:
        	/usr/sbin/kissattach /dev/ttyS0 mdr 10.0.0.10

	#Tämä oli jossain ohjeessa, jotta logi toimisi:
        cd /var/log/aprsd
        
	/usr/bin/aprsd  -d /etc/ax25/aprsd/aprsd.conf
        touch /var/lock/subsys/aprsd
        touch /var/run/aprsd.pid
    echo " Done."
   fi
}
Tämän _pitäisi_ riittää käynnistämään aprsd bootissa, mutta itse muokkasin rc.local:n seuraavasti:
#!/bin/sh
# /etc/rc.d/rc.local:  Local system initialization script.
# Put any local setup commands in here:
# Automaattinen lokikirja:
echo "---" >>/home/ptmusta/uptime.txt
date >> /home/ptmusta/uptime.txt
df -Th >> /home/ptmusta/uptime.txt

#APRSD:n käynnistys:
if [ -x /etc/rc.d/rc.aprsd ]; then
  . /etc/rc.d/rc.aprsd start
  fi


- Lisää /etc/logrotate.conf:iin seuraava:
/var/log/aprsd/aprsd.log {
        weekly
        rotate 4 
}
/var/log/aprsd/loop.log {
        daily
        rotate 4
}
/var/log/aprsd/history.txt {
        daily
        rotate 4
}
/var/log/aprsd/rf.log {
        daily
        rotate 4
}
Tässä vaiheessa voi jo testata. Anna komento (ilman lainausmerkkejä):

"aprsd"

- Ohjelma sammuu hallitusti Ctrl-C:llä, jolloin se myös tallentaa history.txt:n
- komennolle voi antaa parametreinä -d , joka käynnistää ohjelman pyörimään näkymättömissä demonina. Toinen parametri on aprsd.conf tiedoston sijainti ja nimi. Ellei osoitetta ja nimeä anneta, ohjelma käyttää oletusarvoja. Slackwaren tapauksessa /etc/ax25/aprsd/aprsd.conf:

"aprsd -d /etc/ax25/aprsd/testi/aprsd.conf"

Ohjelman pitäisi tällä käynnistyä ohi /etc/rc.d/rc.aprsd:n ja alkaa minuutin välein heitellä dataryöppyjä ruudulle. Jos näin tapahtuu, mene toiselle koneelle, ja kokeile saatko web-yhteyden toimimaan antamalla selaimelle koneesi osoite seuraavasti:

"http://oma_aprskone.fi:14501"

Tämä tietenkin vaatii sitä, että koneessasi on httpserveri käynnissä.

Mene myös sivulle http://www.db0anf.de/hamweb/aprsdb/showdata/OH1HEK-0/shdigiusers
Kirjoita sinne oman koneesi tunnus ja tutki tilannetta.

Linuxin komennolla "ps ax" pitäisi näkyviin tulla ainakin seuraavaa:

 571 ?        S      0:00 /usr/sbin/kissattach /dev/ttyS0 mdr 10.0.0.10
  572 ?        S      0:01 /usr/bin/aprsd /etc/ax25/aprsd/aprsd.conf
  585 ?        S      0:00 /usr/bin/aprsd /etc/ax25/aprsd/aprsd.conf
  586 ?        S      0:00 /usr/bin/aprsd /etc/ax25/aprsd/aprsd.conf
  587 ?        S      0:00 /usr/bin/aprsd /etc/ax25/aprsd/aprsd.conf
  588 ?        S      0:00 /usr/bin/aprsd /etc/ax25/aprsd/aprsd.conf
  589 ?        S      0:00 /usr/bin/aprsd /etc/ax25/aprsd/aprsd.conf
  590 ?        S      0:00 /usr/bin/aprsd /etc/ax25/aprsd/aprsd.conf
  591 ?        S      0:00 /usr/bin/aprsd /etc/ax25/aprsd/aprsd.conf
  592 ?        S      0:00 /usr/bin/aprsd /etc/ax25/aprsd/aprsd.conf
  593 ?        S      0:00 /usr/bin/aprsd /etc/ax25/aprsd/aprsd.conf
  594 ?        S      0:00 /usr/bin/aprsd /etc/ax25/aprsd/aprsd.conf
  595 ?        S      0:00 /usr/bin/aprsd /etc/ax25/aprsd/aprsd.conf
  596 ?        S      0:00 /usr/bin/aprsd /etc/ax25/aprsd/aprsd.conf
  597 ?        S      0:00 /usr/bin/aprsd /etc/ax25/aprsd/aprsd.conf
  598 ?        S      0:00 /usr/bin/aprsd /etc/ax25/aprsd/aprsd.conf
  599 ?        S<     0:00 /usr/bin/aprsd /etc/ax25/aprsd/aprsd.conf
  600 ?        S      0:00 /usr/bin/aprsd /etc/ax25/aprsd/aprsd.conf
Ei ole tietämykseni piirissä, miksi näitä aprsd -rivejä tulee näin paljon.

Jollei systeemi toimi, niin palaa tarkistamaan asetuksia.
Tuonne /etc/services voi joutua lisäämään rivin:

aprsd           10151/udp  #pääovi
/etc/services tiedostossa määritellään Unixin palomuurisäännöt. Tämä 10151 -portti paiskaa clientin silmille koko viimeisen 30 minuutin historian. Parempi on käyttää vaikkapa 10152. Clientillä tarkoitetaan toisessa koneessa pyörivää Xastir, UIView tms ohjelmaa.
Porteista lisää tietoa toisella sivulla . Tosin pitää heti varoittaa, että täälä olevat confit ovat vanhentuneita. Virityksiä on sorkittu näiden jälkeen moneen suuntaan, mutta ovathan suuntaa-antavia.

Tarkastetaan, ilmestyykö /var/log/aprsd -hakemistoon mitään ja tutkitaan ilmestyneiden tiedostojen sisältö ongelmien varalta.
- aprsd.log -tiedostoon ilmestyy mainintoja pääosin vain aprsd:n kännistymisestä ja kaatumisesta.
- history.txt päivittyy 10 min välein.
- rf.log sisältää tietoa TNC:n ja PC:n välisestä liikenteestä.
- loop.log = ?. Tästä en ole löytänyt dokumenttia.

Omituisuudet, joita pitää vielä selvitellä:
- MDR:n nopeudeksi sanotaan jossain 9600 bd, samaten joillain werkkosivuilla väitetään aprsd:n sisäänkirjoitetuksi nopeudeksi 9600. Omassa aprsd.conf -fileessä nopeudeksi (tncbaud) on kuitenkin asetettu 19200 ja hyvin (?) toimii.

Kokemuksia

Ensimmäinen yritys johti toimivaan kokonaisuuteen. PAITSI ETTÄ: epäsäännöllisin väliajoin systeemi puski taivaalle monen sekunnin ryöpyn roskaa tukkien koko väylän. Tätä haettiin kissojen, koirien ja pinsettien kanssa.

Leike roskasta

 fm OH1HEK to QST ctl UI pid=CC(IP) len 78 03:50:29
 IP: len 78 10.0.0.10- > 10.255.255.255 ihl 20 ttl 64 DF prot UDP
 UDP: len 58 netbios-ns- > netbios-ns Data 50
 TPAP
 A
 FFFEFFCOEGEJCACACACACACACACACABN
Lopulta Kimmolta, OH3GNU, tuli varsin opastavainen viesti, jossa oli ongelman syy oli selvitetty: SAMBA lähetteli broadcastina omia yhteysyrityksiään, vaikkei sillä pitänyt olla kenellekkään mitään asiaa.
No kiireesti SAMBA alas ja kokeilemaan -ilmeisesti ei enää kiusaa.

Tässä vielä Kimmon ohjeesta pieni leike:

Virheen voi korjata joko

a) conffaamalla samban takertumaan vain ethernet interfaceihin.
- ns. Oikea ratkaisu.
- smb.conf, "bind interfaces only = Yes", "interfaces = eth0 eth1"

ja / tai (molempi parempi)

b) palomuuraamalla kaiken ylimääräisen liikenteen ax.25-interfaceen
- hätävaraksi, estää myös muiden satunnaisten softien huutelut
bandille

KIITOS Kimmo !

Käyttökokemuksia

Yhteys pelaa ainakin n. 16 km etäisyydellä antennista. Pidemmältä ei ole vielä saatu raportteja.
email to PTMUSTA