L2cat: Unterschied zwischen den Versionen
Dl1nux (Diskussion | Beiträge) |
Dl1nux (Diskussion | Beiträge) |
||
(16 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
''' Dieser Artikel beschreibt bisher nur einen Teil der Möglichkeiten von l2cat. Weitere Beispielanwendungen können gerne mit aufgenommen werden ''' | |||
== Über l2cat == | == Über l2cat == | ||
l2cat ist ein | l2cat ist unter anderem ein Packet Radio Terminal für die Kommandozeile. | ||
* PR-Verbindung über AXUDP (z.B. via Hamnet). | |||
* PR-Verbindung über HF in Zusammenarbeit mit [[afskmodem]]. | |||
* IP Verbindung über Packet Radio mit PPP und Komprimierung möglich. | |||
* Mit l2cat kann auch ein Server gebaut werden, der über Packet Radio connected und bedient werden kann (z.B. IRC Server, Winlink Server, APRS baken erzeugen usw.). Es sind vielfältige Anwendungsmöglichkeiten denkbar. | |||
l2cat hat grundsätzlich keine weiteren Abhängigkeiten, ist also standalone lauffähig. | |||
== Parameter in der Kurzübersicht == | == Parameter in der Kurzübersicht == | ||
Zeile 74: | Zeile 80: | ||
| m <0..2>|| Zeigt den AX.25 Monitor an. "2" ist mit allen Informationen. | | m <0..2>|| Zeigt den AX.25 Monitor an. "2" ist mit allen Informationen. | ||
|- | |- | ||
| n <port> <parm> <value>|| Setzt die Layer 2 Parameter der Verbindung<br />"-n a" setzt den Parameter auf allen ports.<br />t=txwait, d=dwait o=maxfr f=T1 Timer, F:T3-Timer | | n <port> <parm> <value>|| Setzt die Layer 2 Parameter der Verbindung<br />"-n a" setzt den Parameter auf allen ports.<br />t=txwait, d=dwait o=maxfr f=T1 FRACK Timer, F:T3-Timer, I=ipoll n=Retries h=halbduplex. | ||
|- | |- | ||
| P|| ppp und deflate = an | | P|| ppp und deflate = an | ||
|- | |- | ||
| p <filename>|| | | p <filename>|| Daten senden und emfpangen zu diesem Gerät bzw. zu dieser Pipe. Kann genutzt werden um ein eigenes "TNC" zu bauen oder ein anderes Terminal anzubinden.<br />Beispiel: -p /dev/ttyS0 | ||
|- | |- | ||
| R <ms>|| | | R <ms>|| Aktiviere die Aufrechterhaltung der Verbindung als "Slave" mit einer maximalen Wiederverbindungsverzögerung in Millisekunden. Standard = 120000ms, Maximalgröße = 400000ms. | ||
|- | |- | ||
| r <ms>|| | | r <ms>|| Aktiviere die Aufrechterhaltung der Verbindung als "Slave" mit einer minimalen Wiederverbindungsverzögerung in Millisekunden. Die Zeitspanne verdoppelt sich bei jedem Wiederholungsversuch bis der Wert von -R erreicht ist. Standard = 2000ms. | ||
|- | |- | ||
| U <x.x.x.x:destport:listenport>|| Packet Radio AXUDP Einstieg mit Ziel-IP und Ziel-Port. Bei Listen Port = 0 wird dieser automatisch vergeben. | | U <x.x.x.x:destport:listenport>|| Packet Radio AXUDP Einstieg mit Ziel-IP und Ziel-Port. Bei Listen Port = 0 wird dieser automatisch vergeben. | ||
Zeile 95: | Zeile 101: | ||
== Beispiele == | == Beispiele == | ||
=== Packet Radio Verbindung über AXUDP und Hamnet === | |||
Das folgende Beispiel ermöglicht eine PR-Verbindung im Terminal zu einem Packet Radio Knoten, welcher über AXUDP erreichbar ist, z.B. DB0FHN, DB0NU usw. Ein kleines Beispielskript dazu findet sich auch weiter unten im Artikel. | |||
<nowiki> | <nowiki> | ||
./l2cat -i MYCALL -U 44.130.60.100:93:0 -v -l -j 2 -n a n 40 -n a f 80 -n a F 150 -C DB0FHN | ./l2cat -i MYCALL -U 44.130.60.100:93:0 -v -l -j 2 -n a n 40 -n a f 80 -n a F 150 -C DB0FHN | ||
Zeile 105: | Zeile 114: | ||
* -j 2 = Wandelt Zeilenumbruch von PR zu Linux passend zurück | * -j 2 = Wandelt Zeilenumbruch von PR zu Linux passend zurück | ||
* -n a n 40 = Setzt Layer 2 Parameter "Retries" auf 40 | * -n a n 40 = Setzt Layer 2 Parameter "Retries" auf 40 | ||
* -n a f 80 = Setzt Layer 2 Parameter "T1 Timer" auf 80 | * -n a f 80 = Setzt Layer 2 Parameter "T1 Timer" (FRACK) auf 80 | ||
* -n a F 150 = Setzt Layer 2 Parameter " | * -n a F 150 = Setzt Layer 2 Parameter "T3 Timer" auf 150 | ||
* -C = Zielrufzeichen, mit dem man sich verbinden will (ansonsten wartet L2CAT drauf bis man selbst connected wird) | * -C = Zielrufzeichen, mit dem man sich verbinden will (ansonsten wartet L2CAT drauf bis man selbst connected wird) | ||
Die Layer 2 Parameter diesen nur dazu die Verbindung stabil zu halten | Die Layer 2 Parameter diesen nur dazu die Verbindung stabil zu halten | ||
[[Datei:L2cat.png|600px]] | |||
== Beispielskript == | == Beispielskript == | ||
Zeile 121: | Zeile 132: | ||
# pr.sh öffnet ein Packet Radio Terminal über AXUDP zu DB0FHN | # pr.sh öffnet ein Packet Radio Terminal über AXUDP zu DB0FHN | ||
# Voraussetzung: Es besteht im aktuellen Netzwerk Zugriff auf das HAMNET | # Voraussetzung: Es besteht im aktuellen Netzwerk Zugriff auf das HAMNET. | ||
# Bitte das eigene | # Internetzugriff reicht nicht aus! | ||
# Bitte das eigene Call als Parameter zum Aufruf angeben. SSID ist möglich. | |||
# Beispiel: ./pr.sh MY1CAL-5 | # Beispiel: ./pr.sh MY1CAL-5 | ||
# Mehr Infos hier: http://dxlwiki.dl1nux.de/index.php?title=L2cat | # Mehr Infos hier: http://dxlwiki.dl1nux.de/index.php?title=L2cat | ||
Zeile 131: | Zeile 143: | ||
fi | fi | ||
./l2cat -i $1 -U 44.130.60.100:93:0 -v -l -j 2 -n a n 40 -n a f 80 -n a F 150 -C DB0FHN | |||
./l2cat -i $1 -U 44.130.60.100:93:0 -v -l -j 2 -n a n 40 -n a f 80 -n a F 150 - | |||
</nowiki> | </nowiki> |
Aktuelle Version vom 10. November 2020, 21:41 Uhr
Dieser Artikel beschreibt bisher nur einen Teil der Möglichkeiten von l2cat. Weitere Beispielanwendungen können gerne mit aufgenommen werden
Über l2cat
l2cat ist unter anderem ein Packet Radio Terminal für die Kommandozeile.
- PR-Verbindung über AXUDP (z.B. via Hamnet).
- PR-Verbindung über HF in Zusammenarbeit mit afskmodem.
- IP Verbindung über Packet Radio mit PPP und Komprimierung möglich.
- Mit l2cat kann auch ein Server gebaut werden, der über Packet Radio connected und bedient werden kann (z.B. IRC Server, Winlink Server, APRS baken erzeugen usw.). Es sind vielfältige Anwendungsmöglichkeiten denkbar.
l2cat hat grundsätzlich keine weiteren Abhängigkeiten, ist also standalone lauffähig.
Parameter in der Kurzübersicht
l2cat -h -a autodetect deflate + ppp on first bytes ppp + deflate:"!p",deflate;"!d" LF to CR:"!l", strip LF:"!L", transparent:"!8" -C <destination> slave connect destination -C "OE0AAA-12 OE5XBL" if no "-C" run as server waiting for connect -c <cmdline> execute command on connect -c "/bin/bash bash %m %u" %m=mycall %u=usercall %U=same no SSID %%=% if no "-c" data path is stdin/stdout -D <bytes> discard longer ppp frames if pr tx buffer full -d deflate on -h this -i <mycall> <mycall> ... connectable calls -i "OE0AAA OE0AAA-15" first mycall is digi and used to connect out -j <1..6> 1:del LF, 2:del LF+CR>LF, 3:CR>LF, 4:del CR 5:del CR+LF>CR, 6:LF>CR in stream from pr -l convert LF to CR in stream to pr -L strip LF in stream to pr -m <0..2> ax25 Monitor to stderr (2 with info) -n <port> <parm> <value> layer 2 parms, "-n a" set on all ports parm t:txwait d:dwait o:maxfr f:t1 F:t3 parm I:ipoll n:retr h:halfdup -P ppp + deflate on -p <filename> data to/from this device/pipe -p /dev/ttyS0 -R <ms> enable slave "keep connected" with max reconnet delay (max 4000000ms) (120000) -r <ms> enable slave "keep connected" with min reconnet delay and doubles delay each conn try till "-R" (2000) -U <x.x.x.x:destport:listenport> axudp (autodetect axudp2) listenport=0 uses a free port repeat -U for more ports -v verbous -V more verbous -w <n> check dupe axudp frames last n frames or n*10ms
Ausführliche Beschreibung der Parameter
Parameter | Beschreibung |
---|---|
a | Erkenne deflate + ppp automatisch an den ersten Bytes ppp + deflate:"!p",deflate;"!d" LF to CR:"!l", strip LF:"!L", transparent:"!8" |
C <destination> | Zielrufzeichen, mit dem man sich verbinden will (ansonsten wartet L2CAT drauf bis man selbst connected wird). |
c <cmdline> | Führt Befehle nach den Connect aus -c "/bin/bash bash %m %u" %m=mycall %u=usercall %U=same no SSID %%=% if no "-c" data path is stdin/stdout |
D <bytes> | Verwerfe längere ppp Frames wenn der PR Sendepuffer voll ist. |
d | deflate = an |
h | Parameterübersicht |
i <mycall> <mycall> ... | Eigenes Rufzeichen, ggf. mit SSID. |
j <1..6> | Wie der Zeilenumbruch behandelt werden soll. 1:del LF 2:del LF+CR>LF 3:CR>LF 4:del CR 5:del CR+LF>CR 6:LF>CR in stream from pr |
l | Konvertiert das Linux Zeilenende LF zu CR von Linux zu Packet Radio (es gibt sonst Probleme mit den Zeilenumbrüchen). |
L | Schneidet LF zu Packet Radio ab. |
m <0..2> | Zeigt den AX.25 Monitor an. "2" ist mit allen Informationen. |
n <port> <parm> <value> | Setzt die Layer 2 Parameter der Verbindung "-n a" setzt den Parameter auf allen ports. t=txwait, d=dwait o=maxfr f=T1 FRACK Timer, F:T3-Timer, I=ipoll n=Retries h=halbduplex. |
P | ppp und deflate = an |
p <filename> | Daten senden und emfpangen zu diesem Gerät bzw. zu dieser Pipe. Kann genutzt werden um ein eigenes "TNC" zu bauen oder ein anderes Terminal anzubinden. Beispiel: -p /dev/ttyS0 |
R <ms> | Aktiviere die Aufrechterhaltung der Verbindung als "Slave" mit einer maximalen Wiederverbindungsverzögerung in Millisekunden. Standard = 120000ms, Maximalgröße = 400000ms. |
r <ms> | Aktiviere die Aufrechterhaltung der Verbindung als "Slave" mit einer minimalen Wiederverbindungsverzögerung in Millisekunden. Die Zeitspanne verdoppelt sich bei jedem Wiederholungsversuch bis der Wert von -R erreicht ist. Standard = 2000ms. |
U <x.x.x.x:destport:listenport> | Packet Radio AXUDP Einstieg mit Ziel-IP und Ziel-Port. Bei Listen Port = 0 wird dieser automatisch vergeben. |
v | Zeige Informationen in der Bildschirmausgabe. |
V | Zeige erweiterten Informationen in der Bildschirmausgabe. |
w <n> | Überprüfe auf doppelte AXUDP Frames in den letzten n Frames oder n*10ms |
Beispiele
Packet Radio Verbindung über AXUDP und Hamnet
Das folgende Beispiel ermöglicht eine PR-Verbindung im Terminal zu einem Packet Radio Knoten, welcher über AXUDP erreichbar ist, z.B. DB0FHN, DB0NU usw. Ein kleines Beispielskript dazu findet sich auch weiter unten im Artikel.
./l2cat -i MYCALL -U 44.130.60.100:93:0 -v -l -j 2 -n a n 40 -n a f 80 -n a F 150 -C DB0FHN
- -i = Genutztes AFu Rufzeichen
- -U = Packet Radio AXUDP Einstieg, im Beispiel DB0FHN auf Destination Port 93. Listen Port bleibt auf 0, dieser wird dann automatisch vergeben. Es kann natürlich jeder andere Einstieg genutzt werden sofern IP-Adresse und Port bekannt sind.
- -v = gibt eventuelle Meldungen der Anwendung aus
- -l = Konvertiert das Linux Zeilenende LF zu CR von Linux zu Packet Radio (es gibt sonst Probleme mit den Zeilenumbrüchen)
- -j 2 = Wandelt Zeilenumbruch von PR zu Linux passend zurück
- -n a n 40 = Setzt Layer 2 Parameter "Retries" auf 40
- -n a f 80 = Setzt Layer 2 Parameter "T1 Timer" (FRACK) auf 80
- -n a F 150 = Setzt Layer 2 Parameter "T3 Timer" auf 150
- -C = Zielrufzeichen, mit dem man sich verbinden will (ansonsten wartet L2CAT drauf bis man selbst connected wird)
Die Layer 2 Parameter diesen nur dazu die Verbindung stabil zu halten
Beispielskript
Das folgende Beispielskript als pr.sh gespeichert und mit Ausführungsrechten versehen (chmod 755 pr.sh) erlaubt die schnelle Verbindung mit dem Packet Radio Netzwerk, vorausgesetzt man hat Zugriff auf das Hamnet per HF oder VPN. Getestet wurde das Skript unter dem aktuellem Raspberry Pi OS (Raspbian).
Man gibt das eigene Rufzeichen als Option mit an, z.B.
./pr.sh DL1NUX-7
pr.sh # pr.sh öffnet ein Packet Radio Terminal über AXUDP zu DB0FHN # Voraussetzung: Es besteht im aktuellen Netzwerk Zugriff auf das HAMNET. # Internetzugriff reicht nicht aus! # Bitte das eigene Call als Parameter zum Aufruf angeben. SSID ist möglich. # Beispiel: ./pr.sh MY1CAL-5 # Mehr Infos hier: http://dxlwiki.dl1nux.de/index.php?title=L2cat if [ -z $1 ]; then echo "Bitte eigenes Rufzeichen als Option angeben!" echo "Beispiel: ./pr.sh MY1CAL-5" exit 1 fi ./l2cat -i $1 -U 44.130.60.100:93:0 -v -l -j 2 -n a n 40 -n a f 80 -n a F 150 -C DB0FHN