madge(5) (RM400 only) madge(5)
NAME
madge - Token Ring driver
DESCRIPTION
A general description of Token Ring can be found in the Networking
Administrator's Guide or the Token Ring standard IEEE 802.5 can be
used.
Access to a Token Ring network on the RM400 is implemented using
either the Smart 16/4 EISA board or the Smart 16/4 PCI board from the
firm Madge. Information in relation to configuration of the accompany-
ing driver as well as a description of error messages and diagnostic
options is given below.
CONFIGURATION
Ring speed and cable type
Cable type and ring speed can be set separately for each board.
Cable type Either UTP cables or STP cables can be chosen as the
transmission medium.
Ring speed The maximum transmission speed can be configured for
either 4 Mbit/s or 16 Mbit/s.
The relevant configuration is recorded in the NVRAM. It contains an
option field, where the lowest bit encodes the ring speed (0 = 16
Mbit/s or 1 = 4 Mbit/s) and the next bit encodes the cable type (0 =
STP and 1 = UTP).
The configuration can be managed with the macadmin(1M).
Early Token release
In /etc/conf/pack.d/madge/space.c, the madgeopenoptions variable can
be filled by OPENOPTEARLYTOKENRELEASE (default value: 0, i.e. no
Early Token release). This option can also be set in such a way that
if the ring is operating at only 4 Mbit/s, it is ignored.
If this option is activated, a free token is created on the 16-Mbit
ring before the message issued has finished traveling around the ring.
This means therefore that there are several messages in the ring at
the same time.
After changing the configuration in /etc/conf/pack.d/madge/space.c, a
new kernel must be generated using idbuild(1M).
Source routing
The different configuration options for source routing are described
in the Networking Administrator's Guide.
Page 1 Reliant UNIX 5.44 Printed 11/98
madge(5) (RM400 only) madge(5)
DRIVER MESSAGES
Ring status modifications
With very few exceptions, (e.g. the receipt of a remove MAC frame) all
messages are written to /var/adm/log/messages, not the console.
Every change in the ring status is reported by the driver. The ring
status contains one or more of the following outputs:
- hard error
The board sends or receives beacon frames in the ring. The board
that is sending the frames should be identified and replaced.
- lobe wire fault
This error is reported if the board does not have a physical con-
nection to the network. This can happen if the cable is not plugged
into the board, or if there is a fault with the cable, or the wrong
cable type was configured for the board.
- remove MAC received
The ring manager of a Token Ring network can send a remove MAC
frame to a station in the ring at any time, if it can be esta-
blished that the station is for example, sending out faulty pack-
ets. The detected station then removes itself from the ring, gen-
erates an interrupt ring status, and the driver issues a message to
the console. The user should then contact the ring manager system
administrator and restart the interface using the ullcadmin(1M)
command. The driver does not initiate automatic remounting of the
station in the ring.
- soft error
An example of this is receiving a faulty packet. The controller
then sends a MAC frame error report to the ring error monitor and
generates this status interrupt. This can simply be ignored.
- ring recovery
The board detects claim token frames in the ring. This happens if
the ring monitor removes itself from the ring to allow a new ring
monitor to be defined.
- single station
If all other stations now detach themselves from the ring, the last
one reports that it is now alone in the ring.
Page 2 Reliant UNIX 5.44 Printed 11/98
madge(5) (RM400 only) madge(5)
- counter overflow
An error counter on the board is incremented from 254 to 255 and
restarts at 0 again.
- auto removal error
The board has removed itself from the ring because of a hardware
error and has shut itself down.
- transmit beacon
The board sends beacon frames in to the ring. This happens if the
board is defective and therefore should be replaced.
- signal loss
The board receives no more signals from the ring. The hardware con-
nected to the ring (network boards, MAUs) should be checked and
replaced if necessary.
ERROR MESSAGES
Error messages during initialization
If initialization was not initiated using MACSTARTREQ, reinitializa-
tion is constantly executed in the background, i.e. the same messages
can appear repeatedly. With ullcadmin -d madge0, the board can be
reset and these attempts at reinitialization can be prevented.
download image corrupted reboot machine
The Fastmac software checksums, which are in the driver in binary
code, are no longer the same. The Fastmac software was overwrit-
ten, either by the Madge driver or another kernel module.
downloading of software failed
The software for operating the Token Ring board could not be
downloaded to the board. You should contact your local SNI Ser-
vice Center if this error still occurs after a reboot and after
the board has been replaced.
bring up failed with error code .., bring up timed out
The board could not start. You should contact your local SNI Ser-
vice Center if this error still occurs after a reboot and after
the board has been replaced.
Page 3 Reliant UNIX 5.44 Printed 11/98
madge(5) (RM400 only) madge(5)
wrong node address in STB
The connected card has a permanent address which is not that of
the company Madge (00:00:0f:..... for EISA or 00:00:f6:... for
PCI).
initialization failed: error code ..., initialization timed out
The board could not be initialized. You should contact your local
SNI Service Center if this error still occurs after a reboot and
after the board has been replaced.
SCB/SSB test DMA of initialization has failed
The board has detected DMA problems during initialization. You
should contact your local SNI Service Center if this error still
occurs after a reboot and after the board has been replaced.
open failed: error code .., open timed out
Error during remounting in the ring, for example, no cable con-
nection, or the ring is in "beaconing" status.
Other messages
new ring status<...>
A change occurred in the status of the ring. The transition to
soft error status happens very often and is completely normal.
REMOVE-MAC-frame received, re-insertion in ring must be initiated
manually (ullcadmin -e madge0)
This message appears not only in the /var/adm/log/messages, but
also directly on the console.
stray interrupt
Internal error. No action necessary.
rxwrapptr wrong, rxhostptr wrong, invalid received packet length,
txhostptr/txadapptr wrong
Internal error in the sending/receiving of packets. The board is
reset and a restart is attempted. If this error continues to
occur, you should replace the board.
adaptercheckinterrupt - restarting board - code ..
An attempt is being made at a restart. If this error continues to
occur, you should replace the board.
Page 4 Reliant UNIX 5.44 Printed 11/98
madge(5) (RM400 only) madge(5)
arb-command with invalid return-code/function-code, completingsrb:
unexpected function-code
Internal error, board continues to function normally. No action
necessary.
completingsrb: error of function ..
Normal, if the ring is currently in "beaconing" status.
start/stop by SNMP request
Also appears on the console.
TRACING
Tracing in the driver can be activated by setting the madgeloglevel
variable in /etc/conf/pack.d/madge/space.c. If madgeprf (in space.c)
is equal to 0, the output is written to the /var/adm/log/messages file
(after putbuf). If madgeprf is equal to -1, the output can be read
using "strace 8805 all all".
madgeloglevel can either be edited in space.c (which takes effect
after an idbuild(1M) and rebooting) or "patched" while the operation
is running with ikdb(8) or by writing in the /dev/kmem file. System
performance is reduced by setting madgeloglevel, furthermore the
/var/adm/log/messages file can become very large in a short space of
time if madgeprf is set to 0.
If madgeloglevel is greater than 0, internal information and statis-
tics are written to /var/adm/log/messages when etherstat -v is called.
If madgeloglevel is greater than 100, the STB of the adapter is also
delivered (this paragraph is only relevant if an error occurs).
If madgeloglevel is at least 10, all calls from streams and interrupt
functions are logged. For every packet sent, madgewput is called up,
followed by a madgeintr (transmit buffer-empty interrupt) call.
madgeintr is called for every packet sent. Apart from trace points for
packets sent and received, there are also entries for the ioctl call
MACIOCLOCALSTATS, which are sent regularly every 60 seconds from ULLC
to the madge driver.
If there are communication problems, it is best to call up ping(1M) on
a computer. If the madgewput function is not called up in the trace,
the error is in a higher protocol layer. If madgewput but not
madgeintr is called, the board is not interrupted.
If madgeloglevel is at least 1000, all packets sent and received are
printed in hex (maximum 80 bytes: can be "patched" using /dev/kmem or
ikdb(8) in the madgeprintpacketlen variable). Output is always
according to /var/adm/log/messages, regardless of the current value of
the madgeprf variable.
Page 5 Reliant UNIX 5.44 Printed 11/98
madge(5) (RM400 only) madge(5)
ERROR DIAGNOSIS
If a computer on the ring is working normally, the tcpdump(1M) program
should be used to locate the error. tcpdump switches the controller to
promiscuous mode and shows either all packets or selected packets with
decoded TCP/IP headers. Without a filter expression all LLC and MAC
packets are shown, whereby only the decoded headers of the IP packets
and not the packet contents, are shown.
tcpdump options:
-e Additional display of the link level header with routing infor-
mation.
-x Print the entire packet contents in hexadecimal format.
-A no. Attachment unit referring to the ULLC (default 0). This unit
number is incremented for all boards mounted under the ULLC. It
is identical to the device number (minor device) of the device
node /dev/dlpi/madge ...
A filter expression follows the options, e.g.:
host computer
Show all packets from/to this computer
host computer1 and computer2
Show the traffic between two computers
Using other tcpdump filters the data traffic of a specified protocol
[e.g. udp(7)], of a specified port number, etc., can be selected.
FILES
/etc/conf/pack.d/madge/space.c
Configuration file for the madge driver
/var/adm/log/messages
Log file for kernel messages
/dev/kmem
Special file which makes possible access to "kernel virtual
memory" [see kmem(7)]
/dev/nvram
Special file which makes possible access to the NVRAM [see
nvram(7)]
SEE ALSO
idbuild(1M), macadmin(1M), ping(1M), tcpdump(1M), ullcadmin(1M),
kmem(7), nvram(7), ikdb(8).
Page 6 Reliant UNIX 5.44 Printed 11/98