Читаю данные с последователного порта. Используется RTS/CTS.
Если подключить USB диск и начать на него интенсивную запись данных в другом сеансе -
наблюдается на 1 - 2 % потери данных. причем по осциллографу не вижу - чтобы Linux давал неготовность к приему на CTS передатчика.Если Linux платформу грузить другими задачами (например выводом на консоль) - то пропажи данных не наблюдается. CTS в этом случае формируется.
Где "грабли" ? Глюкавый драйвер USB сидящий на более приоритетном прерывании ?
Linux 2.4.31, Slackware 10
Алексей.
не успевает))было дело при отключенном dma на дисках (старое ядро по инсталлу не детектило это самое dma) при работе с двум комами на скорости 115200 на втором коме начинались потери данных. лечилось включением через hdparm режима dma для дисков.
в вашем случае возможно надо поиграть настройками дисков (не наю как usb диски в системе детектятся и через что (ну не пользовался еще я ими)). Еще мона поиграть приоритетом процесса.
p.s. сам толком не разобрался поэтому советы возможно не есть гуд))
>не успевает))
>в вашем случае возможно надо поиграть настройками дисков (не наю как usb
>диски в системе детектятся и через что (ну не пользовался еще
>я ими)). Еще мона поиграть приоритетом процесса.Спасибо за ответ ! - утешает только то - что не один такой :)
Перегенерили ядро на версию 2.6.16.13-4, но не помогло. Будем еще копать.
>не успевает))
>
>Что еще больше меня расстроило - то,что на ядре 2.6.16.13-4 (или быть может опциях которые мы задали ?) потеря происходит и в том случае, когда вывод протокола нашей программы направлен на экран и в файл - но пропажа только в том случае - если активна та консоль на которой запущена программа (tty1)
Пришлось пока откатиться на ядро 2.4.31
Шиза полная :(