LINUX.ORG.RU

Может ли быть посредник в подключении по RS-232?

 ,


0

1

Есть крутой чувак и железка. Берёт Крутой чувак провод DB-9, вставляет его в свой комп и на вход железки. Заходит в какой-нибудь Moserial, выбирает /dev/ttyS0 и общается с железкой. Железка его слушает и одобрительно мигает красным светодиодом. А я смотрю на всё это и аж глаза от любопытства светятся. Я не знаю, о чём они говорят, а Крутой чувак не показывает. Пока Крутой чувак отходит заварить чая, я прихожу с паяльником и припаиваю второй выход COM-порта, который подключаю в адаптер COM-to-USB, а адаптер уже в свой ноутбук.

Я так понимаю, что ничего не выйдет, потому что устройства должны установить софтверное/хардверное рукопожатие, которое я не установлю(потому что оно уже было до моего прихода). Соответственно, никаких команд от Крутого чувака я подслушать не смогу. Или всё-таки смогу?


2 usb-шных rs232 порта в которых задействуется только RX.

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

vel ★★★★★
()
Ответ на: комментарий от futurama

Проще попросить расшарить сессию в screen или tmux

Особенно если компы подключены к разным вводам и/или с заземлением проблемы. В com нет гальванической развязки, спалить как нефиг делать

router ★★★★★
()
Последнее исправление: router (всего исправлений: 1)

ты хочешь встать посередине MITM или просто мониторить данные по tx rx или чтобы два старших устройства обращались к одному младшему или наоборот старший работал с двумя младшими устройствами или что еще ??
мониторинг описал vel чуть выше

rs-232 очень простой протокол. рукопожатия в нем нет.
рукопожатие возможно в высших протоколах, использующих для передачи rs-232, но это другое.

pfg ★★★★★
()

плюс надо иметь в виду, что, «подпаявшись», ты изменишь физические параметры линии связи, и, возможно, не в лучшую сторону.

alegz ★★★★★
()
Ответ на: комментарий от pfg

ты хочешь встать посередине MITM или просто мониторить данные по tx rx

Хочу встать посередине, чтобы команды крутого чувака были видны и мне, и этой железке

rs-232 очень простой протокол. рукопожатия в нем нет.

Были же Data Set Ready и Data Terminal Ready. Это разве не про рукопожатие?

Tyse_EX
() автор топика

Ещё можно взять комп с линуксом и двумя COM-портами, а там socat запустить, плюс включить логгирование. Тогда даже паять ничего не надо.

Xenius ★★★★★
()
Ответ на: комментарий от Tyse_EX

Ну, по факту Rx, Tx, Gnd обязательны, а остальные используются где как, например RTS/CTS для hardware flow control. Ну и там рукопожатие вроде всего лишь состоит в подъёме/опускании этих линий.

Xenius ★★★★★
()
Ответ на: комментарий от Tyse_EX

значит мониторинг :) его описали тут уже не раз.

м-м-м, не совсем. DSR DTR это аппаратные сигналы состояния младшего устройства, они причем создавались они конкретно под модем (о чем говорит спец.проводок Ring Init :).
по мере развития заменены на программные сигналы xON xOFF.

под рукопожатиемя все таки понимаю более сложную систему, чем запретить/разрешить передачу данных, для которого и служил DSR. подчиненный любой момент обмена данными мог выключить DSR, тормозя выдачу данных старшим, или включить, возобновляя.

сейчас модемов практически нет, rs232 считается универсальным и в основном используется по трехпроводной схеме GND Tx Rx.
И только в rs232 - rs485 преобразователях еще используется CTS для управлением приема/передачи, потому что так проще.

pfg ★★★★★
()
Последнее исправление: pfg (всего исправлений: 3)

Если уж подпаивать, то логический анализатор. Для скоростей uart'а хватит клона Saleae logic, рублей за 500, единственное, что нужно приделать преобразование уровня, ему +12 В на входе не понравится.

mky ★★★★★
()
Ответ на: комментарий от mky

:) не только проеобразователь но и инверсный усилитель. ибо сигналы UART инверсные, а RS232 - «прямые»/неинверсные уровни 0 и 1.
в простонародье дешовые и вовседырошно распространненые клоны max232 по цене «рупь за пучок» :)

pfg ★★★★★
()
Ответ на: комментарий от pfg

Инвертировать можно и программно, какая разница для логического анализатора, что записывать в файл.

ибо сигналы UART инверсные

Инверсные там только Tx и Rx, а квитирующие сигналы не инверсные. Так как заранее не известно что за устройство и что за кабель, то логично записывать все сигналы. А то может второй раз подпаять не получится. Всякие непонятные устройства вполне могут использовать DTR и пр. как-то нестандартно.

max232 по цене «рупь за пучок»

Оригинальные от $1,5 за саму микросхему без платы. И при этом легко горят по питанию, но в целом работают. То, что на алике продаётся распаяным на платках (рубль за пучок) может оказаться совсем мусором и сгорать просто от подачи питания, или дохнуть через сутки работы. И повезёт, если без КЗ. Можно купить ради плат, а потом перепаивать на ADM3232, по 120 р за м/с. На 8 линий рублей 600 выйдет.

Для надёжности и так как не нужно TTL в RS-232, я бы лепил LM339 (компараторы). Да, там нужно защитить вход от отрицательных напряжений, но даже с этой обвязкой на 8 линий будет и дешевле и надёжнее, китайский LM339 менее проблемный, чем китайский max232. Но это всё теория, ТС всё равно никуда припаиваться не собирается.

mky ★★★★★
()

Берёшь USB -> dual RS232 шнурок, подключаешь его Rx входы к Rx и Tx исследуемого соединения и получаешь полный дамп общения в обе стороны.

Ваще никаких проблем.

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

На алике есть как двухпортовые USB-RS232 переходники, так и прям специальные RS232 monitor цепляющиеся между, девайсом (или компом) и кабелем.

Пример микрухи USB<->UART конвертера с двумя UART портами - CP2105.

Stanson ★★★★★
()