Ever since we started using Linux systems at work on our Token Ring
network, we've been occasionally plagued with what I've come to call
"token ring lockups." When my Linux system, running 2.0.0 with an IBM
16/4 ISA Token Ring adaptor, is doing something very network-intensive,
such as multi-megabyte NFS reading or writing, it's not uncommon for the
following to appear in the syslog:
kernel: tr0: Line errors 01, Internal errors 00, Burst errors 00
kernel: A/C errors 00, Abort delimiters 00, Lost frames 00
kernel: Receive congestion count 00, Frame copied errors 00
kernel: Frequency errors FF, Token errors 00
kernel: tr0: unknown command in asb 08
kernel: tr0: ASB not free !!!
kernel: tr0: Arrg. Transmitter busy for more than 50 msec. Donald resets adapter, but resetting
kernel: the IBM tokenring adapter takes a long time. It might not even help when the
kernel: ring is very busy, so we just wait a little longer and hope for the best.
Once this happens, all network traffic is dead. The only way to get out
of the deadlock is to either reboot the machine or -- just discovered this
today and have only done it once -- take tr0 down with ifconfig and bring
it back up. It has never recovered by itself.
This has been happening with increasing regularity here -- once a day, on
average, and sometimes as many as three or four. I've no doubt that our
token ring network is atrocious...
If anyone has any thoughts -- kernel upgrade, hardware tweaking, etc. --
that might help ease this a bit, I'd appreciate it!
Christopher A. Smith