[[[ PicLan ]]]

PicLan PCI Adapter Support

November 21, 1999
(C) Copyright 1990-1999 Modular Software Corporation. All rights reserved.
For more information about PicLan contact: sales@modsoft.com

PCI Ethernet Support

As of PicLan v 2.0.0.31 (and PicLan-IP v 2.0.0(build 142), The PCI driver in PicLan has been extended to support additional netwrok adapters based on the Digital "tulip" chipsets as well as look-alike "tulip" type chips.

Board with the following PCI chips have been tested and operate with PicLan:

A number of additional chips have also been entered in the PCI chiptype table, but zero testing has been completed so operation is unlikely.

Initially, boards that used the 21040 chip were the most common. Recently, a number of manufacturers have switched over to the 21041 chip, which provides somewhat enhanced support for non-intel systems as well as better documented interfacing with the AUI port on combo adapters. Currently, Linksys appears to be using the 21040 chip and both Compex and SMC appear to be using the 21041 chip. The 21140 chip is reportedly used by the SMC 100BaseT PCI board (called the EtherPower).

Initially, the following adapter have been tested in-house at Modular Software:

As of the PicLan 2.0.0.10 release, addition testing of 10 and 100 Megabit networks have proceeded.  We have not seen any 21x4x based single-segment ethernet controls that do not work with PicLan.  You should not consider this a guarantee, but expect that most cards will work.

Because of the architechure of the 21041 chip, the PicLan driver may have difficulty in reading the ethernet node address from the card's ROM. If you have this problem, you can supply a manual node address for the PicLan driver.

Many of these boards are "combo" adapters supporting coax, twisted-pair, as well as AUI connectors. Support for the AUI connector is not well documented by DEC for the 21040 chip, so it is likely that the AUI port will not work with PicLan with 21040 based boards. These boards also support "full duplex" 10baseT connections. PicLan does implement this feature, but it has not been tested.

The PCI Ethernet support within PicLan is not available everywhere. Because of memory limitations, only the following clients and servers include support for these PCI adapters:

Other platforms such as R83, AP/Native, etc. do not support the PCI adapters at this time. A 32-bit driver version of PicLan for Pick/64+ and Sequoia PRO has also just been released. Support for R83, AP/Native, and UpBoard are probably not possible because of driver memory limitations.

Testing of the PCI adapters at Modular Software include a limited number of systems, all Pentium clones.

Configuring the PCI Driver

The PicLan PCI driver is mostly auto configuring. Under Pick, simply select the "PCI" driver and specify a media type. The I/O address and IRQ values are automatically setup by the PCI system BIOS.

With Piclan version 2.0.0.17, the PCI driver now uses a numeric parameter to configure the PCI adapter.  This parameter is documented when you run the Pick PL-CONFIGURE program for a PCI device.

If you are configuring a Lite-ON PNIC board like the NetGear FA310TX, you should use 00 to 10 megabit half-duplex, 01 for 10 megabit full-duples, 10 for 100 megabit half-duplex and 11 for 100 megabit full-duplex.

If you are running without PL-DEV, the PCI driver will try to load after the IPX driver and before the ENET driver. If you are loading PL-DEV, the load order is IPX, EPKT, APKT, PCI, and ENET. You can use the /nopci switch to disallow the PCI driver with PL-DEV. The PCI driver will not attempt to load on pre 386 systems.

Potential PCI IRQ Problems

AP/Pro, Mentor PC/OS, and Mentor PRO all use "real mode" disk drivers. AP/Pro uses BIOS disk drivers all of the time, and Mentor PC/OS and Mentor PRO use BIOS drivers during bootup and sometimes all of the time. In order to maintain compatibility with SCSI controllers, IRQ 11 is "special" and cannot be used by other devices under these Pick releases. Your PCI setup may setup the LAN adapter to use IRQ 11. The PicLan PL-LOAD program will display the actual I/O address and IRQ assigned to the PCI adapter by your system BIOS. If you have problems with PicLan using a PCI adapter, try changing the PCI interrupts to not use IRQ 11.

The PCI specification allows multiple adapters to share IRQ lines. Some operating systems support this. Pick does not. If you have a motherboard that assigns the same IRQ line to multiple adapters (for example, a PicLan network adapter and a Monolith PCI serial host adapter). then neither driver will function. Whether this happens to you is a function of the PCI setup functions within your system BIOS. It you think this is happening to you, call your dealer. Each motherboard is different and different proceedures are used in each case.

PCI Performance

The PCI PicLan driver has been stress tested with several systems ranging from Pentium 75 through Pentium 133 (and Cyrix 6x86 P120+). Testing has included both AP/Pro and Mentor PRO with clients running DOS with native drivers, DOS with IPX drivers, and Windows 3.x, 95, and NT.

As is true with most test environments, PicLan is stress tested using test programs that are designed to simulate larger environments than would be practical to assemble. Using the multi-session capabilities of PicLan, DOS workstations are able to connect to as many as 256 ports on a Pick host system simultaniously. This allows the Pick host system to be fully stressed without requiring hundreds of PCs.

The test client program is called BUCKET2.EXE and is a DOS program that is designed to open and read a large number of sessions concurrently with minimal overhead. This program literally reads from network connections and discards the data (thus the name BUCKET). As far as the Pick host system is concerned, the bucket program acts like a lot of terminal users that never type anything.

In testing PicLan with PCI drivers, several characteristics were noted:

In general, the performance of the Pentium 120 with a PCI adapter was so fast, that anything but another PCI adapter in a client couldn't keep up. If a large number of channels were routed to any other type of adapter, the result was a large number of lost packets because of overruns at the client adapter. In some cases, these overruns actually caused connections to timeout.

With a PCI to PCI network connection, the effective aggregate baud rates versus number of users was measured at:

For comparisons, the performance with Compex shared-memory ISA bus adapters are: These tests demonstrate the extremely low latency of the PCI adapters. It should also be noted that the "baud" rates here are actual terminal traffic data. They do not include packet headers, acknowledge packets, or buffer management packets. As such, 8.5 million baud is very close to Ethernet saturation. It should also be noted that during the testing, the network was so busy as to be nearly useless for normal DOS and Windows functions. Some functions even timed out.

Some additional testing at 100 Megabit were performed.  The single-session bause rate was about 7,500,000 baud and the multi-session baud rate jumped to about 12,000,000 baud.  This indicates that the network is not really the bottleneck, but it is instead the speed that the Pick and client can produce and consume meaningful data.

If you would like to test PicLan yourself, you can download the latest copy of BUCKET2.EXE from the BBS and run your own tests. Just put together fast systems running BASIC programs on the host that print a lot, log a lot of ports on, and see how much terminal I/O happens. One word of caution, don't try this on a live end-user's network. They can get a bit unhappy.