NE2000 ethernet and FreeBSD 4.3/4.4 hanging at boot

Hi all!

A little while ago I managed to get a system identical to my first PC during my youth: a Compaq Deskpro XE 466.

I decided to dual boot it with a CF card & IDE to CF converter as it was not having a disk. It runs Windows 95 and FreeBSD 4.3 (I picked 4.3 because it has only 8MB RAM).

The system came with an ISA Intel EtherExpress card using the S82595FX chipset, which works fine. However, the EX-driver that started in FreeBSD 2.2 does not support multicast (till today, as far as I could find in the manuals), and hence also no IPv6...

Therefore, a colleague gave me an old ISA NE2000-compatible card having an UM9003F chip on it. This card installs in Windows 95 (it's a jumpered one, so I tried to configure it as good as possible with what I could find online - at least there are no conflicts it seems) and runs well (I did a bit of throughput testing to make sure it's stable). However, in FreeBSD 4.3 (also with Debian Linux with kernel 2.0.38 and I also tried booting FreeBSD 4.4) the system hangs immediately after loading the kernel at (after enabling verbose mode):

isa0: <ISA bus> on motherboard

I hope someone has an idea about this and some clue how to get it working properly.

I'm not very sure if it could be that I have to set something with a software tool from the past on the card itself or that a jumper setting (it has jumpers for ROM and system bus settings, besides IRQ/IO), so it could be due to a conflict with the hardware or misconfiguration, but it could also be something ISA non-PnP probing device/driver related thingy I guess.

A picture of the board - maybe someone recognizes it:

Thanks so far!
Hello timvdl900,

Did you add hints about your device into /boot/device.hints ?

Something like this :
Just use your own values.
I have a bunch of old Amigas. But I know there's no support when something breaks.
Perhaps on some forums dedicated to Vintage computing ?
That said, the file /boot/device.hints is present on my freshly installed FreeBSD 10.3 :
# $FreeBSD: releng/10.3/sys/amd64/conf/GENERIC.hints 276986 2015-01-11 17:10:07Z nwhitehorn $"isa"
Hi guys!

I'm completely aware it's an old release which is not supported. But I'm quite sure a lot of people used it years ago with their systems. Therefore I was just asking and hoping for someone with some old knowledge about it :)!

Regarding the /boot/device.hints adjustments: I already found that one, and it would be very handy I think. However the man page about it says:
The device.hints file first appeared in FreeBSD 5.0.

Is there maybe a way to do something like that in the /boot/loader.conf?
Therefore, I think you have to make a custom kernel with a line about ed0 into the configuration file.
Well, if you insist on using FreeBSD 4 why don't you at least try the last 4 version; 4.11?
Uh... the NE2000. I hated that thing with a passion. It was a nightmare to set up and get running (jumpers) for a newbie, and and a pain in the ass for a network administrator running a 200+ PC shop. I did both.

Like many NatSemi DP8390 based NICs (WD8XXX and many others) it performed decently well with FreeBSD for those times, and it was widely available and quite cheap. Basically, Novell kick-started the PC networking era by throwing that thing out to the masses, essentially at cost. The 8390 and its clones were the Realteks of the ISA era, and did a way better job in that role than Realtek did ever since.
Of course, in the mid 90s the good folks at 3com introduced the 3c509B NIC, and from that time on that thing was God's Gift To Network Administrators running ISA based system. Fully software configurable, flexible, and blazingly fast with good drivers, it obsoleted most other NICs in the professional realm. Only, a few years later came PCI, and the cards were shuffled anew. After some back and forth (the first generation of PCI NICs were mostly crap all over the place) the world recognized that now the new gold standard would be Intel (the Pro/100 etc, fxp), and the crap heaps of the world would be swamped by Realtek's sorry excuse for an ethernet chipset. And that lasted until Gigabit became commonplace :) If you can get your hand on a 3c509B, ditch the NE2k for it.

But enough of history. The secret to the NE2K is that you jumper or dip-switch the thing to the kernel's default setting. If you are new to BSD, don't bother with recompiling a kernel for the installation - you most likely know your PC better than BSD, and you configure your PC to run the BSD installation, not the other way round. Yes, I know, that seems quaint from today's autoconfigured world, but that's the way things were done when that hardware was built.

I second the suggestion above to get 4.11. If you can't get a RAM upgrade from those 8 MB, start with 4.2 and do a source upgrade to 4.11 once you got a little familiar with it. Alternatively, if you are familar with BSD, use a virtual machine to build a bootable disk image with 4.11, dd that to your Compaq and work from there. Or put the hard drive in a larger PC just for installation.

Anyway, good luck with your endeavor.
P.S btw - according to the INSTALL.TXT 4.3 already wants 16M for Jordan's Sysinstall masterpiece. Have you tried 4.2?