Обнаружение настроек последовательного порта

Время от времени у меня внезапно возникает необходимость подключиться к консоли устройства через его последовательный порт. Проблема в том, что я никогда не помню, какие настройки порта (скорость передачи данных, биты данных, стоповые биты и т. д.) использовать с каждым конкретным устройством, и документация никогда не заваливается, когда она действительно нужна.

Я написал скрипт Python, который использует простой метод грубой силы (т. е. перебирает все возможные настройки, отправляет некоторый тестовый ввод и отображает ответ, чтобы человек мог решить, имеет ли он смысл), но:

  • это занимает много времени, чтобы завершить
  • не всегда работает (возможно, проблемы со сбросом порта/тайм-аутом)
  • просто не похоже на правильный способ сделать это :)

Итак, вопрос: кто-нибудь знает процедуру автоматического определения того, какие настройки порта использует удаленное устройство?


person wroniasty    schedule 15.09.2012    source источник
comment
Я бы просто добавил некоторые функции в ваш скрипт Python, чтобы он содержал словарь, который сопоставляет имена ваших устройств с их настройками. Каждый раз, когда вы что-то выясняете, обновляйте свой сценарий, и вам не придется пытаться запоминать в следующий раз.   -  person TJD    schedule 05.10.2012
comment
@wroniasty Можете ли вы прикрепить сюда свой сценарий, пожалуйста? :)   -  person Reflection    schedule 10.02.2016


Ответы (1)


Хотя часть 1 не является прямым ответом на ваш вопрос:

Есть устройства, в которых просто включен метод автоопределения (называемый Auto-bauding), что означает: отправить символ с вашими текущими настройками (9k6, 115k2, ..) на устройство, и высоки шансы, что устройство ответит вашим (!) настройки. Я видел это на коммутаторах HP.

Второй подход: попробуйте переупорядочить возможности подключения. Например. высоки шансы, что другой конец использует 9k6 без аппаратного рукопожатия, но меньше шансов, что он использует 38k4 с программным обеспечением Xon/Xoff.

Если вы разбиваете свои попытки на несколько, метод «грубой силы» будет намного эффективнее.

person Gregor    schedule 15.09.2012