LINUX.ORG.RU

История изменений

Исправление KivApple, (текущая версия) :

Есть ли проблемы с термометром, если отключить usb_modeswitch? Возможно, эта утилита не понимает, что ttyUSBx от термометра это не модем и пытается сменить его режим, вызывая глюки в работе с ним, и при этом не находя настоящий модем.

Если эта теория верна, то надо будет как-то захардкодить какой порт надо использовать usb_modeswitch.

У меня была похожая проблема с самопальным USB CDC на микроконтроллере. После втыкания в ноутбук порядка 30-секунд я не мог открыть COM-порт - «Device or resource busy». lsof ничего не дал, то ли какой-то глюк, то ли я что-то напутал. Так и страдал, пока однажды не допустил ошибку в прошивке и МК не начал выдавать через USB CDC данные на максимально возможной скорости. В итоге вентилятор ноутбука загудел сильнее обычного и это не прекратилось после отключения девайса. Посмотрел в htop - процесс ModemManager (компонент NetworkManager для поддержки 3G-модемов) отжирал 100% одного ядра, судя по всему он не выдержал такого потока данных и завис. Я решил проблему отключив сервис ModemManager (я всё равно уже больше года не имел дела с 3G модемами, а 4G представляются как USB Ethernet и с ними проблем вообще нет) и больше не сталкивался с необъяснимой занятостью USB CDC. Насколько я понимаю, у тебя usb_modeswitch в автоматическом режиме ищёт USB-модемы и что-то с ними делает. Он может нечаянно попытаться что-то сделать с твоим термодатчиком, а поскольку ни тот, ни другой такого не ожидает появляются различные глюки в работе обоих.

Исправление KivApple, :

Есть ли проблемы с термометром, если отключить usb_modeswitch? Возможно, эта утилита не понимает, что ttyUSBx от термометра это не модем и пытается сменить его режим, вызывая глюки в работе с ним, и при этом не находя настоящий модем.

Если эта теория верна, то надо будет как-то захардкодить какой порт надо использовать usb_modeswitch.

У меня была похожая проблема с самопальным USB CDC на микроконтроллере. После втыкания в ноутбук порядка 30-секунд я не мог открыть COM-порт - «Device or resource busy». lsof ничего не дал, то ли какой-то глюк, то ли я что-то напутал. Так и страдал, пока однажды не допустил ошибку в прошивке и МК не начал выдавать через USB CDC данные на максимально возможной скорости. В итоге вентилятор ноутбука загудел сильнее обычного и это не прекратилось после отключения девайса. Посмотрел в htop - процесс ModemManager (компонент NetworkManager для поддержки 3G-модемов) отжирал 100% одного ядра, судя по всему он не выдержал такого потока данных и завис. Я решил проблему отключив сервис ModemManager (я всё равно уже больше года не имел дела с 3G модемами, а 4G представляются как USB Ethernet и с ними проблем вообще нет) и больше не сталкивался с необъяснимой занятостью USB CDC. Насколько я понимаю, у тебя usb_modeswitch в автоматическом режиме ищёт USB-модемы и что-то с ними делает. Он может нечаянно попытаться что-то сделать с твоим термодатчиком, а поскольку последний такого не ожидает появляются различные глюки.

Исправление KivApple, :

Есть ли проблемы с термометром, если отключить usb_modeswitch? Возможно, эта утилита не понимает, что ttyUSBx от термометра это не модем и пытается сменить его режим, вызывая глюки в работе с ним, и при этом не находя настоящий модем.

Если эта теория верна, то надо будет как-то захардкодить какой порт надо использовать usb_modeswitch.

У меня была похожая проблема с самопальным USB CDC на микроконтроллере. После втыкания в ноутбук порядка 30-секунд я не мог открыть COM-порт - «Device or resource busy». lsof ничего не дал, то ли какой-то глюк, то ли я что-то напутал. Так и страдал, пока однажды не допустил ошибку в прошивке и МК не начал выдавать через USB CDC данные на максимально возможной скорости. В итоге вентилятор ноутбука загудел сильнее обычного и это не прекратилось после отключения девайса. Посмотрел в htop - процесс ModemManager (компонент NetworkManager для поддержки 3G-модемов) отжирал 100% одного ядра, судя по всему он не выдержал такого потока данных и завис. Я решил проблему отключив сервис ModemManager (я всё равно уже больше года не имел дела с 3G модемами, а 4G представляются как USB Ethernet и с ними проблем вообще нет) и больше не сталкивался с необъяснимой занятостью USB CDC.

Исходная версия KivApple, :

Есть ли проблемы с термометром, если отключить usb_modeswitch. Возможно, эта утилита не понимает, что ttyUSBx от термометра это не модем и пытается сменить его режим, вызывая глюки в работе с ним, и при этом не находя настоящий модем.

Если эта теория верна, то надо будет как-то захардкодить какой порт надо использовать usb_modeswitch.