Help file for the oltr driver.
==============================
What is the oltr driver?
========================
The oltr driver is a device driver for the Olicom Token-Ring
adapters. This driver is based on the lower level driver called
the Power Mach Works (PMW) kit.
Currently the PMW kit supports:
- OC-3118 Token-Ring ISA 16/4 Adapter
- OC-3136 Token-Ring PCI 16/4 Adapter
- OC-3137 Token-Ring PCI/II 16/4 Adapter
- RF-3139 RapidFire 3139 Token-Ring 16/4 PCI Adapter
- RF-3140 RapidFire 3140 Token-Ring 16/4 PCI Adapter
- RF-3141 RapidFire 3141 Token-Ring 16/4 PCI Fiber Adapter
- RF-3540 RapidFire 3540 HSTR 100/16/4 PCI Adapter
Olicom PC Cards are not suppported.
Network card detection
======================
The driver automatically probes for all cards.
If the driver is linked into a Linux 2.0.x kernel, note that
Linux 2.0 by default only detects one network card; if you have
multiple network adapters (Ethernet and/or Token-Ring), you will
need to use the "ether=0,0,eth1" option to enable auto-detection
of the second (eth1) adapter, "ether=0,0,eth2" to auto-detect the
third (eth2) adapter and so on. See the Linux BootPrompt-HOWTO
for more details.
If the driver is built as a module, you can disable the probing
for ISA cards by passing the option "force_probe=0" on the insmod
or modprobe command line, or put it into your
/etc/conf.modules. You can also tell the driver not to probe, but
use an adapter located at a specific I/O port address by passing
the option "io=0xA00" if the adapter is configured for I/O port
A00, "io=0xA60" if it is configured for I/O port A60 etc. Legal
values for the I/O address are 0xA00 .. 0xBE0, in increments of
20 (hexadecimal).
Device names
============
For Linux 2.0.x the device to use for ifconfig will simply be
called "ethX" (where X is a number starting at 0).
The naming of token ring interfaces as "ethX" is due to the
fact that Token-Ring support in Linux 2.0 is not quite pre-
pared for anything but a single IBM adapter, if the "trX"
naming is used. By using the "ethX" naming this problem is
avoided.
Some way or another if you insert the oltr driver next to the
ibmtr driver, both tend to get the same device name. I think the
problem is in the ibmtr driver: The oltr driver correctly
allocates new ethX device names next to ordinary ethernet
drivers.
Starting with Linux 2.1.x, the driver uses "trX".
Driver options: LAA (Locally Administered Adress) and Speed
===========================================================
When the driver is linked into the kernel, it uses the settings
configured in hardware for the ring-speed and MAC address. You
cannot pass options to the driver from LILO or loadlin.
When you load the driver as a loadable kernel module, there are
two configuration options:
1) The 'laa' option allows the use of a 'locally administered
adress' (LAA). E.g. to assign the address 40.00.12.34.56.78 to
the first Olicom card, use 'laa="40.00.12.34.56.78"'.
Note that the actual syntax for this option requires proper use
of quotes and backslah-escapes to work correctly with your shell
and the modprobe or insmod programs:
- If you configure this option in /etc/conf.modules, use
options oltr laa=\"40.00.12.34.56.78\"
- If you load the module with modprobe, use
modprobe oltr laa=\\\"40.00.12.34.56.78\\\"
- If you load the module with insmod (don't; use modprobe instead)
insmod oltr.o laa=\"40.00.12.34.56.78\"
According to Token-Ring specifications, the first byte of a LAA
must be in the range 40-7F hexadecimal. If you want to set LAA's
for more than one card, add all of the LAA's, separated with
commas.
2) The 'speed' option selects the ring-speed used by the cards.
Legal values are 16 and 4, the default is that which is
configured in hardware (can be changed with the setup and
configuration tools for your adapter).
Note that the RapidFire adapters support speed-sense, i.e. the
adapter will select 4, 16 (or 100) Mbps automatically. However,
if the adapter is the only station on the ring, the adapter
will not insert unless the speed is forced, i.e. a speed
parameter is given.
There are some user tuneable compile time parameters near the top
of the oltr.c source file. Read the comments for an explanation.
You can assume that these are set to reasonable defaults: they
can tune performance a little bit, that sort of stuff. I expect a
difference of less than a few percent, so I didn't bother to do
the benchmarks. If you want, go ahead and benchmark it, and
report the results.
Support
=======
If you have problems with this driver, support is available
through the normal Olicom support channels, for example by Email
at support@olicom.dk or support@olicom.com. Note that this is
not for general linux-networking help. Read the networking-howto
or ask a local Linux guru.
Compatibility
=============
SMP
---
This driver should work for SMP.
Architectures
-------------
This driver is NOT compatible with non-intel architectures.
For one, the PMW kit is not available for other architectures.
Secondly the PMW kit is most likely not 64bit safe.
IPX (and other non-IP protocols)
--------------------------------
This version of the driver fully supports IPX, thanks to the
efforts of Gilbert Ramirez Jr. <gram@verdict.uthscsa.edu>.
In fact, any protocol supported by the Linux networking stack
should work with this driver.
DHCP
----
For Linux 2.0 : The dhcpcd DHCP client as shipped with the Red
Hat distribution (and possibly others) do not support
Token-Ring. A version of dhcpd 0.65 that works on Token-Ring
networks is available at
ftp://ftp.olicom.dk/releases/Unix-Driver/Linux/unsupported/dhcp/
Also, the dhclient program from the Internet Software Consortium
(www.isc.org) implementation of DHCP supports Token-Ring.
For Linux 2.2 : Currently (May 1999), there are no DHCP
clients that work with the Token-Ring.
tcpdump
-------
The current release of tcpdump (and the "pcap" library used by
tcpdump) do not support decoding of Token-Ring frames. Keith
Owens provided an "experimental patch" for tcpdump 3.3 which is
available at ftp://ftp.ocs.com.au/pub/tcpdump-3.3-tokenring.gz -
however, this patch assumes that token-ring devices are named
"trX" and thus does not work with the Olicom driver and Linux
2.0. For this combination, you need both Keith's patch and a
patch from Olicom. Both can be found at
ftp://ftp.olicom.dk/pub/Releases/Unix-Driver/Linux/unsupported/tcpdump/
It is uncertain, whether the tcpdump patch works with Linux 2.2.x
kernels.
OC-3118 ISA adapters and Plug-and-Play
======================================
The OC-3118 is a Plug-and-Play (PnP) card. If you don't have a
PNP bios, you need to configure the device using the isapnp
tools. See below for a configuration that works for me. Also
attached is the isapnptools LSM entry.
If the PNP stuff doesn't work for you, you can use the dos
"setup" program, or the "cfg3118.exe" program that comes with the
adapter kit. These programs are also available at the Olicom WWW
sites, www.olicom.dk or www.olicom.com, and allow you to
configure the card, and to disable PNP. This will cause the card
to power up active, and you no longer need isapnp or a
pnpbios.
On some systems, it is necessary to change the BIOS setup to
allocate an IRQ and DMA channel for non-PnP cards - check your
BIOS documentation.
Disturbing messages from the OC-3118 ISA adapter
================================================
The oltr driver occasionally blurbs messages that some find
disturbing. For example when you're running an OC-3118 card, the
driver occasionally mentions:
Couldn't get a free page.
eth1: Memory tight. Only 8 buffers left.
The driver tries to maintain a pool of 16 free buffers for
incoming packets. When no buffers are available, it will give you
these messages, and retry allocating the buffer the next time a
packet comes by or a second elapses. If the number of (normal)
buffers goes down to zero, just one emergency buffer remains. No
more concurrency between processing one packet and receiving the
next will occur. For maximum performance the 16 buffers are
necessary, but this message warns you that your system
occasionally runs out of buffers. It happens to me on my 8Mb '486
system, especially closely after booting a kernel with the driver
compiled in, or just after insmod-ing the module.
In short: You can safely ignore this message.
Performance
===========
TCP throughput has been measured at over 87% of the theoretical
bandwidth at the default MTU of 2000 bytes. 8% are easily explained
as the TCP headers, MAC headers, and return ACK packets. Then
there is 5% of unexplained performance gap. Optimizing this is
hardly worthwhile (reduce the overhead by 40%, and you get a 2%
performance boost).
Copyright
=========
Read the top of the oltr.c file for the copyright statement. It
is a little more complicated than simply GPL.
-------------- sample configuration file for isapnp ------------------
# $Id: olicom.txt,v 1.1 1998/05/21 09:48:45 wolff Exp wolff $
# (DEBUG)
(READPORT 0x0203)
(ISOLATE)
(IDENTIFY *)
# Card 1: (serial identifier 2b 83 ac 0c b7 30 94 83 3d)
# OLC9430 Serial No -2085876553 [checksum 2b]
# Version 1.0, Vendor version 0.0
# ANSI string -->Olicom Token-Ring ISA 16/4<--
#
# Logical device id OLC0001
# Device support I/O range check register
#
(CONFIGURE OLC9430/-2085876553 (LD 0
(IO 0 (BASE 0x0a20))
# IRQ 3, 5, 7, 9, 10, 11, 12 or 15.
(INT 0 (IRQ 11 (MODE +L)))
(DMA 0 (CHANNEL 6))
(ACT Y)
))
# Returns all cards to the "Wait for Key" state
(WAITFORKEY)
--------------- end of configuration file for isapnp ----------------
Version 1.11 is current at the moment of this writing. (August 1997)
--------------------- isapnptools-1.11.lsm ---------------------------
Begin3
Title: isapnptools
Version: 1.11
Entered-date: 14JUL97
Description: ISA plug and play configuration utility
Two programs - one allows the dumping of resource data and
generation of a skeleton configuration file, the other
configures ISA PnP hardware using a configuration file.
Keywords: ISA PnP Configuration Hardware
Author: fox@roestock.demon.co.uk (Peter Fox)
Maintained-by: fox@roestock.demon.co.uk (Peter Fox)
Primary-site: sunsite.unc.edu /pub/Linux/system/hardware
40k isapnptools-1.11.tgz
127k isapnptools-1.11.bin.tgz
Alternate-site: tsx-11.mit.edu /pub/linux/sources/sbin
40k isapnptools-1.11.src.tar.gz
Alternate-site: tsx-11.mit.edu /pub/linux/binaries/sbin
127k isapnptools-1.11.bin.tar.gz
Alternate-site: ftp.redhat.com /pub/pnp/utils
40k isapnptools-1.11.tgz
127k isapnptools-1.11.bin.tgz
Original-site: ftp.demon.co.uk /pub/unix/linux/utils
40k isapnptools-1.11.tgz
Copying-policy: GNU
End
------------------ end of isapnptools-1.11.lsm -----------------------
Download Driver Pack
After your driver has been downloaded, follow these simple steps to install it.
Expand the archive file (if the download file is in zip or rar format).
If the expanded file has an .exe extension, double click it and follow the installation instructions.
Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.
Find the device and model you want to update in the device list.
Double-click on it to open the Properties dialog box.
From the Properties dialog box, select the Driver tab.
Click the Update Driver button, then follow the instructions.
Very important: You must reboot your system to ensure that any driver updates have taken effect.
For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.