Я пишу небольшой фрагмент кода для обнаружения проблем с кадрированием / четностью / переполнением последовательного порта в ядре Linux 4.1.21.
Насколько я понимаю, TIOCGICOUNT ioctl должен позволить мне получить serial_icounter_struct
, содержащий счетчик ошибок кадрирования / четности / переполнения:
https://elixir.bootlin.com/linux/v4.1.21/source/include/uapi/linux/serial.h#L100
На мой взгляд, я могу вытащить переменную icount
, когда мне нужно, и сравнить ее с предыдущей. Но это означает отслеживание переменной для каждого последовательного порта.
Есть ли лучший способ справиться с этим?
Правка полезна - я смотрел на man7.org/linux/man-pages/man4/tty_ioctl.4.html, который указывает только счетчики событий линии управления модемом. Я бы снял свое «нечеткое» закрытое голосование и заменил бы его «слишком широким» или «основанным на мнении» закрытым голосованием, если бы мог, но все равно бы проголосовал за закрытие.
Все, что вам нужно, отслеживается через ядро. Проверьте / proc / tty / драйвер / серийный. unix.stackexchange.com/questions/125183/…
Как вы думаете, какая связь между
TIOCGICOUNT
и "ошибками"? Похоже, они не связаны. Что вообще означает «управлять ошибками»? Какие ошибки? Вы должны быть более конкретными в том, что вы пытаетесь сделать, в существующем виде это слишком расплывчато.