General Setup [*] Networking support Network Device Support ... [*] Radio network interfaces ... [*] Z8530 SCC KISS emulation driver for AX.25Joerg Reuter, DL1BKE (jreuter@lykos.tng.oche.de) entwickelte die allgemeine Unterstützung für SCC-Karten. Sein Treiber ist für eine Vielzahl Karten konfigurierbar und stellt wie die anderen Netzwerk-Device zur Verfügung, so daß man die SCC-Karte wie eine Netzwerkkarte ansprechen kann.
6.1.6.1. Die Konfigurations-Tools finden und installieren
Während der Kernel-Treiber in den Standard-Quelltexten enthalten ist, gibt es bei Joerg neuere Versionen seines Treibers und die dazu notwendigen Konfigurationsprogramme. Diese findet man auf ftp://ftp.tu-dresden.de im Verzeichnis /pub/soft/hamradio/packet/tcpip/linux/ oder bei ftp://ftp.ucsd.edu in den Verzeichnissen /hamradio/packet/tcpip/linux /hamradio/packet/tcpip/incoming/ Es gibt verschiedene Versionen, man muß sich die für seinen Kernel passende heraussuchen.Für Kernel 2.0.xx : z8530drv-2.4a.dl1bke.tar.gz Für Kernel 2.1.6 oder höher: z8530drv-utils-3.0.tar.gzMit folgenden Befehlen läßt sich das Paket installieren:
cd /usr/src gzip -dc /tmp/z8530drv-2.4a.dl1bke.tar.gz | tar xvpofz - cd z8530drv make clean make dep make module (wenn der Treiber als Modul erstellt werden soll) make for_kernel (wenn der Treiber in den Kernel eincompiliert werden soll) make installNach dem erfolgreichen Compilieren sollten sich drei neue Programme im Verzeichnis /sbin finden: gencfg, sccinit und sccstat. Diese Programme dienen zur Einrichtung des Treibers für die SCC-Karte. Der Treiber erzeugt Netzwerkdevices mit den Namenn scc0 - scc7. Hat man vorhin make for_kernel eingegeben, so muß der Kernel neu compiliert werden.
[*] Z8530 SCC KISS emulation driver for AX.25beim "Network Device Support" muß angegeben sein.
Den Treiber für die verwendete Karte einrichten
Der Z8530-SCC-Treiber ist so flexibel entwickelt worden, daß er möglichst viele verschiedene SCC-Karten unterstützt. Der Preis dafür ist eine etwas kompliziertere Konfiguration.Konfiguration der Hardware-Parameter
Der erste Abschnitt ist in Absätze unterteilt, von denen jeder einen Z8530-Chip repräsentiert.#define MAXSCC 4entsprechend anpassen. Erlaubte Schlüsselworte und Argumente:
chip wird verwendet, um die einzelnen Abschnitte voneinander zu trennen. Beliebige Argumente sind erlaubt, sie werden nicht verwendet. data_a Wird zur Angabe der Adresse des Datenports für den SCC-Kanal 'A' verwendet. Argument ist eine Hexadezimalzahl, zum Beispiel 0x300. ctrl_a Wird zur Angabe der Adresse des Steuerports für den SCC-Kanal 'A' verwendet. Argument ist eine Hexadezimalzahl, zum Beispiel 0x304. data_b Wird zur Angabe der Adresse des Datenports für den SCC-Kanal 'B' verwendet. Argument ist eine Hexadezimalzahl, zum Beispiel 0x301. ctrl_b Wird zur Angabe der Adresse des Steuerports für den SCC-Kanal 'B' verwendet. Argument ist eine Hexadezimalzahl, zum Beispiel 0x305. irq Gibt den IRQ an, den der in diesem Abschnitt einzustellende Chip verwendet. Argument ist eine Integerzahl, wie 5. pclock Gibt die am PCLK-Pin des Z8530 anliegende Taktfrequenz an. Als Argument wird ein Integerwert erwartet (Frequenz in Hz), Voreinstellung ist 4915200 Hz, wenn dieses Schlüsselwort nicht angegeben wird. board Der Typ der 8530-SCC-Karte. Folgende Werte sind erlaubt: PA0HZP - die PA0HZP-SCC-Karte EAGLE - die EAGLE-SCC-Karte PRIMUS - die PRIMUS-PC (DG9BL-)Karte BAYCOM - die BayCom-(U)SCC-Karte escc optional, schaltet die Unterstützung für erweiterte SCC- Chips (ESCC) wie den 8580, 85180 oder 85280 ein. Als Argument steht entweder das Wort yes oder no. Voreinstellung ist "no". vector optional, gibt die Adresse des Vector-Latch (auch als Intack-Port bekannt) für die PA0HZP-Karten an. Es gibt nur ein Vector-Latch für alle Chips. Voreinstellung: 0 . special optional, gibt die Adresse eines speziellen Funktions- registers für manche Karten an. Voreinstellung: 0 .Einige Beispielkonfigurationen:
BayCom USCC chip 1 data_a 0x300 ctrl_a 0x304 data_b 0x301 ctrl_b 0x305 irq 5 board BAYCOM # # SCC Chip2 # chip 2 data_a 0x302 ctrl_a 0x306 data_b 0x303 ctrl_b 0x307 board BAYCOM PA0HZP SCC-Karte chip 1 data_a 0x153 data_b 0x151 ctrl_a 0x152 ctrl_b 0x150 irq9 pclock 4915200 board PA0HZP vector0x168 escc no # # SCC Chip2 # chip 2 data_a 0x157 data_b 0x155 ctrl_a 0x156 ctrl_b 0x154 irq9 pclock 4915200 board PA0HZP vector0x168 escc no DRSI-SCC-Karte chip 1 data_a 0x303 data_b 0x301 ctrl_a 0x302 ctrl_b 0x300 irq7 pclock 4915200 board DRSI escc noBei wem die Karte bereits unter NOS funktioniert, der kann die Treiber-Befehle des PE1CHL-NOS-Treibers mit dem Befehl gencfg in eine für die Konfigurationsdatei des Z8530-Treibers nutzbare Form bringen.
gencfg 2 0x150 4 2 0 1 0x168 9 4915200eine Grundkonfiguration für die OptoSCC-Karte. Kanal-Konfiguration Im Abschnitt Kanal-Konfiguration werden alle anderen für den jeweiligen Port relevanten Parameter eingestellt. Auch dieser Abschnitt ist in einzelne Absätze unterteilt. Jeder dieser Absätze steht für einen logischen Port, da jede SCC-Karte zwei Ports bereitstellt, gibt es für jeden Hardware-Absatz zwei solcher Absätze. Die dazu notwendigen Schlüsselworte und Werte müssen in der Datei /etc/z8530drv.conf immer NACH dem Abschnitt mit den Hardware-Parametern stehen. Die Reihenfolge in diesem Abschnitt ist sehr wichtig, mit der hier vorgeschlagenen Reihenfolge sollte es funktionieren.
device muß in der ersten Zeile einer Port-Definition stehen und gibt den Namen der speziellen Gerätedatei an, auf die sich die weitere Konfiguration bezieht, z.B. scc0 speed gibt die Übertragungsrate in Bits pro Sekunde an, muß ganzzahlig sein, z.B. 1200 clock gibt an, aus welcher Quelle der Datentakt stammt. Erlaubte Werte sind: dpll normaler Halbduplexbetrieb external Das Modem hat einen eigenen Sende-/Empfangstakt divider verwendet den Fullduplex-Teiler, wenn installiert mode gibt die zu verwendende Datenkodierung an. Mögliche Werte sind nrz und nrzi. rxbuffers gibt die Anzahl der im Speicher zu reservierenden Empfangs- puffer vor. Der Wert ist ganzzahlig, z.B. 8 . txbuffers gibt die Anzahl der im Speicher zu reservierenden Sende- puffer vor. Der Wert ist ganzzahlig, z.B. 8 . bufsize gibt die Größe der Sende-/Empfangspuffer vor. Der Wert wird in Bytes angegeben und stellt die Gesamtlänge eines Paketes dar, es muß also die Länge der AX.25-Header zum Datenfeld hinzugerechnet werden. Dieses Schlüsselwort ist optional, die Voreinstellung 384. txdelay Das von KISS bekannte TXDelay, der Wert ist ganzzahlig und wird in Millisekunden angegeben. persist Der Wert für die Persistence, ganzzahlig. slot KISS-Slottime, ganzzahlig, in Millisekunden. tail Der TXTail-Wert bei KISS, ganzzahlig, in Millisekunden. fulldup das bei KISS verwendete Fullduplex-Flag, Wert ist entweder 1 für Vollduplex oder 0 für Halbduplex wait Der Wait-Wert bei KISS, ganzzahlig, in Millisekunden. min der Min-Wert bei KISS, ganzzahlig, in Sekunden. maxkey die maximale Sendezeit bei KISS ganzzahlig, in Sekunden. idle Der Idle-Timer-Wert, ganzzahlig, in Sekunden. maxdef Der Maxdef-Wert bei Kiss, ganzzahlig. group Der group-Wert bei KISS, ganzzahlig. txoff Der txoff-Wert bei Kiss, ganzzahlig, in Millisekunden. softdcd Der Wert für SoftDCD (Software-Rauschsperre), ganzzahlig. slip Das Slip-Flag bei KISS, ganzzahlig.
Den Treiber verwenden
Man verwendet die scc* - Geräte wie andere Netzwerk-Devices auch./sbin/ifconfig scc0 44.136.8.5 netmask 255.255.255.0 /sbin/ifconfig scc0 up axparms -setcall scc0 VK2KTJ up
Die Programme sccstat und sccparam
Bei der Fehlersuche kann das Programm sccstat helfen, indem man damit die aktuelle Konfiguration eines SCC-Device anzeigen lassen kann. Aufruf zum Beispiel mit:sccstat scc0Es werden viele Informationen zur Einstellung und Funktion des SCC-Ports scc0 angezeigt.
sccparam scc0 txtail 0x8
Überprüfen sie nun ihre Konfiguration.