1. Сравни параметры рабочего и не рабочего COM порта выведя по ним параметры при помощи stty -a -F =/dev/ttyr00 и -a -F =/dev/tty[индекс не рабочего порта]
2. Установи недостающие параметры на порт тем же stty -F /dev/ttyrXX (man stty все достаточно понятно описано. На сколько я понял работа ком порта в линуксе это тонкая материя stty позволяет настроить ахулиард параметров. Какие из них нужно использовать - не понятно. Я вот месяц бьюсь мне устройстно не отдает перевод строки когда нужно, поэтому надо эксперементировать с параметрами, в вашем случае очень хорошо когда есть рабочий образец - понятно куда двигаться.
3. в моем случае мне надо 7 data bits 1 stop even 9600 я инициализирую stty -F /dev/ttyr00 9600 -cstopb parenb -parodd cs7 raw. Мне помогло именно raw, на сколько я понял он выводит данные даже без признака конца строки, пока не будет получен конец строки от устройства он ничего в терминал не выведет. Мне это частично помогло, но проблема оказалась где то глубже. Сегодня буду пробовать другой адаптер, может дело в дровах.