Уже задавал этот вопрос ранее. Здесь более развернуто.
Имеется прибор управления кондиционерами (CoolMaster) с COM-портом.
Если общаться с ним через putty, то вывод строго следует спецификации: на ввод отправляем строку «stats all\n», на выходе получаем
«1005 ON 173C ,67C High MJ 0» OK
Если же общаться с этим прибором через bash (cat/printf) или в програме, через обычные функции работы с файлом, то вывод получается
stats all 1005 ON 173C ,67C High MJ 0 OK
То есть, в начале вывода появляется строка ввода «stats all» и лишние переносы строк между строками. Возможно переносы появляются из-за того, что прибор оканчивает строки на «\r\n». А вот почему вылазиет «stats all» в начале понять не могу.
Причем это происходит при «stty -F /dev/ttyS0 -echo». Если эхо включено - прибор в бесконечном цикле выдает абракадабру - пытается выполнить части входных строк, жалуется на ошибку синтаксиса и так до бесконечности.
COM-порты пробовал USB и родной, встроенный в материнку. Результат один и тот же.
Почему в выводе появляется «stats all»? И почему его нет в putty?