OpenBSD and IRQ Conflicts

3 posts in this topic

In a continuation of the work on my laptop/thin client project, I now have OpenBSD installed on a 1 GB CF card. Everything works, just not at the same time: if I boot OpenBSD with the NE2000-compatible PCMCIA NIC in the slot (it's some Linksys card, but the same thing happens with 3Com cards, et c.), the NIC is picked up before both the first serial port and the PCMCIA controller, grabbing IRQ 3. This causes the PCMCIA controller to grab IRQ 4, which is normally used by the first serial port. Changing the serial port to act as the second port at IRQ 3 does no good either, because the NIC and PCMCIA drivers load before it. I can "solve" the problem by leaving the NIC out while booting, and inserting it after the serial port's driver has loaded -- the NIC then picks up IRQ 9 and everything is happy. Therefore, I've concluded the problem is that the serial port is using a static IRQ, and the BIOS/OS isn't reserving that IRQ.

I'm fairly new to the BSD kernel, so I'm not sure how this could be resolved. This doesn't seem to be a very common problem, with only four similar results through Google, so I'm guessing it has to do with an inadequate BIOS. That being said, is there a way to force the kernel to load the serial driver before the NIC/PCMCIA driver, causing it to mark IRQ 4 as already in use?

I'd disable the serial port and abandon it as a lost cause, but since this is an old, heavily modified laptop, I need the serial port to connect a serial mouse: the PS/2 keyboard/mouse port is occupied by an external PS/2 keyboard, and there are no USB connectors.

Share this post

Link to post

Share on other sites

I'd imagine devices like that only work on particular boards -- I have a PC/104 board, for instance, that combines both the PS/2 mouse and keyboard signal wires into one PS/2 style mini-DIN connector, but it's proprietary.