Scheduled Maintenance: We are aware of an issue with Google, AOL, and Yahoo services as email providers which are blocking new registrations. We are trying to fix the issue and we have several internal and external support tickets in process to resolve the issue. Please see: viewtopic.php?t=158230

 

 

 

Debian 9 serial multiport card setup

Linux Kernel, Network, and Services configuration.
Post Reply
Message
Author
User avatar
tovis
Posts: 24
Joined: 2005-11-06 13:59
Location: Hungary

Debian 9 serial multiport card setup

#1 Post by tovis »

For ages I'm using BrainBoxes UC-260 PCI card, starting from Debian 6 (Squeeze).

07:00.0 Multiport serial controller: Brain Boxes Device 0d21 (rev 01)
Subsystem: Brain Boxes Device 0633
Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Interrupt: pin A routed to IRQ 20
Region 0: Memory at e9300000 (32-bit, non-prefetchable)
Region 1: I/O ports at d000
Region 2: I/O ports at d100
Region 3: I/O ports at d200
Region 4: Memory at e9301000 (32-bit, non-prefetchable)
Region 5: Memory at e9302000 (32-bit, non-prefetchable)
Capabilities: [40] Power Management version 2
Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-

Now my old setup/recipe does not work.
1. Append to kernel parameters "8250.nr_uarts=8"
After reboot I have got serial nodes up to ttyS7
2. Using lspci output decide port addresses and irq configure /etc/serial.conf
/dev/ttyS4 uart 16550A port 0xd100 irq 20 baud_base 115200 spd_normal skip_test ^fourport
one raw for each port, only port is different.
In Debian 9, using this setup I have got:
$ setserial /dev/ttyS4 -a
Invalid argument
Same for every four ports.
After several hours of work I have got that the /dev/ttyS4 .. 7 is the "Invalid argument itself".
As a "work around" I was clean /etc/serial.conf and used a script started form rc.local:

/bin/setserial /dev/ttyS4 uart 16550A port 0xd100 irq 20 baud_base 115200 spd_normal skip_test ^fourport
/bin/setserial /dev/ttyS4 uart unknown
/bin/setserial /dev/ttyS4 uart 16550A port 0xd100 auto_irq autoconfig

One raw for each port, with the same sequence. The third settings are aimed from BrainBoxes script.
The card start working well - I have got checked using short pins 2-3 of DSUB plug, Also other box as a serial terminal and using minicom (9600 baud w/o handshake).
But the resultsa, what system is reported at least false.

$ setserial /dev/ttyS4 -a
/dev/ttyS4, Line 4, UART: 16750, Port: 0xd100, IRQ: 0
Baud_base: 115200, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal skip_test auto_irq

$ sudo cat /proc/tty/driver/serial
serinfo:1.0 driver revision:
0: uart:16550A port:000003F8 irq:4 tx:0 rx:0
1: uart:unknown port:000002F8 irq:3
2: uart:unknown port:000003E8 irq:4
3: uart:unknown port:000002E8 irq:3
4: uart:TI16750 port:0000D100 irq:0 tx:20 rx:12 RTS|DTR
5: uart:TI16750 port:0000D108 irq:0 tx:21 rx:11 RTS|DTR
6: uart:TI16750 port:0000D110 irq:0 tx:21 rx:13 RTS|DTR
7: uart:TI16750 port:0000D118 irq:0 tx:75 rx:39 RTS|CTS|DTR|DSR|CD

As you can mention, my card is using irq 0 !? /proc/interrupts reporting that irq 20 does not used at all.
What is this bug could be? What package should be reported? May be it is kernel? - but on kernel.org you can not send bug about linux 4.9.0 amd64
Skype: tovis01

Post Reply