madge(5) (Nur RM400) madge(5)
NAME
madge - Token Ring-Treiber
BESCHREIBUNG
Eine allgemeine Beschreibung zum Token Ring befindet sich im Handbuch
Netzverwaltung - Leitfaden für Systemverwalter oder kann dem Token
Ring-Standard IEEE 802.5 entnommen werden.
An der RM400 wird der Zugang zu einem Token Ring-Netz entweder über
das Board Smart 16/4 EISA oder das Board Smart 16/4 PCI der Fa. Madge
realisiert. Im folgenden werden für den zugehörigen Treiber Hinweise
für die Konfigurierung sowie eine Beschreibung der Fehlermeldungen und
Diagnosemöglichkeiten gegeben.
KONFIGURATION
Ringgeschwindigkeit und Kabeltyp
Für jedes Board kann der Kabeltyp und die Ringgeschwindigkeit separat
eingestellt werden.
Kabeltyp Für das Übertragungsmedium kann zwischen UTP-
und STP-Kabeln gewählt werden.
Ringgeschwindigkeit Die maximale Übertragungsgeschwindigkeit kann
auf 4 Mbit/s oder 16 Mbit/s konfiguriert werden.
Die jeweilige Konfiguration ist im NVRAM eingetragen. Sie enthält ein
option-Feld für Ringgeschwindigkeit und Kabeltyp, wobei das niedrigste
Bit die Ringgeschwindigkeit (0 = 16 Mbit/s, 1 = 4 Mbit/s), das nächste
Bit den Kabeltyp (0 = STP, 1 = UTP) repräsentiert.
Die Konfiguration kann mit macadmin(1M) bearbeitet werden.
Early Token-Release
In /etc/conf/pack.d/madge/space.c kann die Variable madgeopenoptions
mit OPENOPTEARLYTOKENRELEASE besetzt werden (Standardwert: 0,
d. h. kein Early Token-Release). Diese Option kann auch gesetzt wer-
den, wenn der Ring nur bei 4 Mbit betrieben wird, wobei sie dann igno-
riert wird.
Wenn die Option aktiviert ist, wird ein freies Token auf dem 16 Mbit-
Ring erzeugt, bevor die abgesendete Nachricht den Umlauf auf dem Ring
beendet hat. Es existieren also mehrere Nachrichten gleichzeitig auf
dem Ring.
Nach Änderungen der Konfiguration in /etc/conf/pack.d/madge/space.c
muß mit idbuild(1M) ein neuer Kernel generiert werden.
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
madge(5) (Nur RM400) madge(5)
Source Routing
Konfigurationsmöglichkeiten zum Thema Source Routing sind im Handbuch
Netzverwaltung - Leitfaden für Systemverwalter beschrieben.
TREIBERMELDUNGEN
Ring-Status-Änderungen
Bis auf einige wenige Ausnahmen (z. B. Erhalt eines Remove-MAC-Frames)
werden alle Meldungen nicht auf die Konsole, sondern nur nach
/var/adm/log/messages geschrieben.
Jede Änderung des Ring-Status wird vom Treiber gemeldet. Der Ring-
Status enthält eine oder mehrere der folgenden Ausgaben:
- hard-error
Die Karte sendet oder empfängt Beacon Frames auf dem Ring. Die
Karte, die die Frames sendet, sollte identifiziert und ausgetauscht
werden.
- lobe-wire-fault
Dieser Fehler wird gemeldet, wenn die Karte keine physische Verbin-
dung zum Netz hat. Dies kann geschehen, wenn das Kabel gar nicht im
Board steckt, das Kabel defekt ist oder der falsche Kabeltyp für
das Board konfiguriert ist.
- remove MAC-received
Der Ringmanager eines Token Ring-Netzes kann jederzeit einen
Remove-MAC-Frame an eine Station im Ring senden, falls er z. B.
feststellt, daß von dieser Station fehlerhafte Pakete ausgehen. Die
angesprochene Station hängt sich dann aus dem Ring aus, erzeugt
einen Ring-Status-Interrupt, und der Treiber gibt eine Meldung an
der Konsole aus. Der Benutzer sollte sich dann mit dem Systemver-
walter des Ringmanagers in Verbindung setzen und mit dem Kommando
ullcadmin(1M) einen Restart des Interfaces durchführen. Der Treiber
initiiert kein automatisches Wiedereinhängen in den Ring.
- soft error
Es wurde z. B. ein fehlerhaftes Paket empfangen. Dann sendet der
Controller einen Error-Report-MAC-Frame an den Ring-Error-Monitor
und erzeugt diesen Status-Interrupt. Dies können Sie einfach igno-
rieren.
- ring-recovery
Die Karte entdeckt Claim Token Frames auf dem Ring. Dies geschieht,
wenn sich der Ringmonitor aus dem Ring entfernt, um einen neuen
Ringmonitor zu bestimmen.
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98
madge(5) (Nur RM400) madge(5)
- single-station
Wenn sich alle anderen Stationen aus dem Ring aushängen, meldet die
letzte Station, daß sie nun alleine im Ring ist.
- counter-overflow
Ein Fehlerzähler auf der Karte ist von 254 auf 255 gestiegen und
fängt nun wieder bei 0 an.
- auto-removal-error
Die Karte hat sich aufgrund eines Hardware-Fehlers vom Ring ent-
fernt und hat sich heruntergefahren.
- transmit-beacon
Die Karte sendet Beacon Frames auf den Ring. Dies geschieht, wenn
die Karte defekt ist; sie sollte ausgetauscht werden.
- signal-loss
Die Karte empfängt keine Signale mehr vom Ring. Die am Ring ange-
schlossene Hardware (Netzwerkkarten, MAUs) sollte überprüft und
gegebenenfalls ausgetauscht werden.
FEHLERMELDUNGEN
Fehlermeldungen beim Initialisieren
Falls das Initialisieren nicht durch einen MACSTARTREQ angestoßen
worden ist, so läuft im Hintergrund permanent eine Wiederinitialisie-
rung ab, d. h. es können mehrmals die gleichen Meldungen erscheinen.
Mit ullcadmin -d madge0 kann ein Reset auf das Board gemacht werden,
und diese Versuche können unterbunden werden.
download-image corrupted-reboot machine
Die Checksumme der Fastmac-Software, die als Binärcode im Treiber
liegt, stimmt nicht mehr. Z. B. der Madge-Treiber oder ein ande-
res Kernel-Modul hat die Fastmac-Software im Kernel überschrie-
ben.
downloading of software failed
Die Software für den Betrieb der Token Ring-Karte konnte nicht
auf die Karte übertragen werden. Kontaktieren Sie Ihr SNI Service
Center, falls dieser Fehler nach einem Reboot und einem Tausch
der Karte immer noch auftritt.
Seite 3 Reliant UNIX 5.44 Gedruckt 11/98
madge(5) (Nur RM400) madge(5)
bring-up failed with error-code .., bring-up timed out
Die Karte konnte nicht starten. Kontaktieren Sie Ihr SNI Service
Center, falls dieser Fehler nach einem Reboot und einem Tausch
der Karte immer noch auftritt.
wrong node-address in STB
Die gesteckte Karte hat eine permanente Adresse, die nicht von
der Fa. Madge ist (00:00:0f:..... für EISA oder 00:00:f6:... für
PCI).
initialization failed: error-code ..., initialization timed out
Die Karte konnte nicht initialisiert werden. Kontaktieren Sie Ihr
SNI Service Center, falls dieser Fehler nach einem Reboot und
einem Tausch der Karte immer noch auftritt.
SCB/SSB-test-DMA of initialization has failed
Die Karte hat DMA-Probleme während der Initialisierung entdeckt.
Kontaktieren Sie Ihr Service Center, falls dieser Fehler nach
einem Reboot und einem Tausch der Karte immer noch auftritt.
open failed: error-code .., open timed out
Fehler beim Einhängen in den Ring, z. B. ist kein Kabel gesteckt;
der Ring ist gerade im Status "Beaconing".
Sonstige Meldungen
new ring-status<...>
Änderung des Ring-Status ist eingetreten. Der Übergang zum Status
soft error ist sehr häufig und ganz normal.
REMOVE-MAC-frame received, re-insertion in ring must be initiated
manually (ullcadmin -e madge0)
Diese Meldung erscheint nicht nur in /var/adm/log/messages, son-
dern auch direkt an der Konsole.
stray interrupt
Interner Fehler. Keine Aktion erforderlich.
rxwrapptr wrong, rxhostptr wrong, invalid received packet length,
txhostptr/txadapptr wrong
Interne Fehler beim Senden/Empfangen von Paketen. Es wird ein
Reset auf das Board ausgeführt und ein Restart versucht. Tritt
dieser Fehler häufiger auf, sollte das Board ausgewechselt werden.
Seite 4 Reliant UNIX 5.44 Gedruckt 11/98
madge(5) (Nur RM400) madge(5)
adaptercheckinterrupt - restarting board - code ..
Es wird ein Restart versucht. Tritt dieser Fehler häufiger auf,
sollte das Board ausgewechselt werden.
arb-command with invalid return-code/function-code, completingsrb:
unexpected function-code
Interne Fehler, Board arbeitet aber normal weiter. Keine Aktion
erforderlich.
completingsrb: error of function ..
Normal, falls der Ring gerade im Status "Beaconing" ist.
start/stop by SNMP-request
Erscheint auch an der Konsole.
TRACING
Das Tracing im Treiber kann durch Setzen der Variablen madgeloglevel
in /etc/conf/pack.d/madge/space.c eingeschaltet werden. Ist madgeprf
(in space.c) 0, so wird die Ausgabe nach /var/adm/log/messages (nach
putbuf) geschrieben. Ist madgeprf gleich -1, so kann die Ausgabe mit
strace 8805 all all ausgelesen werden.
madgeloglevel kann entweder in space.c editiert werden (und wird dann
nach einem idbuild(1M) und Reboot wirksam) oder kann auch im laufenden
Betrieb mit dem ikdb(8) oder durch Schreiben in die Datei /dev/kmem
"gepatcht" werden. Die Systemleistung (Performance) wird durch Setzen
von madgeloglevel beeinträchtigt; außerdem kann die Datei
/var/adm/log/messages schnell sehr groß werden, wenn madgeprf auf 0
gesetzt ist.
Ist madgeloglevel größer 0, so werden bei Aufruf des Kommandos
etherstat -v interne Informationen und Statistikzähler nach
/var/adm/log/messages geschrieben. Ist madgeloglevel größer 100, so
wird auch der STB des Adapter geliefert (nur interessant für die Ent-
wicklung im Fehlerfall).
Ist madgeloglevel mindestens 10, so werden alle Aufrufe von Streams-
und Interrupt-Funktionen protokolliert. Für jedes gesendete Paket wird
madgewput aufgerufen, worauf ein Aufruf von madgeintr (transmit-buf-
ferempty-interrupt) folgt. Für jedes empfangene Paket wird madgeintr
aufgerufen. Außer den Tracepunkten für gesendete und empfangene Pakete
gibt es auch Einträge für den ioctl-Aufruf MACIOCLOCALSTATS, die
regelmäßig alle 60 Sekunden vom ULLC an den madge-Treiber geschickt
werden.
Seite 5 Reliant UNIX 5.44 Gedruckt 11/98
madge(5) (Nur RM400) madge(5)
Gibt es Kommunikationsprobleme, so ruft man am besten ping(1M) zu
einem Rechner auf. Wird im Trace die Funktion madgewput nicht aufgeru-
fen, so handelt es sich um einen Fehler in einer höheren Protokoll-
schicht. Wird madgewput, nicht aber madgeintr aufgerufen, so bekommt
das Board keine Interrupts.
Ist madgeloglevel mindestens 1000, so werden alle gesendeten und emp-
fangenen Pakete in Hex ausgedruckt (maximal 80 Bytes: kann über
/dev/kmem bzw. ikdb(8) "gepatcht" werden in der Variablen
madgeprintpacketlen). Die Ausgabe erfolgt immer nach
/var/adm/log/messages, unabhängig vom aktuellen Wert der Variablen
madgeprf.
FEHLERDIAGNOSE
Falls es einen Rechner am Ring gibt, der normal arbeitet, sollte man
das Programm tcpdump(1M) zur Fehlersuche verwenden. tcpdump schaltet
den Controller in promiscuous mode und zeigt alle oder auch nur ausge-
wählte Pakete mit decodierten TCP/IP-Headern an. Ohne Filter-Expres-
sion werden alle LLC- und MAC-Pakete angezeigt, wobei von den IP-Pake-
ten nur die decodierten Header und nicht die Paketinhalte gezeigt wer-
den.
Optionen von tcpdump:
-e Zusätzlich Anzeige des Link-Level-Headers mit Routing-Informa-
tion.
-x Ausdrucken der gesamten Paketinhalte in Hexadezimal-Darstel-
lung.
-A nr Attachment-Unit bezogen auf den ULLC (Standard 0). Diese Unit-
Nummer wird hochgezählt für alle Boards, die unter den ULLC
eingehängt sind. Sie ist identisch mit der Gerätenummer
(Minor-Device) des Geräteknotens /dev/dlpi/madge ...
Nach den Optionen folgt ein Filter-Ausdruck, z. B.:
host rechner
Anzeigen aller Pakete von/zu diesem Rechner
host rechner1 and rechner2
Anzeigen des Verkehrs zwischen zwei Rechnern
Mit anderen tcpdump-Filtern kann der Datenverkehr eines bestimmten
Protokolls [z. B. udp(7)], einer bestimmten Portnummer usw. ausgewählt
werden.
Seite 6 Reliant UNIX 5.44 Gedruckt 11/98
madge(5) (Nur RM400) madge(5)
DATEIEN
/etc/conf/pack.d/madge/space.c
Konfigurationsdatei für den madge-Treiber
/var/adm/log/messages
Protokolldatei für Kernel-Meldungen
/dev/kmem
Gerätedatei, die den Zugriff auf "kernel virtual memory" ermög-
licht [siehe kmem(7)]
/dev/nvram
Gerätedatei, die den Zugriff auf den NVRAM ermöglicht [siehe
nvram(7)]
SIEHE AUCH
idbuild(1M), macadmin(1M), ping(1M), tcpdump(1M), ullcadmin(1M),
kmem(7), nvram(7), ikdb(8).
Seite 7 Reliant UNIX 5.44 Gedruckt 11/98