Buddha Posted April 11, 2023 Share Posted April 11, 2023 Подскажите как сделать сервер 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). Как теперь подсоединиться к нему из сети, какой софт? Есть ли вообще доступ? Quote Link to comment Share on other sites More sharing options...
r13 Posted April 11, 2023 Share Posted April 11, 2023 Через пакет ser2net из opkg попробуйте Quote Link to comment Share on other sites More sharing options...
Alexey K Posted April 11, 2023 Share Posted April 11, 2023 forum.zyxmon.org/topic694-umnyi-dom-i-upravlenie-po-usb-s-pomoshchyu-keenetic.html Вот заметка по теме. О рабочем базовом примере чтения/записи в базе знаний остается тока мечтать Quote Link to comment Share on other sites More sharing options...
Buddha Posted April 11, 2023 Author Share Posted April 11, 2023 (edited) 4 часа назад, r13 сказал: Через пакет ser2net из opkg попробуйте Поставил пакет, нашел конфиг в /opt/etc/ser2net.conf , буду пробовать.... Edited April 11, 2023 by Buddha Quote Link to comment Share on other sites More sharing options...
Buddha Posted April 11, 2023 Author Share Posted April 11, 2023 5 часов назад, r13 сказал: Через пакет ser2net из opkg попробуйте так и не вышло настроить коннект, конфиг выглядит таким образом 2001:telnet:600:/dev/ttyUSB0:115200 NONE 1STOPBIT 8DATABITS XONXOFF LOCAL -RTSCTS Программу использую USR-VCOM. Где посмотреть логи работы ser2net, что мешает? Quote Link to comment Share on other sites More sharing options...
Buddha Posted April 17, 2023 Author Share Posted April 17, 2023 В 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 крутить и разбираться. Quote Link to comment Share on other sites More sharing options...
TheBB Posted April 18, 2023 Share Posted April 18, 2023 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 ... Что делать, теперь решайте сами... ))) 1 Quote Link to comment Share on other sites More sharing options...
Buddha Posted April 19, 2023 Author Share Posted April 19, 2023 (edited) В 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 April 19, 2023 by Buddha 2 2 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.