Subject: isapnp modem
To: None <current-users@NetBSD.ORG>
From: Laine Stump <laine@MorningStar.Com>
List: current-users
Date: 01/14/1998 17:59:23
I have a Philips EasyConnect ISA bus PnP mode ($60 for 56kflex!) which I
was using in a Win95 test machine and decided to try on NetBSD.

I plugged it into a machine that had its BIOS PnP option set off. When I
boot with the standard GENERIC kernel, it reports com2 on isa0 at 0x3e8
irq5, then later on the PnP message comes up about an "unrecognized
device "SMM00C1", but with a different address and irq (2e8, irq 11)
than was detected earlier.

When I turn on PnP in the BIOS, only the latter message is reported, but
with 3e8 irq 5.

So I went looking in the kernel source and found com_isapnp.c. I added a
compare for "SMM00C1" in com_isapnp_match():

	if (strcmp(ipa->ipa_devlogic, "ROK0010") &&
+++	    strcmp(ipa->ipa_devlogic, "SMM00C1") && 
	    strcmp(ipa->ipa_devlogic, "BRI1400") && /* Boca 33.6 PnP */
	    strcmp(ipa->ipa_devcompat, "PNP0500") && /* generic 8250/16450 */
	    strcmp(ipa->ipa_devcompat, "PNP0501")) /* generic 16550A */
		return (0);

	return (1);

When I rebuild the kernel and reboot, I do get something like:

com3: at isapnp0 0x3e8 irq 5

(sorry, I'm going from memory, the other machine isn't connected to the
net and I've got a terrible headache so I don't feel like transcribing
or even looking right now).

But when I create a com3 device with MAKEDEV and tip to it, I'm
immediately dropped into the kernel debugger with a null pointer
dereference at _compopen+0x33. If I reboot without removing this device
node, whatever happens during the "setting tty flags" stage of booting
causes a panic.

Is there something else I must do to make this card work properly?
(According to the documentation, it does present itself as a COM port -
that's how they support Win3.1) Any other hints?