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