Glenn's ethernet cards and drivers page

I have collected some information and tips on some of the ethernet cards I have. I have also written drivers for some of them after finding bugs or other problems with existing drivers. All my ethernet drivers have a 32bit WDS size calculation that makes them immune to the Ping o' Death, they also support SNMP statistics calls and the promiscuous mode calls (csCode 280 and 281).

Kinetics EtherPort IIN NuBus

I have several of these cards, they are also branded as Novel, Shiva, or Dayna, but seem to be functionally identical. They all say ETHERPORT II on the front of the card, but the ROM identifies them as an EtherPort IIN. All of them have on the back on the PCB copper layer PWB:5510102-00 REV:A.

All the cards I have came with an 8K buffer installed. The buffer on them can be upgraded to 32K by replacing the socketed 6264 chip with a 62256 and installing a jumper in the space J1 beside it. A 62256 chip should be readily available from eBay.

DaynaPORT drivers work with this card. I have also written a driver for it. The driver is a system extension, to install it just remove any old drivers and then drop this driver in your System folder. System 6.0.4 or later and Network Software Installer 1.5 or later or Open Transport is required to use it. This driver has been tested under System 7.0 on a Mac IIsi, System 7.5.5 on a Mac IIcx, System 7.6.1 on a Mac IIfx, System 7.6.1 on a Quadra 950, and MacOS 8.1 on a Quadra 950. I have not tried it on any NuBus PowerMacs yet but it should work. This driver does not support the ERead control call, but I don't know of any software that uses this anyway.

Click here to download driver version 1.0b5 (StuffIt archive - 4K)

3Com EtherLink NB/Apple EtherTalk NB/Sonic A Series/Asante Mac Con for IIsi SE30/Asante MCLC

Apple drivers built into the system work with these cards, but I decided to write my own driver because the Apple one only used 16K of the 64K buffer on the cards I have. The driver is a system extension, to install it just remove any other drivers (the Apple Ethernet NB extension for example) and drop it in your System folder. System 6.0.4 or later and Network Software Installer 1.5 or later or Open Transport is required to use it. This driver has been tested under System 7.5.5 on a Mac IIcx, System 7.5.5 on a Mac IIsi, System 7.6.1 on a Mac IIfx, System 7.5.5 on a Mac LC, and System 7.6.1 and 8.1 on a Quadra 950. I have not tried it on any NuBus PowerMacs yet but it should work. This driver does not support the ERead control call, but I don't know of any software that uses this anyway.

Click here to download driver version 1.0b5 (StuffIt archive - 4K)

Racal Interlan NiA300 NuBus

I have two versions of this card, one with 10base-T, and one with AUI and coax. This driver works with both, and I have not been able to find any other drivers still available online for this card.

Click here to download driver version 1.0b1 (StuffIt archive - 4K)

Racal Interlan Mac SE

I could not find a driver to work with this card so I wrote one. This driver is a DRVR resource that needs to be installed in the System file with ResEdit, and a control panel to go in the System Folder. This driver has been tested under System 6.0.8, System 7.0, and System 7.1.

Click here to download driver version 1.0b5 (StuffIt archive - 5K)

Source for my EtherLink NB driver

There doesn't seem to be a good reference for writing ethernet drivers for classic Macs, so I'm making the source to EtherLink NB driver available. This is released under an ISC license, which is a permissive license similar to BSD or MIT.

Source for version 1.0b5 (StuffIt archive - 41K)

Fixing 10base-T compatibility problems between old cards and modern ethernet switches

I've been working on fixing 10base-T compatibility for some cards that have issues connecting to ethernet switches that support Auto MDI-X. Cards I have seen this with are the Asante MC3NB with all 3 connectors (TP, AUI, and Coax), the Asante MCLC (MCiLC), the Asante MCNB (MCiNB), and the DaynaPORT E/II-3. Fixing these cards does require soldering skills, but for some of them is as simple as changing a resistor.

For the Asannte MC3NB, see this thread on Tinkerdifferent

For the Asannte MCiLC, MCiNB, and DaynaPORT E/II-3, see this thread on Tinkerdifferent

The technical details of this problem are the way these cards try to support automatic media detection and switching. The problem cards all use a DP83902 ethernet chip, which does not have automatic media detection and switching built in. The DP83902 can be set to either use 10base-T, or an external transceiver. When set to external, the 10base-T transceiver is completely shut down and does not output link pulses, or detect link pulses from the ethernet switch. The solution all these cards are using is to add on a link pulse detection circuit using a 26LS32 to detect the link pulses, and then a 74LS123 to turn the pulses in to turn the pulses in to a longer duration signal. Where that fails is ethernet switches using Auto MDI-X are not constantly outputting link pulses. The switch alternates between the two wire pairs outputting link pulses until they detect link pulses on the other pair. Because the problem cards don't output link pulses until they detect link pulses, there is a race where the 10base-T transceiver on the DP83902 needs to activate and start outputting link pulses before the ethernet switch changes over to the other pair. The solutions I've come up with either extend the time constant of the 74LS123 so the 10base-T transceiver stays active long enough for Auto MDI-X, or force 10base-T to always be active.

Cards that use a DP83902 and don't have this problem typically have manual selection of media type, or detect off a different media type (for example the Asante MC3NB with just AUI and 10base-T switches by detecting an AUI transceiver connected).

Other things to watch out for with old ethernet cards are bent or broken pins on the 10base-T socket, switches or jumpers set to disable link pulses, blown fuses for AUI power, or there is always the possibility of a more significant hardware failure.

SQE or Heartbeat should be enabled on external transceivers, but is more of an academic problem these days. It allows the card to check that the collision detection in the transceiver is working, however if it is not active the card will just count up errors in SNMP statistics. If the collision detection is not actually working, that is less of an issue on modern switched ethernet networks where it will only impact the link from the computer to the switch.


Home

Last modified 4 October 2023. Copyright 1997-2023 Glenn Anderson.