AX.25 támogatottságának alapszintű bemutatása Linux operációs rendszeren

Innen: HamWiki
Ugrás a navigációhoz Ugrás a kereséshez

Kernel szintű támogatás

Alábbi rész a Linux kernelbe fordítható AX.25 protokollról illetve a külső hardvertámogatásról szól. Kernelt fordítani csak akkor kell, ha az adott GNU/Linux disztribúcióban található gyárilag konfigurált és lefordított kernel nem tartalmazza a számunkra szükséges meghajtó programot.

Az egyes komponensek fordítása történhet közvetlenül a kernelbe vagy modprobe paranccsal futásidőben beilleszthető kernelmodulként is.

 *
 * Amateur Radio support
 *
 Amateur Radio support (HAMRADIO) [N/y/?] y
   *
   * Packet Radio protocols
   *
   Amateur Radio AX.25 Level 2 protocol (AX25) [N/m/y/?]
     AX.25 DAMA Slave support (AX25_DAMA_SLAVE) [N/y/?]
     Amateur Radio NET/ROM protocol (NETROM) [N/m/y/?]
     Amateur Radio X.25 PLP (Rose) (ROSE) [N/m/y/?]
     *
     * AX.25 network device drivers
     *
     Serial port KISS driver (MKISS) [N/m/y/?]
     Serial port 6PACK driver (6PACK) [N/m/y/?]
     BPQ Ethernet driver (BPQETHER) [N/m/y/?]
     High-speed (DMA) SCC driver for AX.25 (DMASCC) [N/m/y/?]
     Z8530 SCC driver (SCC) [N/m/y/?]
       additional delay for PA0HZP OptoSCC compatible boards (SCC_DELAY) [N/y/?]
       support for TRX that feedback the tx signal to rx (SCC_TRXECHO) [N/y/?]
     BAYCOM ser12 fullduplex driver for AX.25 (BAYCOM_SER_FDX) [N/m/y/?]
     BAYCOM ser12 halfduplex driver for AX.25 (BAYCOM_SER_HDX) [N/m/y/?]
     BAYCOM picpar and par96 driver for AX.25 (BAYCOM_PAR) [N/m/y/?]
     BAYCOM epp driver for AX.25 (BAYCOM_EPP) [N/m/y/?]
     YAM driver for AX.25 (YAM) [N/m/y/?]

A fenti kivonat a kernel fordítás előtti konfigurálásából készült. Néhány lényeges dolog:

  • DAMA Slave support: ha DAMA-t kezelő átjátszóra csatlakozunk, akkor érdemes ezt az opciót használni. A DAMA a Demand Assigned Multiple Access rövidítése, amely arra szolgál, hogy a hegytetőn lévő átjátszó választja ki, hogy ki szólhat hozzá, ezáltal az egyidejű adásból származó csomagütközéseket elkerülve nő a csatorna hatékonysága. Ezáltal a DAMA jelentősége akkor nagy, ha van egy kitüntetett szerepű hegytetőn levő AX.25 átjátszó.
  • NetROM: a hívójel mellett névvel is elláthatjuk a node-ot, ez a kernel opció kevésbé használt.
  • Rose: X.25 címzéshez (hosszú szám) hasonló címzés. Amerikában terjedt el, így Európában nem érdekes.
  • Serial Port KISS driver: PC-vel KISS protokolon keresztül beszélgető TNC-khez kell, illetve belső KISS alapú átvitelhez. Lásd: kissnetd.
  • Serial port 6PACK driver: Hasonló a feladata, mint a KISS-nek, de 6PACK protokollt beszélő TNC-vel használható. Ekkor a valós vagy pszeudó soros portot kissattach helyett spattach paranccsal tudjuk illeszteni.
  • BPQ Ethernet driver: Ethernet interfészre hoz létre AX.25 interfészt, amely a LAN-on 0x08FF ethernet csomagtípussal küld szét broadcast csomagokat. Azaz a helyi hálózat összes PC-je megkapja. A tartalma pedig szabványos AX.25 csomag a 0111 1110 keret kivételével.
  • High-speed (DMA) SCC driver for AX.25: A PCI buszos USCC3 kártyákhoz meghajtó program.
  • Z8530 SCC driver (SCC): Klasszikus ISA buszos USCC kártya meghajtó programja.
  • BAYCOM ser12: Baycom típusú modem meghajtó programja. Ez a modem a PC soros portjának DTR és CTS bitjeit használja 1200 bps sebességű adatkommunikációra. Normál esetbem halfduplexes fajtáját használjuk. A fullduplex bitek vétele közt is ad. Ezt kétfrekvenciás rádióval tudjuk csak használni.
  • BAYCOM picpar: PC párhuzamos portjára (nyomtatóport) illeszthető modemhez meghajtó szoftver.
  • BAYCOM epp: PC EPP módot ismerő párhuzamos portjára (nyomtatóport) illeszthető EPP módot ismerő modemhez meghajtó szoftver.
  • YAM:

És ami napjainkban már nem kernel driver, de idetartozik: soundmodem. Ez hangkártyával implementál AX.25 interfészt. A hangkártya ki/bemenete a rádió mikrofon bemenetére illetve hangszóró kimenetére csatlakoztatható. A PTT vezérlést a soros port RTS lábával szokták megoldani.

Egyéb hasznos kernelbeli eszközök

 Hardware I/O ports
   Serial I/O support (SERIO)
     8250/16550 and compatible serial support (SERIAL_8250)
     Legacy (BSD) PTY support (LEGACY_PTYS)

A fenti kernel config menük a soros portot és a pszeudó soros port fordítását engedik/tiltják.

Néhány ügyes alapfogás

  • /dev/ttyS0 - soros port, ahova például KISS eszköz illeszthető
  • Pszeudó-terminálok, amely egy virtuális soros port. Például /dev/ptyr1. Az ide rákapcsolódó alkalmazás "külső párja" a /dev/ttyr1.

A fenti pszeudó-terminálokkal megoldható például kissnetd-vel egy üzenetszórt összekapcsolás az alábbiak szerint:

kissnetd /dev/ttyS0 /dev/ptyr2 /dev/ptyr7 (és így tovább)

A fenti parancs hatására a soros portról érkező AX.25 csomagok a ttyr2 és ttyr7 virtuális soros interfészre kapcsolódó alkalmazásokkal egyszerre elérhetőek. Például a JNOS, XNET, TNOS, XFBB szoftverek mindegyike képes közvetlen soros portra csatlakozni, ebből kifolyólag ezekre a pszeudó interfészekre is képes rácsatlakozni. Ez azt jelenti, hogy a fenti példa /dev/ttyS0 interfésze megosztható különböző node szoftverek között.

kissattach /dev/ttyr2 2m 44.156.33.9

A fenti parancs hatására létrejön egy ax0 hálózati kernel interfész, amelyet az ifconfig ugyanúgy kezel, mint az ethernet interfészt. A "2m" nevű virtuális névnek a /dev/ax25/axports -ban szerepelnie kell az alább ismertetett formában

# név   hívójel     sebesség csomaghossz ablak leírás
#
2m      HG2ECZ-1        1200    256     2       2m USER port
70cm    HG2ECZ-2        9600    256     7       70cm USER port
bpq     HG2ECZ-9    10000000   1480     8       Helyi ethernet

Ha a hálózati interfész létezik (például bc0 nevű baycom interfész), és arra akarjuk a soros gyűrüt (lásd kissnetd) rákötni, akkor ezt a

net2kiss -i bc0 /dev/ptyre &

paranccsal tehetjük meg.


Az ax0 és egyéb hálózati interfészhez hozzárendelünk IP címet és hívójelet is.

ifconfig ax0 44.156.33.9 netmask 255.255.255.255 hw ax25 hg2ecz-1 mtu 512 up

Ekkor már IPv4 csomagokat szállító rádióamatőr interfészhez jutottunk, már csak a "route" paranccsal kell beállítani, mely IP tartományt mely interfészre (ethernet, ax0, ...) irányítsa a kérnel.

axparms -assoc HG2ECZ zsolt

A fenti parancs hozzárendeli a zsolt nevű szerverfelhasználót a HG2ECZ hívójelhez. Ennek akkor van jelentősége, ha a szerverből call paranccsal akarunk csatlakozni. A call során ekkor a felhasználó megkapja a hozzárendelt hívójelet és azzal közlekedik a rádióamatőr hálózaton.

További információk és a szoftverek letöltési lehetőségei =

A fenti rádióamatőr csomagrádió szoftverek sok GNU/Linux disztribúcióban megtalálhatók. Amelyek mégsem, azok a http://radio.linux.org.au honlapon a packet részben találhatók, a soundmodem pedig a digital részben.

Néhány segítség kezdőknek:

Bővebb segítség (howto):