Interrupt counter of mxs-auart via ioctl() always zero

Discussion created by lategoodbye on Jun 11, 2012
Latest reply on Jul 30, 2012 by lategoodbye

Hello, i'm using 1 UART of the MX28 (mxs-auart) for serial protocols like M-Bus and it works fine.

In some situations it's important to know how many parity errors or something appeared one a interface. But i'm unable to get this information.


I tried the following to simulate a transmit:

# echo "1" > /dev/ttySP3


After that i expect that the transmit interrupt counter increase, but it doesn't happen:


# cat /proc/tty/driver/auart
serinfo:1.0 driver revision:
0: uart:mxs-auart.0 mmio:0x8006A000 irq:112 tx:0 rx:0 CTS
1: uart:mxs-auart.1 mmio:0x8006C000 irq:113 tx:0 rx:0 CTS
2: uart:mxs-auart.2 mmio:0x8006E000 irq:114 tx:0 rx:0 CTS
3: uart:mxs-auart.3 mmio:0x80070000 irq:115 tx:0 rx:0 RTS|CTS|DTR
4: uart:mxs-auart.4 mmio:0x80072000 irq:116 tx:0 rx:0 RTS|CTS|DTR

I've also written a small C program to read the interrupt counter TIOCGICOUNT via ioctl, but the important values are always zero:

CTS: 0
DSR: 0
DCD: 0
Rx: 0
Tx: 0
Frame: 0
Overrun: 0
Parity: 0
Break: 0
Overflow: 0


At my point of view this is a bug in mxs-auart.


Does anybody knows a workaround or a trick to get this information?