Jump to content

Сервер LAN to UART на Keenetic Ultra


Recommended Posts

Подскажите как сделать сервер LAN to UART на Keenetic Ultra?

Т.е. транслировать по сети данные из UART в терминал на другой машине.

В USB порт кинетика вставлен конвертер CP2103, установлен пакет Переходники USB – Последовательный порт, в логах его видно:

 
cp210x 1-1:1.0: cp210x converter detected
usb 1-1: cp210x converter now attached to ttyUSB0
Network::Interface::Usb: "UsbModem0": interface "UsbModem0" is plugged (port 1).
 

Как теперь подсоединиться к нему из сети, какой софт?  Есть ли вообще доступ?

 

 
 
 
 
 
 
 
Link to comment
Share on other sites

4 часа назад, r13 сказал:

Через пакет ser2net из opkg попробуйте

Поставил пакет, нашел конфиг в /opt/etc/ser2net.conf , буду пробовать....

Edited by Buddha
Link to comment
Share on other sites

5 часов назад, r13 сказал:

Через пакет ser2net из opkg попробуйте

так и не вышло настроить коннект, конфиг выглядит таким образом

2001:telnet:600:/dev/ttyUSB0:115200 NONE 1STOPBIT 8DATABITS XONXOFF LOCAL -RTSCTS

Программу использую USR-VCOM. Где посмотреть логи работы ser2net, что мешает?

 

Link to comment
Share on other sites

В 11.04.2023 в 14:41, Alexey K сказал:

forum.zyxmon.org/topic694-umnyi-dom-i-upravlenie-po-usb-s-pomoshchyu-keenetic.html

Вот заметка по теме. О рабочем базовом примере чтения/записи в базе знаний остается тока мечтать

Там старая тема, уже 9 лет прошло )

С ser2net когда-то лет 5 назад на малине поднимал uart to lan, всё работало. Тут же не совсем явно что происходит, да и не линухоид я. Видимо придется снова для тестов на малине или openwrt крутить и разбираться.

Link to comment
Share on other sites

21 час назад, Buddha сказал:

Тут же не совсем явно что происходит

Происходит следующее: ser2net имеет 2 конфига, старого формата - "/opt/etc/ser2net.conf" и нового - "/opt/etc/ser2net/ser2net.yaml", приоритет за новым. При старте, если есть нов. формата и не указано иного, ser2net цепляет его ("/opt/etc/ser2net/ser2net.yaml").

~ # strace -ffff -vvvv -e openat ser2net -u -P /opt/var/run/ser2net.pid
openat(AT_FDCWD, "/opt/lib/tls/aarch64/libyaml-0.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/opt/lib/tls/libyaml-0.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/opt/lib/aarch64/libyaml-0.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/opt/lib/libyaml-0.so.2", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/opt/lib/libgensio.so.0", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/opt/lib/libnsl.so.1", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/opt/lib/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/opt/lib/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/opt/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/opt/etc/ser2net/ser2net.yaml", O_RDONLY) = 6		<= oops!
openat(AT_FDCWD, "/opt/etc/localtime", O_RDONLY|O_CLOEXEC) = 6
strace: Process 22977 attached
strace: Process 22978 attached
[pid 22976] +++ exited with 0 +++
[pid 22978] openat(AT_FDCWD, "/opt/var/run/ser2net.pid", O_WRONLY|O_CREAT|O_TRUNC, 0666 <unfinished ...>
[pid 22977] +++ exited with 0 +++
...
Цитата

...
ser2net: Valid parameters are:
  -c <config file> - use a config file besides /etc/ser2net/ser2net.yaml
  -C <config line> - Handle a single configuration line.  This may be
     specified multiple times for multiple lines.  This is just like a
     line in the config file.  This disables the default config file,
     you must specify a -c after the last -C to have it read a config
     file, too.  The config file must not be yaml.
...

~ # ser2net -u -P /opt/var/run/ser2net.pid -c /opt/etc/ser2net.conf 
ser2net:WARNING: Using old config file format, this will go away
soon.  Please switch to the yaml-based format.
~ #

"под капотом"

~ # strace -ffff -vvvv -e openat ser2net -u -P /opt/var/run/ser2net.pid -c /opt/etc/ser2net.conf 
openat(AT_FDCWD, "/opt/lib/tls/aarch64/libyaml-0.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/opt/lib/tls/libyaml-0.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/opt/lib/aarch64/libyaml-0.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/opt/lib/libyaml-0.so.2", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/opt/lib/libgensio.so.0", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/opt/lib/libnsl.so.1", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/opt/lib/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/opt/lib/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/opt/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/opt/etc/ser2net.conf", O_RDONLY) = 6				<= oops!
ser2net:WARNING: Using old config file format, this will go away
soon.  Please switch to the yaml-based format.
openat(AT_FDCWD, "/opt/etc/localtime", O_RDONLY|O_CLOEXEC) = 6
strace: Process 23056 attached
[pid 23055] +++ exited with 0 +++
strace: Process 23057 attached
[pid 23056] +++ exited with 0 +++
openat(AT_FDCWD, "/opt/var/run/ser2net.pid", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 0
...

Что делать, теперь решайте сами... )))

  • Thanks 1
Link to comment
Share on other sites

В 18.04.2023 в 10:32, TheBB сказал:

Что делать, теперь решайте сами... )))

Точно! В общем итоги: 

Ставим пакет ser2net в Entware.

Правим конфиг с расширением yaml ( /opt/etc/ser2net/ser2net.yaml ), добавляем в конце файла (синтаксис критичен к пробелам):

default:
   name: speed
   value: 115200n81

connection: &test
  accepter: telnet(rfc2217),tcp,2001
  connector: serialdev,/dev/ttyUSB0,local

Где настройки порта: 115200 - скорость порта, 8 - биты данных, 1 - стоповый бит, протокол tcp, порт 2001 (на своё усмотрение любой), ttyUSB0 - сам CP2103 (ну или какой у вас, в логах кинетика это видно при подключении устройства)

Вводим netstat -pnltu, видим процесс и открытый 2001 порт -  tcp 0 0 :::2001 LISTEN 1612/ser2net

Ставим на ПК бесплатный софт [ Virtual COM Software]USR-VCOM (на данный момент крайняя V3.7.2.529), либо другой аналогичный.

Жмем Add COM, номер порта - любой свободный на данном ПК(например 8), протокол - TCP client, удаленный IP - адрес роутера, удаленный порт - номер порта что мы вводили в настройках ser2net (2001 в примере выше). Если всё сделано правильно, в графе NetState будет статус - подключено.

Далее на ПК открываем терминал (например Putty), настройки - тип соединения serial, порт- COM8, скорость- 115200.

Вуаля, в порт поступают данные с конвертера CP2103, вставленного в usb роутера.

Пакет имеет кучу дополнительных опций с которыми еще не разбирался, ознакомиться можно например ТУТ ,  но по сути, для моих целей, всё работает на минималках описанных выше.

Edited by Buddha
  • Thanks 2
  • Upvote 2
Link to comment
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.
Note: Your post will require moderator approval before it will be visible.

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.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...