Is there a different method to initialize dumb multiport serial cards in the 2.6 kernel or is there a bug in the kernel and/or setserial?
I'm using a four port PC/104 card from WinSystems (PCM-COM4A-16) which has been verified with the the following scripts on both a 2.2.x and
2.4.29 kernels and everything seems to work fine. Addresses show up correctly in /proc/ioports and /proc/interrupts and work fine while transmittng data.#!/bin/sh setserial /dev/ttyS4 port 0x100 irq 7 uart 16550A ^fourport setserial /dev/ttyS5 port 0x108 irq 7 uart 16550A ^fourport setserial /dev/ttyS6 port 0x110 irq 7 uart 16550A ^fourport setserial /dev/ttyS7 port 0x118 irq 7 uart 16550A ^fourport setserial /dev/ttyS4 set_multiport port1 0x240 mask1 0xf match1 0
Using the same hardware, I receive the following error when the script is ran with a 2.6.10 kernel.
/dev/ttyS0 at 0x03f8 (irq = 4) is a 16550A /dev/ttyS1 at 0x02f8 (irq = 3) is a 16550A /dev/ttyS2 at 0x03e8 (irq = 2) is a 16550A /dev/ttyS3 at 0x02e8 (irq = 11) is a 16550A /dev/ttyS4 at 0x0100 (irq = 7) is a 16550A /dev/ttyS5 at 0x0108 (irq = 7) is a 16550A /dev/ttyS6 at 0x0110 (irq = 7) is a 16550A /dev/ttyS7 at 0x0118 (irq = 7) is a 16550A Cannot get multiport config: Invalid argument /dev/ttyS4 at 0x0100 (irq = 7) is a 16550A
I cannot figure out how to set the shared interrupt status register with the 2.6.10 kernel. What am I missing??
The kernel config is set as follows: # # Serial drivers # CONFIG_SERIAL_8250=y CONFIG_SERIAL_8250_CONSOLE=y # CONFIG_SERIAL_8250_CS is not set CONFIG_SERIAL_8250_ACPI=y CONFIG_SERIAL_8250_NR_UARTS=12 CONFIG_SERIAL_8250_EXTENDED=y CONFIG_SERIAL_8250_MANY_PORTS=y CONFIG_SERIAL_8250_SHARE_IRQ=y # CONFIG_SERIAL_8250_DETECT_IRQ is not set CONFIG_SERIAL_8250_MULTIPORT=y CONFIG_SERIAL_8250_RSA=y
Any help would be greatly appreciated. I've about exhausted my limited troubleshooting techniques and patience on this one. Googled to find similar questions but no solutions.
George