Jump to content
Калькуляторы

Работа с COM-портом в линуксе

Не поделитесь, кто чем пользуется для работы в терминале?

На Windows я предпочитал SecureCRT, был самый удобный клиент. В крайнем случае PuTTY.

В линуксе думал, что с этим будет куда проще, но так оказалось много нюансов, которые в Windows "под капотом", а тут нужно держать в уме.

Например самый удобный (в теории) способ: screen /dev/tty0 (или screen /dev/tty0 9600). Но во-первых, без sudo не работает (и добавление в группу dialout не помогает). Во-вторых, работает ненадежно, может вылететь, после чего терминал оказывается захвачен непонятно кем и единственный способ его освободить — перезагрузка.

putty работает (и ему, кстати, добавления в группу dialout достаточно), но мне он не слишком нравится, я бы предпочел консольный клиент.

minicom или picocom не осилил. Указывал параметры соединения, параметры терминала, другие параметры — так и не смог добиться какой-то ответной реакции.

Share this post


Link to post
Share on other sites

Это же просто интерактивные настройки соединения?

Попробую, может быть я в параметрах что-то не указываю или указываю неправильно.

Share this post


Link to post
Share on other sites

minicom

minicom -s для первого запуска и редактирования настроек порта. Сохраняем конфиг. После этого можно запускать просто minicom.

Если портов много, то можно насохранять разных конфигов к разным портам и вызывать их из командной строки как minicom blabla-configname

Из минусов - по умолчанию при открытии порта запускается строка инициализации из AT-команд для модема, поэтому нужно наведаться в конфиг "модем и дозвон", и ее стереть, как и строку сброса, которая шлется в порт при выходе.

 

 

Цитата

так и не смог добиться какой-то ответной реакции.

Управление потоком нужно отключать. Программное и аппаратное. Для большинства usb-com шнурков обязательно.

 

Если хочется минимализма, то busybox microcom

Share this post


Link to post
Share on other sites

Цитата

/dev/tty0

/dev/ttyS0

рукалицо

Теперь все работает.

 

Цитата

Для большинства usb-com шнурков обязательно.

Так у меня не USB, а физический порт.

Share this post


Link to post
Share on other sites

В 12.02.2025 в 14:27, SpheriX сказал:

Программное и аппаратное. Для большинства usb-com шнурков обязательно.

Справедливости ради, программное управление потоком никакого отношения к железу не имеет, usb там не usb - это всего лишь байты XON/XOFF.

Share this post


Link to post
Share on other sites

Справедливости ради 99% дешевых USB-COM шнурков имеют только TX, RX и GND (притом часто с уровнями 0/5v вместо -12/+12).

Так что никакого аппаратного управления потоком вы от них не получите - линий CTS/DSR итд в них физически нет.

Share this post


Link to post
Share on other sites

42 minutes ago, [anp/hsw] said:

Справедливости ради 99% дешевых USB-COM шнурков имеют только TX, RX и GND (притом часто с уровнями 0/5v вместо -12/+12).

Вообще то там уровни TTL, которые 3,3В.

На 5В там бывает переключатель.

 

У меня именно шнурками кажется всего один, остальные в виде платки и там почти везде есть не только RX/TX/GND.

Share this post


Link to post
Share on other sites

В 14.02.2025 в 13:52, Ivan_83 сказал:

Вообще то там уровни TTL, которые 3,3В

Это у вас не COМ-шнурок, а TTL-платка типа ch431 с али.

В ком-шнурке (уже готовое изделие с DB9 коннектором) 5в, которое берется с USB порта. И большинство девайсов совместимо с 5V уровнями.

+12/-12 это уже экзотика, которую можно встретить в каких-нибудь шнурках MOXA или внешних MAX232 конвертерах. Это банально дорого, за доллар не купить.

В 14.02.2025 в 13:52, Ivan_83 сказал:

остальные в виде платки и там почти везде есть не только RX/TX/GND

У вас эти платки скорее всего с 2000х тогда лежат. Сейчас уже в шнурках этого не встретить.

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

Это из серии поиска USB to SAS шнурка: да, они когда-то существовали и сейчас их можно найти. Но конкретно вам, когда он нужен будет, найти его не получится.

Share this post


Link to post
Share on other sites

А расскажите, что за девайсы сейчас у вас требуют не выставленное по умолчанию в 1 как не подключенное CTS/DSR ? Не, ну даже если это модем, то и шнурок к нему припасён с тех времен.

Share this post


Link to post
Share on other sites

В 12.02.2025 в 13:27, SpheriX сказал:

Из минусов - по умолчанию при открытии порта запускается строка инициализации из AT-команд для модема

minicom -o usb0_9600
minicom -o 1_115200
,где usb0_9600 или 1_115200 - файлы настроек порта (скорость, управление потоком, порт, директория откуда грузит файлы x(z)modem)
а опция -o отключает инициализацию 

когда для разного оборудования нужны разные скорости - minicom удобнее чем putty
и ему хватает, чтобы пользователь был в той же группе, что и RS232 

Share this post


Link to post
Share on other sites

Цитата

Справедливости ради, программное управление потоком никакого отношения к железу не имеет, usb там не usb - это всего лишь байты XON/XOFF.

У миникома по умолчанию отключено программное управление потоком и включено аппаратное. С включенным аппаратным управлением потоком передачи в линию нет физически на выходе со стороны uart. По крайней мере на ftdi и на pl2303.

Цитата

minicom -o usb0_9600
minicom -o 1_115200
,где usb0_9600 или 1_115200 - файлы настроек порта (скорость, управление потоком, порт, директория откуда грузит файлы x(z)modem)
а опция -o отключает инициализацию

В моих условиях гоблины-тестировщики максимум способны запомнить minicom -s, а когда нужно проверить связь не на RS232 по шлейфу, а между 16 портами RS485 или RS422 одного и того же изделия, то тут у них лапки, и запомнить кроме minicom com1 еще -o они не способны. Так что тут вы правы, а у меня случилась профдеформация по выдаче советов в эксплуатацию для наименьшего задействования интеллекта. "Настрой один раз и делай так, тогда всё будет работать"

Share this post


Link to post
Share on other sites

11 минут назад, SpheriX сказал:

С включенным аппаратным управлением потоком передачи в линию нет физически на выходе со стороны uart. По крайней мере на ftdi и на pl2303.

Ну у меня pl2303 прекрасно работает как с модемом так и с 3-проводной консолькой, вот так прямо как воткнул 30 лет назад так и перетыкаю в новый комп старый конвертер. Программное управление умерло 40 лет назад как кончилась эпоха железных терминалов и тех компов, не тянущих поток по скорости обработки прерываний, сейчас это нафиг никому не уперлось кроме поддержки стандарта 120-летней давности железных телетайпов.

Share this post


Link to post
Share on other sites

Цитата

pl2303 прекрасно работает как с модемом

Очень странно. У меня не работало вроде, шнурок в шкафу лежит. Вот только модем я уже сбагрил, проверить не на чем.

Share this post


Link to post
Share on other sites

3 часа назад, vodz сказал:

А расскажите, что за девайсы сейчас у вас требуют не выставленное по умолчанию в 1 как не подключенное CTS/DSR ?

Вообще, довольно много как оказывается. Как пример - всякие часы точного времени или GPS, у которых сигнал PPS заведен на одну из таких линий. Т.е. RX/TX у них управление, а 1PPS выдается по линии CD например.

Share this post


Link to post
Share on other sites

18 минут назад, [anp/hsw] сказал:

Вообще, довольно много как оказывается. Как пример - всякие часы точного времени или GPS, у которых сигнал PPS заведен на одну из таких линий. Т.е. RX/TX у них управление, а 1PPS выдается по линии CD например.

CD - это хорошо и правильно. Но это не управление потоком, это флажок соединения, даже если оно сейчас по таймауту не восстановится, CTS может быть активно по причине того, что в железке есть буфер, а комп получает пришедшие данные до проблем со связью и гашение DSR теперь что-то невероятное, ибо это Шурикино "Помедленнее пожалуйста, я записываю".

Вспомнил, где оно действительно имело смысл - в простеньких UPS.  Не знаю как сейчас, наверное мелкосхемы стали мелкосхемее и все забыли про доп сигналы акромя данных.

Share this post


Link to post
Share on other sites

Да, в ups тоже эти линни используются.

Какой сигнал - cd, cts/rts вообще не важно. Обычно либо в переходнике они все есть, либо нет. Чипы, где есть один сигнал, но нет другого, я еще не видел.

Share this post


Link to post
Share on other sites

Ох... Напомнили... 

2018 год устанавливали SDH  кольца от ECI Telecom. 

2018 год и раньше. МUXы настроить возможно было ТОЛЬКО с полным 232, не какие шнурки usb-com не подходили. Железные 232 порты в ноутбуке были на вес золота.

PS. Раньше 2018го. Середина 200х, ещё блекаут в мск был по Чагино

Edited by witch

Share this post


Link to post
Share on other sites

Из той же оперы некоторые линейки поделий от Schneider Electric для ЦОД, вроде метеостанций и ATS-переключателей, все имевшиеся шнурки соснули, и даже типа железные порты в некоторых серверах (оказавшиеся не совсем железными).

Share this post


Link to post
Share on other sites

Я вот тоже достал маму с пнём 1 на 440 чипсете. Накатили линух, и по очереди подключались. 

Ох времена 😉

Share this post


Link to post
Share on other sites

12 hours ago, [anp/hsw] said:

И большинство девайсов совместимо с 5V уровнями.

Только недавно гдето читал что ESP8266 нормально 5В переваривает а ES32 может зависнуть.

 

12 hours ago, [anp/hsw] said:

+12/-12 это уже экзотика, которую можно встретить в каких-нибудь шнурках MOXA или внешних MAX232 конвертерах. Это банально дорого, за доллар не купить.

Помнится я паял какой то переходник на MAX232, коппеечная микруха 🙂

 

12 hours ago, [anp/hsw] said:

У вас эти платки скорее всего с 2000х тогда лежат.

Нет, я этим занялся где то после 2018 года, многие после 2020 вроде как.

Их и сейчас на алике полно за копейки.

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

 

12 hours ago, [anp/hsw] said:

Я несколько лет назад этим вопросом занимался, хотелось сотню шнурков с нормальными уровнями и всеми сигнальными линиями.

Мне именно шнурки без надобности, я со всяким хламом вожусь и мне удобнее платки со штырьками.

 

8 hours ago, vodz said:

Вспомнил, где оно действительно имело смысл - в простеньких UPS.

На старых APC из 90х был DUMB интерфейс через ком порт, оно там просто разные сигналы на разные линии выставляло и всё, никаких данных по факту не передеавалось как по ком порту. Там и у провода линии были специально как то перекручены. Я под старый APC UPS в итоге переходник собрал чтобы с обычными ком-ком проводами работало.

На APC Smart ком порт уже слал данные в обе стороны.

Share this post


Link to post
Share on other sites

Всем доброго дня. Прошу прощения, что не совсем в тему, но раз уж тут собралось столько спецов по СОМам. 

 

Не могу толком запустить NoName шнурок USB-COM на PL2303HX из-под Windows 11 Pro. Много лет работал с ноутбуком под XP, пока тот не помер своей смертью от старости. 

В 11-й винде этот чип не поддерживается, штатным порядком фирменный драйвер не поставить. Начитал в интернетах, как втюхать ему драйвер обманным путём - вроде, получается. По крайней мере, в системе устройство стало появляться без ругачек и под своим именем. И если запускать в режиме совместимости, то вроде как даже работает. Но, блин, криво. 

Использую с  программатором PIC, самодельным, схема "программатор Громова". К слову, схема использует и служебные линии СОМа. И вот вроде лампочка на программаторе мигает, программа читает память контроллера, но каждый раз с разными результатами. И не то чтобы глобально, а с отдельными ошибками. Четко видно, какая область записана, какая пустая, но каждое четвертое-пятое слово меняется от считывания к считыванию. Запись включать не рискую.

Буду дико благодарен за любой совет. 

Share this post


Link to post
Share on other sites

3 часа назад, Глеб Высоцкий сказал:

Всем доброго дня. Прошу прощения, что не совсем в тему, но раз уж тут собралось столько спецов по СОМам. 

 

Не могу толком запустить NoName шнурок USB-COM на PL2303HX из-под Windows 11 Pro. Много лет работал с ноутбуком под XP, пока тот не помер своей смертью от старости. 

В 11-й винде этот чип не поддерживается, штатным порядком фирменный драйвер не поставить. Начитал в интернетах, как втюхать ему драйвер обманным путём - вроде, получается. По крайней мере, в системе устройство стало появляться без ругачек и под своим именем. И если запускать в режиме совместимости, то вроде как даже работает. Но, блин, криво. 

Использую с  программатором PIC, самодельным, схема "программатор Громова". К слову, схема использует и служебные линии СОМа. И вот вроде лампочка на программаторе мигает, программа читает память контроллера, но каждый раз с разными результатами. И не то чтобы глобально, а с отдельными ошибками. Четко видно, какая область записана, какая пустая, но каждое четвертое-пятое слово меняется от считывания к считыванию. Запись включать не рискую.

Буду дико благодарен за любой совет. 

COM port привязали в диспетчере устройств?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.