After my last post about OpenStep 4.2 on my ThinkPad 560E, one of the dangling TODO items was figuring out why the network setup that was made of all known-working parts didn’t work. I’ve now figured it out.
[TL:DR: The OpenStep 4.2 Etherlink III driver does a bad job with PnP and Media Autodetect on 3C589 cards. To make one work you will probably need to use 3Com’s DOS configuration utility to configure the EEPROM in the card.]
My dominant theory was that the OpenStep 4.2 driver supported the earlier 3C589 cards but not the D variant I had …so I found a 3C589C with 10BaseT only dongle for $17 shipped, and bought it. It showed up, I plugged it in, fixed the entry in Configure.app to remove the alterations to make it pick up the “D” variant card, rebooted, and
grep 589 /usr/adm/messages shows…
Feb 2 20:29:10 tp560e mach: 3Com EtherLink III 3C589 at port 0x300 irq 9 using BNC
Essentially the same thing. Yeah. It only has an RJ-45 10BaseT connector, and it has helpfully selected the non-existent BNC connector, just like the D model with combo jack selects the non-existent AUI connector.
At this point I figured there had to be a problem with the autodetection behavior in the Etherlink III driver in OpenStep 4.2, and started searching. With that idea, I noticed that the HPCFactor folks talked about configuring the EEPROM in the cards with a DOS configuration utility before trying to use it with any of Microsoft’s mobile-Windows variants, the SCO Unix support records talked about needing to pre-configure the card with a DOS utility, and the Amiga folks said the same. Then I noticed an old 1996 thread from NeXT folk warning that the auto-detection likely wouldn’t work, and went hunting for said DOS configuration utility.
The tool as described as the “included Etherdisk” in 3Com marketing materials or “3C589CFG” elsewhere, neither of which are particularly helpful in finding the files. What you need is actually the INSTALL.EXE from the driver distribution, loaded onto a DOS boot disk.
After figuring out what I actually needed, I found copies labeled “3c589x_2.exe” which is a self-extracting archive. 3Com’s FTP site is long, long gone, my copy came from a mirror-of-a-mirror at ftp.oldskool.org (this is a direct link to the file).
Unpack (I used DOSBox) and copy the contents to a DOS boot floppy (I used a Windows 95 Boot Disk, which the utility complains about being too new but seems to work fine anyway), and boot your machine with the card inserted.
Apparently you only need the INSTALL.EXE on your DOS boot disk, but the whole contents is only about 400K.
It gives you a delightfully 80s looking TUI for everything you might need. The bottom option is to configure the card, and that gives you the menu that is absolutely required to make these things work under most crusty operating systems.
From here you can set the I/O base address, the IRQ, and the Transceiver Type that the card expects in the EEPROM on the card. The IO base address needs to match between the ROM and Configure.app in OpenStep (regardless of what the primitive Plug-n-Pray does), and the media detect needs to be set to the one you want to use (probably “TP” for RJ-45 unless you are a masochist and run an old 10Base2 Thinnet network for funsises or something), and not “Auto Sense” because the OpenStep driver does wrong things when in auto-detect mode. It oddly doesn’t seem to actually hurt things if you don’t match the IRQ, but it’s still wise.
After a few rounds of that most early-90s experience of rebooting and tweaking until you manage to get a stable set of IO addresses and IRQs (DOS and OpenStep were packing IRQs differently, OpenStep has a SCSI card configured – it took a little fussing) I have reliable network connectivity on my OpenStep box.
Had I read more thoroughly and carefully I could have saved myself buying the second card, but $17 is pretty cheap for the hint, and having another NIC that will work with essentially anything with a PCMCIA slot made in the 90s isn’t terrible.
The modern ‘net is not a terribly friendly place for a tiny dinosaur like this. OmniWeb is a fine browser for its time, but doesn’t do modern HTTPS even with plugins. That said, just being able to (t)ftp files on and off and use text-mode network tools is a huge win, and now I can play a lot more with the software ecosystem.