Последовательное соединение через USB с загрузкой LIVE USB

Приложение использует последовательную связь через USB и отлично работает, когда компьютер загружается с жесткого диска.

Я создал образ liveUSB (.iso) работающей ОС. Загрузил тот же ПК с USB-накопителя, на котором находится образ.iso.

Теперь DUT подключен, и приложение запускается, которое сообщает, что на линии в большинстве случаев присутствует мусор. Тем не менее, он работает на некоторых попытках, это очень противоречиво.

Я не мог понять, чем загрузка с Live USB отличается от загрузки с жесткого диска.

К вашему сведению, на ПК установлена ​​Fedora Core 22 с ядром Linux 4.0.4.

Последовательная связь: скорость передачи данных 115200 с 1 стоповым битом.

Буду признателен за любую оказанную помощь.

Спасибо,

Шахаб

редактировать

я проверил dmesg и нашел разницу,

cdc_acm : failed to set dtr/rts на Live USB загрузке. Это не видно в другом случае. Похоже на этот вопрос по stackru.

Еще одно наблюдение, последовательная связь работает нормально, когда устройство подключено и компьютер загружается с карты памяти Live USB. Если USB-кабель к устройству отсоединен и подключен снова, он сообщает о проблеме.

1 ответ

После повторного подключения USB-кабеля ваш номер последовательного порта, вероятно, будет увеличен, и у вас будет мертвый /dev/ttyUSB0 и, возможно, новый рабочий /dev/ttyUSBX. Поскольку ваше приложение сохраняет /dev/ttyUSB0 открытым, оно не будет удалено, пока вы не перезапустите приложение. Продолжайте читать старый ttyUSB0, и вы получите мусор. Вторым намеком будет то, что у вас, вероятно, есть файловая система, доступная только для чтения, при загрузке из live, поэтому вы не можете создать ничего нового в папке / dev, чтобы новое устройство не отображалось.

Другие вопросы по тегам