I am trying to get the serial ports working on a Jetway JNF9VT mainboard under Debian 8.5. This board uses a FINTEK F81866A super IO chip for the serial ports. Apparently this is connected to the SOC by an LPC bus. This seems to mean that there is no plug and play capability.
All the ports work fine under Windows 7, so the hardware is definately working. I have also tried Ubuntu 16.04 but see the same problems as with Debian.
Under Debian, I have added " 8250.nr_uarts=6" to the end of the linux command line in /etc/default/grub and all six ports seem to be recognised after boot:
[email protected]:~# setserial -g /dev/ttyS* /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4 /dev/ttyS1, UART: 16550A, Port: 0x02f8, IRQ: 3 /dev/ttyS2, UART: 16550A, Port: 0x03e8, IRQ: 10 /dev/ttyS3, UART: 16550A, Port: 0x02e8, IRQ: 10 /dev/ttyS4, UART: 16550A, Port: 0x04e0, IRQ: 11 /dev/ttyS5, UART: 16550A, Port: 0x04e8, IRQ: 11 [email protected]:~# dmesg | grep ttyS [ 2.035346] 00:05: ttyS2 at I/O 0x3e8 (irq = 10, base_baud = 115200) is a 16550A [ 2.056442] 00:06: ttyS3 at I/O 0x2e8 (irq = 10, base_baud = 115200) is a 16550A [ 2.077124] 00:07: ttyS4 at I/O 0x4e0 (irq = 11, base_baud = 115200) is a 16550A [ 2.097887] 00:08: ttyS5 at I/O 0x4e8 (irq = 11, base_baud = 115200) is a 16550A [ 2.118655] 00:09: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A [ 2.139825] 00:0a: ttyS1 at I/O 0x2f8 (irq = 3, base_baud = 115200) is a 16550A [email protected]:~#
But the ports cannot pass any data. I am using minicom to test. I am using a simple loopback on the TX and RX pins of each port with all handshaking disabled, so I don't this is a framing or timing problem.
I can get the ports to pass data after issuing this command for each port:
[email protected]:~# setserial /dev/ttyS1 irq 0 [email protected]:~#
This disables the use of interrupts and sets the port to "fast polling" mode. Apparently, this is a very CPU intensive mode so I would rather not leave the ports in this state.
I have tried setting interrupts between 1 and 15, but I still cannot pass any data.
Apparently, when serial ports are connected via the LPC interface, since there is no ISA-style plug and play capability, the BIOS must statically define the base addresses and interrupts. So I am wondering if this might be a BIOS problem? The BIOS is at "A01: Initial BIOS" with no updates available. There is a setting in the BIOS for com ports, options are Windows or Linuix. I have it set to Linux but I don't know what this actually does. Jetway support have been no help at all and the board manual does not describe what the BIOS settings actually do, just how to change them.
Thanks for any suggestions.