Почему мой компьютер постоянно останавливается, когда я запускаю прогу с использованием USB-последовательных портов? - PullRequest
1 голос
/ 19 апреля 2011

Я написал программу, которая использует три последовательных порта (два последовательных порта находятся на одном USB-> последовательном разъеме, другой последовательный порт на своем собственном USB-> последовательном разъеме). Когда я запускаю программу, каждые 5 секунд или около того мой компьютер перестает отвечать на запросы, как будто ядро ​​занята чем-то. Я не пишу никаких файлов, поэтому он не сбрасывается на диск, и у меня не хватает памяти, поэтому он не обменивается. Что еще это может быть? это может быть сбрасывать последовательный порт или что-то? Это было бы странно, потому что я жду ответа от последовательных портов, прежде чем записать в них следующий бит данных.

Меньше случается, если я не использую последний последовательный порт (тот, что на своем собственном USB-порту).

Подробнее:

  • Дебиан Ленни (тоже пытался сжать)
  • linux 2.6.26-2-686 (также пробовал 2.6.32-5-686)
  • не использует ftdi_sio, использует libftd2xx1.0.2 (также пробовал 1.0.4)

1 Ответ

1 голос
/ 21 апреля 2011

libftd2xx, кажется, проблема.Он изменяет приоритет своего потока и кажется занятым ожиданием или чем-то, что, кажется, захватывает систему.Предоставление пользователю доступа к usb-устройствам в / proc / bus / usb и запуск программы от имени обычного пользователя, кажется, работает нормально, поэтому я не уверен, почему libftd2xx меняет приоритеты потоков.

...