Драйверы последовательного интерфейса Linux не поддерживают автободинг, потому что большинство аппаратных средств не поддерживает его, потому что нет соглашения о том, как он может работать.Это сильно зависит от приложения.
Если вы используете последовательные адаптеры FTDI, то большинство из них поддерживают режим битового взрыва, и вы должны использовать их в качестве цифрового осциллографа в таком режиме, чтобы получить поток битов, которыйочень простое автоматическое добавление.
На других устройствах самый простой способ выполнить автоматическую передачу - установить в 2-3 раза максимальную ожидаемую скорость передачи, а затем обрабатывать входные данные как цифровой осциллограф с разбивкой по частям.биты ошибок и использовать эвристику для определения скорости передачи.Это удастся в удивительном количестве случаев, но вы должны правильно настроить статистическую модель источника данных.Я не знаю каких-либо готовых решений для этого.
Может потребоваться дополнительная поддержка ядра, чтобы улучшить временную метку ввода от UART (аппаратного или USB) и таким образом уменьшить неопределенность в ваших данных итаким образом, количество выборок, которое вам нужно взять для определения скорости передачи.
Некоторые из них могут быть нестандартными, например, 10000, но это еще одна проблема для другого дня.
Нет, важная персона.Я понял это 16 лет назад :) Это ответ, который вы ищете .Если вы думаете, что API болен, как у очень, очень больного, то вы были бы правы.