Why do I get interrupt conflicts with multi-port serial code?

Why do I get interrupt conflicts with multi-port serial code?

When I compile a kernel with multi-port serial code, it tells me that only the first port is probed and the rest skipped due to interrupt conflicts. How do I fix this?

The problem here is that FreeBSD has code built-in to keep the kernel from getting trashed due to hardware or software conflicts. The way to fix this is to leave out the IRQ settings on all but one port. Here is an example:

    #
    # Multiport high-speed serial line - 16550 UARTS
    #
    device sio2 at isa? port 0x2a0 tty irq 5 flags 0x501 vector siointr
    device sio3 at isa? port 0x2a8 tty flags 0x501 vector siointr
    device sio4 at isa? port 0x2b0 tty flags 0x501 vector siointr
    device sio5 at isa? port 0x2b8 tty flags 0x501 vector siointr


Home
FAQ