Pakettiradio linuxille Baycom modeemilla
Artikkeli miten laitetaan linux-kone pystyyn ja asennetaan siihen baycom modeemi toimimaan.
Tossa porukka kyseli facebookissa miten saa toimii linuxilla baycommin, niin päätin tehdä tälläisen pikaisen ohjeen.
Aivan ekaksi tarvitaan kone, sellainen voi olla pentium kone, jossa on vähintään muistia 128. voi pienempikin toimia, mutta jää omalle vastuulle sellainen kokeilu.
Asennuskoneena käytämme AMD Athlon 1000Mhz konetta jossa on muistia vähän alle 400M. Kovalevynä on 3,2Giganen levy ja modeemina baycom “eurajoki” -mallia.
VAIHE 1. Tietokoneeseen asennetaan linux-järjestelmä ja katsotaan, että koneessa on tarvittavat liitännät.
Tein videon tästä ekasta osasta, joten siihen ei tarvita tekstiä sen enempään, koneeseen asennetaan uusin debian (8) perusjärjestelmä ja katsotaan, että verkko toimii. Hyppää tämä yli, jos osaat asentaa itsenäisesti linuxin.
Vaihe 2: laitetaan systeemit toimimaan!
Elikkäs tekstaten ohjeet, muistakaan käyttää omaa kutsua SF1RFB:n tilalla!:
Ohje on suunta-antavia ja tarkoitettu sellaiselle henkilölle, kenellä on jotain kokemusta linuxista. ei ihan noobeille, saa käyttää maalaisjärkeä.
Aloitetaan linpacin lähdekoodin kääntämisellä.
nano /etc/apt/sources.list
lisää: contrib ja non-free (kts. video)
apt-get update
apt-get install build-essential
apt-get install libax25 ax25-apps libncurses5-dev ax25-toolscd /tmp
wget “http://downloads.sourceforge.net/project/linpac/LinPac/0.21/linpac-0.21.tar.gz?r=&ts=1434372468&use_mirror=kent”
tar xvfz linpac-0.21.tar.gz\?r\=\&ts\=1434372468\&use_mirror\=kent
cd linpac-0.21/
apt-get install autoconf
apt-get install libtool
autoreconf –install
./configure –prefix=/opt
make
make install
nano /etc/ld.so.conf.d/opt.conf
lisää: /opt/lib
ldconfig
Testaa linpac!!
login userina, ja komento /opt/bin/linpac
Jos ohjelma käynnistyy, niin kaikki ok.
Asennetaan modeemiajuri:
apt-get install baycomepp
modprobe baycom_ser_hdx
sethdlc -p -i bcsh0 mode “ser12*” io 0x3f8 irq 4
sethdlc -i bcsh0 -a txd 200 slot 100 ppersist 40 half
apt-get install setserial
setserial /dev/ttyS0 uart noneaxparms -setcall bcsh0 SF1RFB-15
nano /etc/ax25/axports
lisää: 0 SF1RFB-15 1200 255 2 testi
ifconfig bcsh0 hw ax25 SF1RFB-15 up
axlisten -cart  #TESTAA TÄLLÄ(tyhjä ruutu, jos ei liikennettä), poistu ctrl+c
chmod 4755 /usr/bin/axlisten  # pakottaa kyseisen komennon roottina, userina toimii nyt listen linpacin sisälläbeacon -c SF1RFB -d INFO -t 5 0 “RIKUN VIRITYS PYSTYSSA!” # tämä laittaa majakan joka 5 minuutti -t määrää ajan. asetus -d ” jotai jotai2″ jotai2=via minkä kautta menee
Koneen käynnistykseen kaikki:
nano /etc/rc.local
lisää rivi ENNEN exittiä: sh /etc/ax25.sh
nano /etc/ax25.sh
Lisää:
#!/bin/bash # # AX25 käynnistys scripti by Riku B. # ####################killall beacon killall mheardd killall axdigimodprobe baycom_ser_hdx sethdlc -p -i bcsh0 mode "ser12*" io 0x3f8 irq 4 sethdlc -i bcsh0 -a txd 200 slot 100 ppersist 40 half setserial /dev/ttyS0 uart none axparms -setcall bcsh0 SF1RFB-15 ifconfig bcsh0 hw ax25 SF1RFB-15 up mheardd -n 1000 /opt/bin/axdigi & beacon -c SF1RFB -d "INFO sf1sus" -t 5 0 "RIKUN VIRITYS PYSTYSSA!"
sitten:
chmod 755 /etc/ax25.sh
IP-asetukset staattinen debianiin:
nano /etc/network/interfaces
lisää/muuta:
#allow-hotplug eth0 #iface eth0 inet dhcp    auto eth0    iface eth0 inet static        address 10.0.3.89 # OMA IP TÄHÄN        netmask 255.255.255.0 # OMA NETMASK TÄHÄN        gateway 10.0.3.70 # OMA GW TÄHÄN
sitten:
nano /etc/resolv.conf
Editoi nimiserverit tarvittaessa, jos ne on väärin.
Varmista, että kone käynnistyy ilman näppäimistöä, säädä biossia tarvittaessa.(jos et käytä näyttöä)
LinPac Asetukset ja säädöt:
ln -s /opt/bin/linpac /bin  #tämä tekee linkin, että ohjelma käynnistyy komenolla linpac mistä vain
Linpacin resetoiminen (melkein pakollinen, jos haluaa saada toimimaan ilman viritystä)
komento käyttäjänä(ei roottina) kotihakemistossa: rm -frv LinPac
Sen jälkeen uusiksi linpac päälle: linpac
Kun se kysyy bbs jälkeen porttia, niin siihen laitetaan numero 0, silloin se käyttää 0 porttia oletuksena, joka on radion portti. Tämän jälkeen linpacissa komento :c asema yhdistää asemaan suoraan
Kotihakemistossa LinPac hakemiston alla on macros
, siellä on infotiedostot ym.
~/LinPac/macro/info.mac -> Asema Info tulee //i tai locaalistai :i ~/LinPac/macro/ctext.mac -> connect info ~/LinPac/macro/quit.mac -> lopetusteksti kirjoittaessa //e //q tai locaalisti :q ~/LinPac/macro/help.mac -> aputiedosto tulee //help tai locaalisti :help
Siellä on muitakin tiedostoja mitä voi ihmetellä, en suosittele kauheesti säätää jos et tiedä mitä teet.
LinPacin Asetukset:
Tästä voit säätää ohjelman core asetuksia tiedostosta ~/LinPac/macro/init.mac
Callsign setup kohta, kannattaa laittaa mycall -> 1, 2, 3, 4 OMAKUTSU-6 tai jotai muuta! tämä ratkaisee putty ongelman, pääset sillä vain terminaaleihin 5-10, joten viritetään muu kutsu 1-5.. (VIRITYS MUTTA TOIMII) Kannattaa myös asettaa Default port 0. Vähän niinkuin näin:
;; Default port port 0 ;; Callsign setup mycall@1 SF1RFB-6 mycall@2 SF1RFB-6 mycall@3 SF1RFB-6 mycall@4 SF1RFB-6 mycall@5 SF1RFB mycall@6 SF1RFB mycall@7 SF1RFB mycall@8 SF1RFB
Unproto calls -> tarkoittaa F10 näytöllä oleva asetusta eli unsrc on omakutsu ja undest on kohde, heittomerkit siihen, niin saat digipeaterin kautta:
;; Unproto calls unsrc SF1RFB undest "INFO SF1SUS"
On myös muita asetuksia samaisessa tiedostossa, esim ikkunan koko ym siellä on screen setup. säätämällä näkee mitä tapahtuu..
Vinkki: Linpac poistumisnappi on ALT+X
Linpacin asettaminen screenin sisälle (jotta ohjelma pysyy päällä kokoajan)
Asennetaan screen:
apt-get install screen
Screen on helppo käyttää!
ekan kerran käynnistetään screen linpac
poistuminen onnistuu sulkemalla putty rastista tai CTRL+a sitten d. ÄLÄ POISTU ALT+X!
Palaaminen screenille komento: screen -r
JOS JOKIN MENEE PIELEEN, JA EI TIETOAKAAN, NIIN delete koko LinPac hakemisto -> ohjelma palaa alkuperäisille asetuksille!
axdigin asennus (toistin):
cd /tmp/
wget “http://www.tapr.org/pphlogger/dlcount.php?id=tapr&url=ftp://ftp.tapr.org/software_lib/Linux/ax25/axdigi-0.03.tgz”
tar xvfz axdigi-0.03.tgz
cd axdigi-0.03/
gcc axdigi.c
mv a.out /opt/bin/axdigi
/opt/bin/axdigi &
Ei testattu, epäilen toimivuutta!
Ongelmat:
Tähän asti isoin ongelma on linpacin käyttäminen puttyllä, F1-F5 nappulat ei toimi. Ratkaisuksi on puhdas linux clientti. puttyn asetuksista saattaa saada jotai säädettyä, tarvii katsoa.. (tämän voi ohittaa virityksellä ylläolevalla ohjeella)
Jos download linkit ei toimi, niin -> hakemalla omilta sivuilta itse linkit.
Xnet NODE asennus.
Asennetaan xnet(sakalaisten käyttämä) node. Samalla joudutaan säätää ja virittää Loopbackit, jotta saadaan käytettyä node locaalisti linpacista!
Ladataan kotisivuilta: http://www.swiss-artg.ch/xnet/download.htm
mene rootiksi
cd /opt
mkdir xnet
cd xnet
wget http://www.swiss-artg.ch/xnet/zip/linuxnet.zip
apt-get install unzip
unzip linuxnet.zip
sitten
nano /etc/ax25/axports
lisää, ja muuta 0 portti radioksi:
radio SF1RFB-15 1200 255 2 27Mhz 1200baud
lp1 LOOP-1 38400 80 1 Loopback link 1
lp2 LOOP-2 38400 80 1 Loopback link 2
lopputulos:
# /etc/ax25/axports
#
# The format of this file is:
#
# name callsign speed paclen window description
#
# Port Callsign Baud PacLen MaxFram Description
radio SF1RFB-15 1200 255 2 27Mhz 1200baud
lp1 LOOP-1 38400 80 1 Loopback link 1
lp2 LOOP-2 38400 80 1 Loopback link 2
mene käyttäjäksi:
nano LinPac/macro/init.mac
muuta: portti 0 -> radio
;; Default port
port radio
sitten jatketaan xnetin virityksiä
mene rootiksi:
cd /opt/xnet
nano node.sh
lisää:
#!/bin/bash
cd /opt/xnet
./linuxnet
sitten:
chmod 755 node.sh
mv AUTOEXEC.NET default_AUTOEXEC.NET
nano AUTOEXEC.NET
lisätään:
ro bc add 0
po 0 baud 1200
po 0 paclen 50
po 0 window 2
po 0 txdelay 200
po 0 retries 25
po 0 name 27.235Mhzpo 1 baud 38400
po 1 txd 1
po 1 name Loopback_SF1RFBstart routed
start beacondbeacon a 600 0 ID sf1sus text LINUX0:SF1RFB-2 -= N O D E =- (X)netNode <<->> Internet Gateway – Debian/Linux
sitten
nano AUTOBOOT.NET
lisätään:
#
# xnetin latauskonffi
# Käytän itse -2 nodena, jostai joskus jäänny, että aian -2 on node
# myös KUTSU-2 on digiripiitteri
#
############################################my call SF1RFB-2
my alias LINUX0
my tcall SF1RFB
my defport 0attach ax0 ax25 0 1 bcsh0
attach ax1 ax25 1 1 ax1
sitten
nano C.TXT
lisää oma ctexti:
(X)NET/LINUX V1.38
SF1xxx-2 NODE, komennot:n = nodes
p = portit
c:x = yhdistä porttiin x kautta johonkin
Asennetaan nullmodem loopbakkiä varten http://www.ant.uni-bremen.de/whomes/rinas/nullmodem/
apt-get update
apt-get install build-essentialcd /tmp
wget http://www.ant.uni-bremen.de/whomes/rinas/nullmodem/download/nullmodem-0.0.6.tar.gz
tar xvfz nullmodem-0.0.6.tar.gz
cd nullmodem-0.0.6/
./configure –prefix=/opt
make
make install
sitten
nano /etc/ax25.sh
lisätään: /etc/ax25.sh:
killall nullmodem
killall kissattach
killall linuxnet
modprobe mkiss
/opt/bin/nullmodem /tmp/loop0 /tmp/loop1
/usr/sbin/kissattach -m 991 /tmp/loop0 lp1
/usr/sbin/kissattach -m 991 /tmp/loop1 lp2
sleep 1
screen -d -m /opt/xnet/node.sh
Muuta myös beaconin portti 0 -> radio
LOPPUTULOS NÄYTTÄÄ TÄLTÄ:
#!/bin/bash
#
# AX25 käynnistys scripti by Riku B.
#
####################
killall beacon
killall mheardd
killall axdigi
killall nullmodem
killall kissattach
killall linuxet
modprobe baycom_ser_hdx
modprobe mkiss
sethdlc -p -i bcsh0 mode “ser12*” io 0x3f8 irq 4
sethdlc -i bcsh0 -a txd 200 slot 100 ppersist 40 half
setserial /dev/ttyS0 uart none
axparms -setcall bcsh0 SF1RFB-15
ifconfig bcsh0 hw ax25 SF1RFB-15 up
mheardd -n 1000
###############/opt/bin/axdigi & ##OTETAAN POIS, Käytetään noden -2 digi
beacon -c SF1RFB -d “INFO sf1sus” -t 15 radio “*** SF1RFB Packet test station || FINLAND Ulvila || System LiNUX LinPAC ***”/opt/bin/nullmodem /tmp/loop0 /tmp/loop1
/usr/sbin/kissattach -m 991 /tmp/loop0 lp1
/usr/sbin/kissattach -m 991 /tmp/loop1 lp2sleep 1
screen -d -m /opt/xnet/node.sh
Linpacilla yhdistetään nodeen komenolla: :C lp1:sf1rfb-2 (omakutsu tietenki tohon)
xnetti latautuu roottina screenin sisälle (sinun on loggauduttava roottina, jotta saat liitettyä siihen, ellet killaa) tai käynnistä uusiksi pakettijutut komenolla sh /etc/ax25.sh
 XNETIN SALASANAN ASETTAMINEN:
mene rootiksi ja aukase screeni, screen -r
paina esc
c omanodekutsu
sys
passwd salasanatähän
quit
 XNETIN yhdistäminen netin kautta toiseen nodeen:
Halutaessa voin yhdistää sinun noden, omaan nd hubiin jonka tein, sen nimi in FI0NOD:SF0NOD sen tarkoitus olisi yhdistää pakettiasemat yhdeksi, sijaitsee dedikoitulla serverillä, ei kotona, joten katkoksia ei isommin pitäisi tulla.
lisää AUTOBOOT.NET :
attach ip0 axUDP 2 1 l6000 d6000 178.33.154.85lisää AUTOEXEC.NET :
ro bc add 2 NODES
po 2 acon 1
po 2 baud 38400
po 2 name SUOMIHUB_Inet
po 2 reset 0
JOTTA TÄMÄ TOIMII, MINUN ON MYÖS LAITETTAVA ASETUS, NIIN YHTEYTTÄ MINUUN Facebookin, mailin(riku at tiatnix.net) tai tänne ilmoitusta.
Tarvin ip-osoitteen.
linkittäminen toimii portille 6000, joten sinun on oltava se portti auki routterista.
 WWW-Serverin + php moduulin asennus:
miksi nginx? kevyt, verrattuna apacheen. jos softaa pyöritetään vanhassa pentium-koneessa vähällä muistilla, tämä kannattaa.
Mene rootiksi komenolla: su –
apt-get update
apt-get install nginx
service nginx start
aseta toisella tietokoneella tai samassa verkossa olevalla laitteella selaimeen osoite tähän koneeseen http://tämäkone
jos sivu aukee, niin nginx toimii!
Asetus:
nano /etc/nginx/sites-available/default
Muuta example.com omaan domainiin(jos kone sisäverkossa tai ei ole nimeä, keksi jotain)
Lisää: index.php
Korjaa: “location ~ \.php$ {“ section
Muuta: root /www
server { listen 80;root /www; index index.php index.html index.htm;server_name example.com;location / { try_files $uri $uri/ /index.html; }error_page 404 /404.html;error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/www; }# pass the PHP scripts to FastCGI server listening on /var/run/php5-fpm.sock location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }}
Sitten:
mkdir /www
chown www-data /www
chgrp www-data /wwwapt-get install php5-fpm
nano /etc/php5/fpm/php.ini
editoi: cgi.fix_pathinfo=0 (etsi nanossa: ctrl+w)
service php5-fpm restart
service nginx restartnano /www/info.php
lisää:
<?php phpinfo(); ?>
testaa php http://omaosoite/info.php
Valmis.
Dokuumentit menee juuri kansioon /www
ESIMERKKI KOTISIVU, jossa live MHEARD:
nano /www/index.php
lisää:
<html> <head> </head> <body> <A HREF="kuva1.JPG"><IMG HEIGHT=25% WIDTH=25% SRC="kuva1.JPG"></A> <A HREF="kuva2.JPG"><IMG HEIGHT=25% WIDTH=25% SRC="kuva2.JPG"></A> <A HREF="kuva3.JPG"><IMG HEIGHT=25% WIDTH=15% SRC="kuva3.JPG"></A><?php echo "<h1>SF1RFB Aseman Mhreadi (LIVE) YLIN ON UUSIN!\n</h1>"; $mheard = shell_exec('mheard'); $mheard_rivi = shell_exec('mheard | wc -l'); $arr = explode("\n", $mheard); print "<pre>"; for ($x = 1; $x <= $mheard_rivi; $x++) { print $arr[$x]; print "<br>"; }print "</pre>";print "<br>Koneen UPTIME on:"; $uptimet = shell_exec('uptime'); print $uptimet; ?></body> </html>
on hyvä myös asentaa ntpdate, jotta kellonaika pysyy netin kanssa synkissä:
apt-get install ntp
tarkista aika date komennolla. daemoni asentuu itellää ja konffatakkaa ei tarvi, meni itsellä ihan suoraan.
Itsellä on serveri päällä nyt osoitteessa http://titanix.net:81
LISÄTÄÄN MYÖHEMMIN:
– NODE
– NODEN YHDISTYS ULKOPUOLELTA (esim netin yli)
– WWW SIVU, Josta näkee MHEARD ja asemainfoa.
– LINPACIN tarkempi KonffausÂ
—
päivitetty 22.6.2015