Уважаемые хабрознатоки. Возникла необходимость организовать туннель последовательного интерфейса
через сетевой интерфейс. Я подключил GSM модем (см. ссылку ниже) к ноутбуку, а так как на ноуте нет коммуникационного порта я это сделал через LAN порт через простой переходник RS232->RJ45 без мозгов.
И в связи с этим в linux нужно сделать туннель возможно с применением утилиты socat
имея сырой сетевой интерфейс
без ip/tcp (подчеркну) и прочих приблуд
Я делал так
sandrabullok@desktop:~$ mknod /dev/modem c 1000 1000
sandrabullok@desktop:~$ socat PTY,link=/dev/modem,raw,echo=1 INTERFACE:enp1s0
sandrabullok@desktop:~$ minicom -D /dev/modem
Устройство открывается но
если в minicom попытаться что то набрать socat вылетит с ошибкой
2024/08/08 16:29:38 socat[78686] E sendto(7, 0x57a83f898000, 1, 0, AF=17 AF=17
0x0003020000000000000000000000, 112): Invalid argument
Для тех кто заинтересовался или хочет помочь есть документация к модему на сайте
irz.net
UPD:
В модеме есть USB порт, однако я намеренно использую последовательный. Смысл в том, чтобы я мог использовать общепринятый интерфейс совместимый с большим количеством оборудования. Например чтобы я смог в один хороший момент подключить реле через переходник RS232->RS485. Или ИБП через последовательный порт.
Возможно есть переходники RS232->RJ45 со встроенным ip/tcp сервером.
Благодарю за внимание