LINUX.ORG.RU
ФорумAdmin

Можно ли подключить две машины по COM-порту, да так, чтоб можно было как в локалке?

 , ,


1

1

Есть две машины: основная ЭВМ на Arch Linux, медиасервер на Win8.1. Ещё есть кабель COM-порта, разведённый на RX, TX, GND, CTS, RTS. В moserial показывает, что есть ещё и DSR.

Задача такая: без покупки Dial-UP модема, можно попробовать подключить два компа напрямую, получив те же скорости, только стабильнее. Подключив две машины, на медиасервере поднять Nginx и захостить конкретную веб-страницу. С основной ЭВМ подключиться к медиасерверу(через COM-порт) и грузить по нему же эту веб-страницу. Скорости линии должно хватить. Друг с другом уже коннектятся. Пытаюсь гуглить около часа, но не могу найти инфу про такое подключение компов. Где-то вычитал, что можно поднять сеть по PPP, но там ребята пытались и ничего не вышло.

Прошу помочь в проведении эксперимента

Перемещено hobbit из general


Посмотри ещё SLIP, более старый протокол, но по идее должен даже лучше подойти.

Xenius ★★★★★
()

Напиши ppp сервер для оффтопа и пользуйся. Хотя лучше снеси оффтоп и поставь нормальную ОС туда.

firkax ★★★★★
()

Win 8 без понятия чё там, дос подключал через lsppp, win 95 через mdmcisc2.inf, более новые - не помню, подключал ли чё вообще

alt-tab-let ★★★
()
Ответ на: комментарий от firkax

Хотя лучше снеси оффтоп и поставь нормальную ОС туда.

Да можно нормальную ОС в виртуалке поднять и настроить роутинг через неё.

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

Какой роутинг? Зачем виртуалка? ppp-сервер можно и на оффтопе запустить, речь была не про роутинг а про снос ненужного оффтопа.

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

Null modem

Под нуль-модемом я всегда представлял закорачивание RX на TX у порта машины. А подключить проводом обоих и делать

> Privet!
> I tebe privet!

Я итак могу

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

До меня недавно дошло, что нуль-модемный кабель - это тот, который проходящий сигнал не во что не переводит…

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

До меня недавно дошло, что нуль-модемный кабель - это тот, который проходящий сигнал не во что не переводит…

Крайне странное у вас «дошло».

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

Ещё есть кабель COM-порта, разведённый на RX, TX, GND, CTS, RTS.
Под нуль-модемом я всегда представлял закорачивание RX на TX у порта машины.

Так вот, представлял ты неправильно.
Существует три вида распайки кабеля:
1) Прямая, употребляемая для подключения модема, связать две машины таким кабелем нельзя.
2) Т.н. «петля», деталей распайки я не помню, применялась для подключения всяких кассовых автоматов, принтеров этикеток и т.д. Не обеспечивала аппаратное управление потоком, отсюда существенное ограничение на скорость.
3) «Нуль-модем», c перекрещиванием RX-ТХ для обеспечения аппаратного управления потоком, позволяет установить максимальную для порта скорость (точнее, меньшую из максимальных с обеих сторон). Схему распайки до сих пор можно нагуглить.
Так что ты сначала выясни точно, что у тебя за кабель.

Я итак могу

Ну если при этом эмуляторы терминала с обеих сторон позволяют выставить аппаратный контроль и максимальную скорость, то возможно, у тебя и так кабель нуль-модемный, но чтобы убедиться в этом, надо бросить не несколько байт, а несколько килобайт и убедиться, что ничего не «поехало»
Насчёт SLIP - не знаю, есть ли он на оффтопике, но под линуксом им перестали пользоваться раньше, чем довели до ума.
PPP на порядок проще в настройке и надёжнее.
Я даже знаю случаи, когда из-за слишком длинного и проходящего где не надо и неэкранированного кабеля приходилось поднимать PPP и через него telnet-ом или, лучше, netcat-ом пробрасывать последовательное соединение.

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

закорачивание RX на TX у порта машины

Это ты путаешь с loopback.

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

Я так и сделал. Только не понимаю, как теперь веб-страницу хостить. Никакого сетевого подключения компы не обнаруживают, могут общаться только через софт, вроде PuTTY или moserial

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

ppp поднимай. Будет всё как у взрослых, только скорости херовые.

Если мне склероз не изменяет, на один мегабайт 10 минут надо было.

beastie ★★★★★
()
Последнее исправление: beastie (всего исправлений: 1)
Ответ на: комментарий от ABW

Так что ты сначала выясни точно, что у тебя за кабель.

А это можно как-то выяснить софтом, не раскручивая корпус на коннекторах?

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

Не надо ничего разбирать, достаточно иметь омметр.

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

Разводка кабеля разная бывает. От кабеля зависит, какое соединение будет, насколько оно будет надëжным. Но я бы предпочëл Ethernet, там и скорости в десятки раз выше.

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

Троллинг тут только для тех, кто жил во времена актуальности COM-порта, и кому приходилось с ним работать. Я начал проявлять к нему интерес значительно позже, когда(то-есть сейчас) обучалок стало либо совсем мало, либо их теперь просто нет

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

Выяснил. Это витая пара, разведённая на всё, кроме Ring Indicator и Data Carrier Detect(один контакт так и висит неприпаянным). Судя по https://en.wikipedia.org/wiki/Null_modem#Full_handshaking, я могу неиспользованный контакт зацепить на DCD, а потом спаять его с DSR. Только мне уже длины этого контакта не хватит

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

Если у него работает терминал значит разводка подходит. Остаются только варианты с наличием или отсутствием контроля потока но они в целом ни на что не повлияют кроме соответствующей настройки порта.

Надёжность ему всё равно не нужна, он же не всерьёз его использовать будет.

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

PuTTY или moserial

То есть в винде запускате putty, в линуксе moserial и в одном терминале отображается, что набирается в другом?

Если да, то запускаете в линуксе moserial, а в винде настраиваете удалённое подключение (modem), не знаю, как оно в win8 называется. Если при нажатии «подключиться» в винде в линукс будет приходить at-команда (at-команды), то можно будет chat-скрипт написать, чтобы pppd-сервер был на линуксе, а с винды подключаться. Для обмена данными, по идее, должно быть без разницы, кто клиент, а кто сервер.

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

применялась для подключения всяких кассовых автоматов, принтеров этикеток и т.д

Как же я задолбался в своё время их паять.

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

Да для PPP вообще нет таких понятий «клиент» и «сервер».
Когда ты устанавливаешь соединение между юниксоподобными, ты вообще запускаешь одну и ту же программу на обоих концах, причём с одинаковыми настройками. А опция passive служит только для экономии процессора.

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

2 мегабайта через 115к будет качаться 3 минуты.

Недавно с удивлением узнал, что есть стандарт на uart 15 mbit/s

И лично подключался к одной игрушке на 1.5 mbit/s

Но да, для обмена я бы взял ethernet

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

между юниксоподобными

А здесь win8

с одинаковыми настройками.

Точно, запустите два pppd с одинаковыми chat, чтобы один звонил, а другой принимал звонок.

mky ★★★★★
()

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

Как настраивать можно нагуглить. Ну или у нейрослопа спросить.

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

По выдаче с гугла сделал себе sudo pppd /dev/ttyS0 115200 local crtscts defaultroute passive connect-delay 5000 noauth. Теперь порт занят, прослушать ничем не могу. В оффтопике пытаюсь дозвониться(иконка сети в трее -> Проводное подключение 1 -> [Подключиться]), но ответа нет - пишет следующее:

Ошибка: 777: Не удалось установить подключение, так как на удалённом компьютере не работает модем или другое устройство связи

Если убить pppd и прослушать в moserial, то оффтопик срёт постоянным CLIENT. На ручные ответы ATA или RING не реагирует, выдавая ту же ошибку. Ответы нашёл тут: https://en.wikipedia.org/wiki/Hayes_AT_command_set#Example_session

Попытался даже завести звонок через диал-аповскую звонилку с CD от модема - порт COM1 вообще не видит. Видит другая штука, предназначенная для факса, но не может завершить тестирование модема, говоря, что он чем-то занят.

Хотел попробовать ещё через wvdial, но он делает вот так:

[byeyan@archlinux ~]$ sudo wvdialconf /etc/wvdial.conf
Editing `/etc/wvdial.conf'.

Scanning your serial ports for a modem.

ttyS0<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttyS0<*1>: ATQ0 V1 E1 -- CLIENT
ttyS0<*1>: failed with 9600 baud, next try: 115200 baud
ttyS0<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.
Modem Port Scan<*1>: S1   S2   S3   S4   S5   S6   S7   S8   
Modem Port Scan<*1>: S9   S10  S11  S12  S13  S14  S15  S16  
Modem Port Scan<*1>: S17  S18  S19  S20  S21  S22  S23  S24  
Modem Port Scan<*1>: S25  S26  S27  S28  S29  S30  S31  


Sorry, no modem was detected!  Is it in use by another program?
Did you configure it properly with setserial?

Please read the FAQ at http://alumnit.ca/wiki/?WvDial

Также не реагирует на RING и ATA со стороны оффтопика. Я хз тогда, что делать. Какой-то софт должен реагировать на команды друг друга?

Tyse_EX
() автор топика
Последнее исправление: Tyse_EX (всего исправлений: 2)

Нуль-модемные кабели бывают разные; зависит от оборудования с СОМ-портами, которые они соединяют.
Само название «нуль-модемный кабель», как бы намекает, точнее прямо говорит - что это соединение двух
устройств через СОМ-порты, напрямую, без использования модемов.

Для передачи файлов между компами соединенными через СОМ-порты можно использовать Kermit.

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

оффтопик срёт постоянным CLIENT. На ручные ответы ATA или RING не реагирует, выдавая ту же ошибку.

Нужно ответить ему CLIENTSERVER (по крайней мере в Win2000 было так). Обо всяких AT-командах забудь намертво - это команды модема, которого у тебя нет. Обо всяких wvdiаl тем более.
В общем, если ты увидишь после такого ответа кучу фигурных скобок, то это и есть попытка поднять PPP из винды. Тогда ты можешь запустить свой pppd, обязательно погасив сначала moserial.
Кстати, defaultroute там не только не нужен, но и вырубит тебе интернет. Употребляется он только при подключению к провайдеру (или если та машина, к которой ты коннектишься, работает прозрачным прокси). Обычно же ip-адреса при таких соединениях прописываются вручную в параметрах pppd c обеих сторон.
Автоматизируется всё это параметром connect, задающим скрипт установления соединения (обычно chat(1), хотя может быть всё что угодно).

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

null modem - это где взаимно:

rxd->txd
dtr->dsr
rts->cts (+возможно cd)

т.е. по сути соединение проводов крестом («cross-over») нуль - потмоу что «без» модема.

в твоём случае проще сделать ppp сервер на линуксе, а - вендой подключаться, бабай бы RAS на ней настраивал. ну и SLIP на венде - это отдельное извращение, чел явно поржать хотел.

но самое главное - а зачем? на 115200 обычный ком-порт максимум пробьёт без проблем метров на 7 причём кабель нужен не современный из амна и омеднённой стальки, а олдскульный на 24AWG. где ты его сейчас возьмёшь? игра свеч не стоит при большом геморрое.

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

если же тебе это от нечего делать «потому что могу» - то поставь с обоих концов по терминалу (minicom и hyperterm) - этого достаточно для переписывания сообщения. и они умеют в null-modem.

инфа - сотка!

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

проще и дешевле в наше время готовую оптику взять

ТС и в этой и в предыдущей теме писал, что ему нужно посмотреть, как некоторые web-страницы грузятся:

>Мне Dial-UP нужен просто, чтобы попробовать и размер веб-страничек порезать

Возможно, готовится хостить в прошлое, видимо, ЛОР машина времени не только перемещать может, но и каналы связи прокидывать.

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

Видимо, вы не читает мои коменты. Ну продолжайте :)

оффтопик срёт постоянным CLIENT

Логично, если вы там настроили «Direct Cable» подключение, а не «Стандартный модем».

на RING и ATA со стороны оффтопика.

wvdialconf ищет модем, а не ожидает звонка. RING — это если софт слушает порт и ждёт звонка. ATA вобще не должна приходить в ответ на AT-команды. Если очень хотите мучать wvdialconf, то должны отвечать ему «OK» и может какие числа.

Ответы нашёл тут:

В там нихрена не поняли. Там ответы от модемов в сторону компов. На AT-команды модем отвечает OK и делает какое-то действие. Там комп-A отправляет в модем-A команду ATDT..., этот модем звонит на модем-B и тот отправляет в комп-B строку RING, а в ответ от компа-B получает команду ATA. После этого модемы устанавливют соединние и отправляют каждый в свой комп строку CONNECT. У вас модемов нет, у вас комп-B получит команды вместо модема-A и должен ответить вместо модема-A. То есть на получение ATDT ответить CONNECT. Но, только на команду ATDT, а не на остальные AT-команды.

Если хотите, чтобы была эмуляция модемного соединения, то со стороны винды нужно настраивать модемное подклчение, а не прямой кабель. А у pppd прописывать что-то типа:

connect '/usr/sbin/chat -v ATH OK AT OK ATE0V1 OK ATX3 OK ATDT CONNECT'
Там пишутся парами запрос-ответ. И сначала не pppd запускать, а терминал, и добиться, чтобы винда писала туда AT-команды, на них отвечать OK, дойти до ATDT (или ATD) и тогда составлять chat-последовательность.

А если хотите «Прямой кабель» подключение, то, вроде как, на CLIENT нужно ответить CLIENTSERVER, только нужен символ возврата каретки, а не только перевод строки (DOS конец строки).

http://windows.gumph.org/content/networking/xp-direct-cable-to-linux.html

https://www.linuxquestions.org/questions/linux-networking-3/entablish-a-ppp-c...

По строке 'clientserver' можете этот форум прочесать, допустим, такая тема linun <-> nulmodem<->win95 не дружит и, вроде, её автор ещё ЛОР посещает, хотя не пишет.

mky ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.