Olicom Token Ring Drivers for FreeBSD


I have produced a set of files that work with FreeBSD 5.3. ( 2005-01-31 )


FreeBSD has long had support for Olicom token ring adapters. Somewhere around 4.1-RELEASE, Larry Lile rewrite the driver to work in the then-new newbus framework. At this point, support for ISA cards was dropped.

Since that time (March 2003), pretty much nothing has happened with the driver. It continues to work well with PCI adapters, but that's about it.

For another project of mine, I wanted to put an ISA-only machine onto my token ring network, but discovered that the driver doesn't support the ISA cards (even though it is documented as though it does). After doing a little research, I realized it wouldn't be too hard to add ISA support back in, and I did so.

The original ISA -supporting driver was a little primitive, supporting only PNP and still requiring DMA support in the kernel, since it was still all in one source module. I have since fixed up the driver properly and separated out the ISA and PNP code, and added support for non-PNP.


Here are the new files:

For FreeBSD 4.5 through 4.11:

For FreeBSD 5.3:

To use the driver, install the four files as indicated and apply the patch to /usr/src/sys/conf/files.i386 The kernel configuration should have the following added:.

For FreeBSD 4.5 through 4.11:

device oltr
pseudo-device token

For FreeBSD 5.3:

device oltr
device token

The "device oltr" line can also contain the usual resource specifications if PNP mode is not being used for an ISA card:

device oltr0 at isa? port 0xa00 irq 5 drq 1 iomem 0xc800

Be sure to specify all the parameters. So far as I have seen, this is the only ISA NIC driver that uses DMA!

What Next?

These is a bit more cleanup this driver could use:

Questions? Comments?

If you have questions, comments, or requests on this software, please let me know. I can be emailed at david@madole.net.

I would also enjoy hearing from you if you are using this driver.

Web hosting by
Omd3.com Hosting Services
David S. Madole
2005-01-31 0400 GMT