[Hardware] Много USB - RS232
A.Kitouwaykin
cetus на newmail.ru
Ср Сен 6 15:23:20 MSD 2006
Добрый день. Есть проблема.
Для подключения к внешней аппаратуре через RS232 с
использованием minicom и, иногда, tcp/ip через slip, к
специальному компьютеру беспорядочно подключены несколько
переходников USB - RS232C, опознаваемые как PL-2303.
Аппаратуры много, и, поскольку USB-выводов недостаточно,
все это хозяйство, опять же беспорядочно, подключается через
некоторое количество USB-хабов (были также вариации с дополнительными
USB-контроллерами).
При этом обычно непонятно, какой /dev/ttyUSBx какому
хвосту соответствует. Обычная практика определять это эмпирически,
исследуя сообщения на 12 консоли в связи с выдергиванием и обратным
подключением нужного переходника PL-2302.
В какой то момент это перестает работать. При этом может
отвалиться часть портов, а часть останется работать, могут отвалиться
все. Может проскочить сообщение о том что группа портов отвалилась
(disconnect), причем устройства тут же обнаруживаются и активизируются,
но уже с совершенно другим номером /dev/ttyUSBx. При этом связь с
открытым ранее устройством теряется, но процесс (minicom, slip)
никогда об этом не узнает.
Все это совершенно непонятно, почему. И совершенно непонятно,
почему после каких-то плясок с бубнами, перезагрузками и перетыканием
хвостов потом снова что-то начинает работать.
Система не самая свежая, мастер 2.2, но активно используемая,
поэтому до существенного обновления "руки не доходят". К тому же на
соседней, чуть менее загруженной машине с мастером 2.4 подобные глюки
тоже бывают.
Кто-нибудь что-нибудь может посоветовать полезного?
Есть ли какие-то требования к топологии такой USB-сети, или
рекомендации по ее построению?
Есть ли какие-то ограничения на количество RS-портов
(помимо ограничения, обходимого, на количество /dev/ttyUSBx)?
Есть ли возможность установить однозначное соответствие
между шнурком и номером устройства /dev/ttyUSBx? Где то мелькало,
что в ядрах 2.6...
Что смотреть в логах? Вот маленький пример, возможно не самый
удачный:
Sep 6 11:26:50 burro kernel: usb.c: USB disconnect on device 00:11.3-1.3.2 address 7
Sep 6 11:26:50 burro kernel: usbserial.c: PL-2303 converter now disconnected from ttyUSB1
Sep 6 11:26:52 burro kernel: hub.c: new USB device 00:11.3-1.3.2, assigned address 10
Sep 6 11:26:52 burro kernel: usb-uhci.c: interrupt, status 2, frame# 989
Sep 6 11:26:52 burro kernel: usb.c: couldn't get all of config descriptors
Sep 6 11:26:52 burro kernel: usb.c: unable to get device 10 configuration (error=-84)
Sep 6 11:26:52 burro kernel: hub.c: new USB device 00:11.3-1.3.2, assigned address 11
Sep 6 11:26:52 burro kernel: usb.c: couldn't get all of config descriptors
Sep 6 11:26:52 burro kernel: usb.c: unable to get device 11 configuration (error=-84)
Sep 6 11:27:08 burro kernel: usb.c: USB disconnect on device 00:11.3-1.3.4 address 9
Sep 6 11:27:08 burro kernel: usbserial.c: PL-2303 converter now disconnected from ttyUSB3
Sep 6 11:27:09 burro kernel: usb.c: USB disconnect on device 00:11.3-1.3.1 address 6
Sep 6 11:27:09 burro kernel: usbserial.c: PL-2303 converter now disconnected from ttyUSB0
Sep 6 11:27:09 burro kernel: hub.c: new USB device 00:11.3-1.3.1, assigned address 12
Sep 6 11:27:14 burro kernel: usb_control/bulk_msg: timeout
Sep 6 11:27:34 burro last message repeated 4 times
Sep 6 11:27:34 burro kernel: usb.c: couldn't get all of config descriptors
Sep 6 11:27:34 burro kernel: usb.c: unable to get device 12 configuration (error=-110)
Sep 6 11:27:35 burro kernel: usb_control/bulk_msg: timeout
Sep 6 11:27:36 burro kernel: usb_control/bulk_msg: timeout
--
Китайкин Анатолий Константинович
ОАО "Радиоавионика", СПб
Подробная информация о списке рассылки Hardware