Hello, John here.
My COTS PCIe card’s four RS232 ports don’t communicate in minicom, nor anywhere else I’ve tried.
Initially I had issues rebuilding the kernel to support more than 4 ttyS (ttyS0 appears to be an onboard uart so my PCIe board will consume ttyS1->ttyS4). I’ve increased SERIAL_8250_NR_UARTS in config and am thus able to MAKEDEV ttyS4.
I then issued four setserial /dev/ttyS1 port 0x1000 irq 388 baud_base 921600 commands (changing “ttyS1” and “0x1000”, as appropriate). irq “388” is as determined by lspci -vv, but lspci -bvv reports a different number, “132”, and I’m not sure which I should use.
If I use setserial’s “auto_irq” doesn’t change whatever the current IRQ is configured to, whether it is 388 or 132 … or 133.
If I use setserial’s “autoconfig” it doesn’t change anything, either.
In all cases the uart lists “unknown”, while I expected “ST16550” or “16550A” or similar.
These UARTs are IO devices (0x1000, 0x1008, 0x1010, etc) on a PCI (express) PNP card and the Linux driver file /drivers/tty/serial/8250/8250_pci.c has the VENDEV etc., but the TX2 doesn’t support ACPI so it doesn’t support 8250_PNP, so that file doesn’t get used.
Anyway, if /dev/ttyS1 has been set up with “sudo setserial /dev/ttyS1 port 0x1000 baud_base 921600 irq 388 uart 16550A” then I issue minicom -D /dev/ttyS1 it freezes.
What’s the correct approach to diagnosing this?