Linux Audio

Check our new training course

Embedded Linux Audio

Check our new training course
with Creative Commons CC-BY-SA
lecture materials

Bootlin logo

Elixir Cross Referencer

Loading...

IBM PCI Pit/Pit-Phy/Olympic CHIPSET BASED TOKEN RING CARDS README

Release 0.2.0 - Release    
	June 8th 1999 Peter De Schrijver & Mike Phillips


Thanks:
Erik De Cock, Adrian Bridgett and Frank Fiene for their 
patience and testing.  
Paul Norton without whose tr.c code we would have had
a lot more work to do.
 
Options:

The driver accepts three options: ringspeed, pkt_buf_sz, and  
message_level.

These options can be specified differently for each card found. 

ringspeed:  Has one of three settings 0 (default), 4 or 16.  0 will 
make the card autosense the ringspeed and join at the appropriate speed, 
this will be the default option for most people.  4 or 16 allow you to 
explicitly force the card to operate at a certain speed.  The card will fail 
if you try to insert it at the wrong speed. (Although some hubs will allow 
this so be *very* careful).  The main purpose for explicitly setting the ring
speed is for when the card is first on the ring.  In autosense mode, if the card
cannot detect any active monitors on the ring it will not open, so you must 
re-init the card at the appropriate speed.  Unfortunately at present the only
way of doing this is rmmod and insmod which is a bit tough if it is compiled
in the kernel.

pkt_buf_sz:  This is this initial receive buffer allocation size.  This will
default to 4096 if no value is entered. You may increase performance of the 
driver by setting this to a value larger than the network packet size, although
the driver now re-sizes buffers based on MTU settings as well. 

message_level: Controls level of messages created by the driver. Defaults to 0:
which only displays start-up and critical messages.  Presently any non-zero 
value will display all soft messages as well.  NB This does not turn 
debuging messages on, that must be done by modified the source code.

Multi-card:

The driver will detect multiple cards and will work with shared interrupts,
each card is assigned the next token ring device, i.e. tr0 , tr1, tr2.  The 
driver should also happily reside in the system with other drivers.  It has 
been tested with ibmtr.c running, and I personnally have had one Olicom PCI 
card and two IBM olympic cards (all on the same interrupt), all running
together. 

Variable MTU size:

The driver can handle a MTU size upto either 4500 or 18000 depending upon 
ring speed.  The driver also changes the size of the receive buffers as part
of the mtu re-sizing, so if you set mtu = 18000, you will need to be able
to allocate 16 * (sk_buff with 18000 buffer size) call it 18500 bytes per ring 
position = 296,000 bytes of memory space, plus of course anything 
necessary for the tx sk_buff's.  Remember this is per card, so if you are
building routers, gateway's etc, you could start to use a lot of memory
real fast.

Network Monitor Mode:

By modifying the #define OLYMPIC_NETWORK_MONITOR from 0 to 1 in the 
source code the driver will implement a quasi network monitoring 
mode.  All unexpected MAC frames (beaconing etc.) will be received
by the driver and the source and destination addresses printed. 
Also an entry will be added in  /proc/net called olympic_tr. This 
displays low level information about the configuration of the ring and
the adapter. This feature has been designed for network adiministrators
to assist in the diagnosis of network / ring problems.

6/8/99 Peter De Schrijver and Mike Phillips