Казалось бы, для com порта по умолчанию ожидается что что подашь на один конец, то и вылезет из другого. Всякие навороты включаются дополнительными опциями. И в мире микроконтроллеров так и есть.
Но в Linux не так. По-умолчанию com порты в linux ведут себя по-другому. Они делают всякие дополнительные вещи. Например, очень любят менять 0x0D ('\r') на 0x0A ('\n'). Я долго пытался понять, что за ерунда происходит и почему у меня приходят не те байты, что я посылал. В итоге нашел, что для того, чтобы com порт просто пересылал данные, надо дополнительный настройки делать.
Зачем так сделано?