| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 |  | 
 | 2 | IBM PCI Pit/Pit-Phy/Olympic CHIPSET BASED TOKEN RING CARDS README | 
 | 3 |  | 
 | 4 | Release 0.2.0 - Release     | 
 | 5 | 	June 8th 1999 Peter De Schrijver & Mike Phillips | 
 | 6 | Release 0.9.C - Release | 
 | 7 | 	April 18th 2001 Mike Phillips | 
 | 8 |  | 
 | 9 | Thanks: | 
 | 10 | Erik De Cock, Adrian Bridgett and Frank Fiene for their  | 
 | 11 | patience and testing. | 
 | 12 | Donald Champion for the cardbus support | 
 | 13 | Kyle Lucke for the dma api changes.    | 
 | 14 | Jonathon Bitner for hardware support.  | 
 | 15 | Everybody on linux-tr for their continued support.   | 
 | 16 |   | 
 | 17 | Options: | 
 | 18 |  | 
 | 19 | The driver accepts four options: ringspeed, pkt_buf_sz,   | 
 | 20 | message_level and network_monitor. | 
 | 21 |  | 
 | 22 | These options can be specified differently for each card found.  | 
 | 23 |  | 
 | 24 | ringspeed:  Has one of three settings 0 (default), 4 or 16.  0 will  | 
 | 25 | make the card autosense the ringspeed and join at the appropriate speed,  | 
 | 26 | this will be the default option for most people.  4 or 16 allow you to  | 
 | 27 | explicitly force the card to operate at a certain speed.  The card will fail  | 
 | 28 | if you try to insert it at the wrong speed. (Although some hubs will allow  | 
 | 29 | this so be *very* careful).  The main purpose for explicitly setting the ring | 
 | 30 | speed is for when the card is first on the ring.  In autosense mode, if the card | 
 | 31 | cannot detect any active monitors on the ring it will not open, so you must  | 
 | 32 | re-init the card at the appropriate speed.  Unfortunately at present the only | 
 | 33 | way of doing this is rmmod and insmod which is a bit tough if it is compiled | 
 | 34 | in the kernel. | 
 | 35 |  | 
 | 36 | pkt_buf_sz:  This is this initial receive buffer allocation size.  This will | 
 | 37 | default to 4096 if no value is entered. You may increase performance of the  | 
 | 38 | driver by setting this to a value larger than the network packet size, although | 
 | 39 | the driver now re-sizes buffers based on MTU settings as well.  | 
 | 40 |  | 
 | 41 | message_level: Controls level of messages created by the driver. Defaults to 0: | 
 | 42 | which only displays start-up and critical messages.  Presently any non-zero  | 
 | 43 | value will display all soft messages as well.  NB This does not turn  | 
 | 44 | debugging messages on, that must be done by modified the source code. | 
 | 45 |  | 
 | 46 | network_monitor: Any non-zero value will provide a quasi network monitoring  | 
 | 47 | mode.  All unexpected MAC frames (beaconing etc.) will be received | 
 | 48 | by the driver and the source and destination addresses printed.  | 
 | 49 | Also an entry will be added in  /proc/net called olympic_tr%d, where tr%d | 
 | 50 | is the registered device name, i.e tr0, tr1, etc. This displays low | 
 | 51 | level information about the configuration of the ring and the adapter. | 
 | 52 | This feature has been designed for network administrators to assist in  | 
 | 53 | the diagnosis of network / ring problems. (This used to OLYMPIC_NETWORK_MONITOR, | 
 | 54 | but has now changed to allow each adapter to be configured differently and | 
 | 55 | to alleviate the necessity to re-compile olympic to turn the option on). | 
 | 56 |  | 
 | 57 | Multi-card: | 
 | 58 |  | 
 | 59 | The driver will detect multiple cards and will work with shared interrupts, | 
 | 60 | each card is assigned the next token ring device, i.e. tr0 , tr1, tr2.  The  | 
 | 61 | driver should also happily reside in the system with other drivers.  It has  | 
 | 62 | been tested with ibmtr.c running, and I personally have had one Olicom PCI  | 
 | 63 | card and two IBM olympic cards (all on the same interrupt), all running | 
 | 64 | together.  | 
 | 65 |  | 
 | 66 | Variable MTU size: | 
 | 67 |  | 
 | 68 | The driver can handle a MTU size upto either 4500 or 18000 depending upon  | 
 | 69 | ring speed.  The driver also changes the size of the receive buffers as part | 
 | 70 | of the mtu re-sizing, so if you set mtu = 18000, you will need to be able | 
 | 71 | to allocate 16 * (sk_buff with 18000 buffer size) call it 18500 bytes per ring  | 
 | 72 | position = 296,000 bytes of memory space, plus of course anything  | 
 | 73 | necessary for the tx sk_buff's.  Remember this is per card, so if you are | 
 | 74 | building routers, gateway's etc, you could start to use a lot of memory | 
 | 75 | real fast. | 
 | 76 |  | 
 | 77 |  | 
 | 78 | 6/8/99 Peter De Schrijver and Mike Phillips | 
 | 79 |  |