Проблема в следующем:
есть компьютер на котором установлен Debian 6, для него пишется программа демон, которая общается с оборудованием по com портам.
Программы работает без сбоев все отлично, но если выдернуть шнур питания из компьютера и после запустить его, то программа не получает данные из com портов.
Начали разбираться и выяснили следующие закономерность:
если завершить работу компьютера нормально (reboot или halt), при загрузки данные с com порта принимаются. А если выдернуть шнур питания, то при запуске программы данные не принимаются, а при повторном запуске данные принимаются.
Сравнивали состояния com портов до первого и после первого запуска (stty –a –F /dev/ttyS0) одинаковы, сравнивали структуры termios то же одинаковы.