[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: multiport serial card setup

On Tue, Oct 24, 2017 at 04:27:38PM +0200, tovis wrote:
I have using Brain Boxes UC-260 4xserial port card for many years on
Debian 6.0.10 Squeeze. Now I have build a new box with this card for
Stretch and I recognize that old "tricks" are does not work.
The old recipe was

If I'm reading <https://www.kernel.org/doc/html/v4.10/admin-guide/kernel-parameters.html> correctly, the correct command line parameter is just "nr_uarts=8". So it may be that the kernel is ignoring your command and only providing you with the default 4.

In result I have 8 nodes for serial devices, up to ttyS7
/dev/ttyS4 uart 16750 port 0xd100 irq 20 baud_base 115200 spd_normal
skip_test ^fourport
/dev/ttyS5 uart 16750 port 0xd108 irq 20 baud_base 115200 spd_normal
skip_test ^fourport
/dev/ttyS6 uart 16750 port 0xd110 irq 20 baud_base 115200 spd_normal
skip_test ^fourport
/dev/ttyS7 uart 16750 port 0xd118 irq 20 baud_base 115200 spd_normal
skip_test ^fourport
Thats all. Every port are working well.
With stretch it does not work at all.
After reboot, from command line:
$ setserial /dev/ttyS4 -a
Invalid argument

Same command but as root:
# setserial /dev/ttyS4 -a
/dev/ttyS4, Line 4, UART: 16750, Port: 0xd100, IRQ: 20
       Baud_base: 115200, close_delay: 50, divisor: 0
       closing_wait: 3000
       Flags: spd_normal skip_test

Seem to be work? - not yet, using minicom it can not receive even himself
(sort cut pins 2-3 w/o any handshake). Port address and irq was taken from
lspci and proved by windows 10 running on the same box.
I cleaned up /etc/serial.conf as this card does not exist at all.
I tried to setup serial by hand:
# setserial /dev/ttyS4 uart 16550A port 0xd100 irq 20 baud_base 115200
spd_normal skip_test
Invalid argument

The error seem less in kernel log.
I have tried several settings - decide which argument is wrong. At last
turn out that /dev/ttyS4, the device node is invalid, I can set it as
/dev/ttyS1 (no such a "standard" port in my box), but card still wont
I have tried several Debian live Strecth and Jessie distros with the same
result. I have also tried SystemRescue CD with more up to date kernel but
got the same result.
I also lookup the manufacturer suggested "driver" - in real it is only
some patches in grub and rc.local but it still does not work.
In windows 10 it is work well.
I was submitted a bug report to Debian about the setserial, but I'm not
sure that it is setserial problem, I suspect kernel?
I have no idea what to do more. Any suggestion would be highly appreciated.
I'm not too good in kernel debugging.


For more information, please reread.

Attachment: signature.asc
Description: PGP signature

Reply to: