Trace information , on M680x0
The MoniCa symbol rpc_trace_flag
controls diagnosic output.
To turn it on, under Monica, this must be defined
as "TRUE".
If trace is on,
the RPC run&hyphen.time system will produce copious
trace information about each transaction, including the contents
of each message received or transmitted, and the addresses involved.
Under MoniCa (but not RMS68k), detailed diagnostics of the ethernet
driver are controlled by the global (integer) flag
_DEBUG.
This may take values from 0 to 5, giving increasing amounts of trace
information:
0 Trace only transmit errors, or internal hardware errors.
1 Trace also initialisation. (Still no output at interrupt level)
2 Trace all above plus error conditions at interrupt level
3 Trace all above plus normal Transmit interrupts
4 Trace all above plus normal Receive interrupts
The flag is normally 0, or 1 if rpc_trace_flag is defined as TRUE.
It may be set to other values by hand.
The output is always sent to the local terminal, even if a remote
terminal is running over RPC.
If a fatal error, or an error when debug output is enabled, then a message
may be output to the terminal with two bytes in hexadecimal.
* LANCE: Transmit error, status = 43, error = 04
For a receive error, the status bits are as follows:
- Bit 0
- ENP: Buffer includes the packet end.
- Bit 1
- STP: Buffer includes the packet start. Both bits 0 and 1 indicate a whole
packet, which is normal.
- Bit 2
- BUFF: (Chained buffer access error.
Should never occur, as chaining is not used.)
- Bit 3
- CRC: CRC error on incoming packet
- Bit 4
- OFLO: Overflow: The interface could not access memory fast enough to empty
its FIFO buffer as the packet arrived.
- Bit 5
- FRAM: CRC error and non&hyphen.integeral number of bytes in packet.
- Bit 6
- ERR: An error has occured, at least one of FRAM, OFLO, CRC, BUFF is set.
- Bit 7
- The buffer is in use bythe interface.
For a transmission error, the status bits are:
- Bit 0
- ENP: Buffer includes the packet end.
- Bit 1
- STP: Buffer includes the packet start. Both bits 0 and 1 indicate a whole
packet, which is normal.
- Bit 2
- DEFF: It was necessary to defer when trying to transmit.
- Bit 3
- ONE: Exactly one retry was necessary to transmit the packet.
- Bit 4
- MORE: More than one retry was necessary to transmit the packet.
- Bit 5
- Always zero.
- Bit 6
- An error (LCAR, UFLO or RTRY) condition occured.
- Bit 7
- The buffer is in use by the interface.
The interesting bits in the acompanying transmit "error" field are:
- Bit 2
- RTRY: 16 attempts were made to send the packet, all
failing due to collisions on the ethernet.
Note that apparent collisions can also be caused by a badly terminated
cable, as well as by severe overload of the ethernet.
- Bit 3
- LCAR: Loss of carrier during transmission.
- Bit 4
- LCOL: Late collision. A collision has occured afterthe slot time
of the channel has elapsed. No retry is performed in this case.
- Bit 5
- RES: Always zero.
- Bit 6
- UFLO: Underflow: data could not be read from memory fast enough to
fill the packet.
- Bit 7
- BUFF: Buffer chaining error. Should not occur.
Development Tools
Some utility programs which run under VAX/VMS have been developed
to aid the development of remote microprocessor systems which
include RPC software.
These include facilities for interrogation of tasks and memory in the target
task, starting and stopping of tasks, and file load and dump.
These are described elsewhere.