ser2net + socat + gammu. завершение соцета

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

Эти устройства связаны с VPN, но это не имеет значения.

Шлюз SMS имеет физически последовательный порт /dev/AMA0 . Я использую ser2net на SMS-шлюзе для совместного использования последовательного порта через Интернет, и я использую socat для создания виртуального последовательного порта на VPS и «получения» общего порта.

Вот мои замечания:

SMS Gw:

 cat /etc/ser2net.conf 3333:raw:0:/dev/ttyAMA0:9600,8DATABITS,NONE,1STOPBIT 

VPS:

 socat pty,link=/dev/tty_remote_serial,waitslave tcp:10.8.0.2:3333 

Я использую gammu для управления устройством SMS. Когда я вхожу в VPS и выполняю эту команду, я вижу:

 gammu identify Device : /dev/tty_remote_rpi_serial Manufacturer : SIMCOM_Ltd Model : unknown (SIMCOM_SIM800L) Firmware : Revision:1308B08SIM800L16 IMEI : 867XXXXXXXXXXX23 SIM IMSI : XXXXXXXXXX491925 

И это прекрасно. Я могу использовать удаленный последовательный порт, и все работает отлично. Проблема в том, что я запускаю gammu identify еще раз. Устройство /dev/tty_remote_rpi_serial не существует, потому что socat завершен. Когда я перезапускаю службу socat все работает отлично ОДИН. Я должен перезапустить socat каждое закрытое соединение (из mincom) или выполнить команду ( gammu identify ).

Есть ли способ предотвратить прекращение socat ?

 2016/01/06 04:50:04 socat[4233] N read(5, 0x16ea680, 8192): Input/output error (probably PTY closed) 2016/01/06 04:50:04 socat[4233] N socket 1 (fd 5) is at EOF 2016/01/06 04:50:04 socat[4233] I shutdown(6, 1) 2016/01/06 04:50:04 socat[4233] D shutdown() -> 0 2016/01/06 04:50:04 socat[4233] D data loop: sock1->eof=2, sock2->eof=0, closing=1, wasaction=1, total_to={0.000000} 2016/01/06 04:50:04 socat[4233] D select(7, &0x40, &0x0, &0x0, &999.000000) 2016/01/06 04:50:04 socat[4233] D select -> (, 0x40, 0x0, 0x0, &998.974365), 1 2016/01/06 04:50:04 socat[4233] D read(6, 0x16ea680, 8192) 2016/01/06 04:50:04 socat[4233] D read -> 0 2016/01/06 04:50:04 socat[4233] N socket 1 (fd 5) is at EOF 2016/01/06 04:50:04 socat[4233] I shutdown(6, 1) 2016/01/06 04:50:04 socat[4233] D shutdown() -> -1 2016/01/06 04:50:04 socat[4233] I shutdown(6, 1): Transport endpoint is not connected 2016/01/06 04:50:04 socat[4233] N socket 2 (fd 6) is at EOF 2016/01/06 04:50:04 socat[4233] I close(5) 2016/01/06 04:50:04 socat[4233] D close() -> 0 2016/01/06 04:50:04 socat[4233] D unlink("/dev/tty_remote_rpi_serial") 2016/01/06 04:50:04 socat[4233] D unlink() -> 0 2016/01/06 04:50:04 socat[4233] I shutdown(6, 2) 2016/01/06 04:50:04 socat[4233] D shutdown() -> -1 2016/01/06 04:50:04 socat[4233] I shutdown(6, 2): Transport endpoint is not connected 2016/01/06 04:50:04 socat[4233] N exiting with status 0 2016/01/06 04:50:04 socat[4233] D exit(0) 2016/01/06 04:50:04 socat[4233] D starting xioexit() 2016/01/06 04:50:04 socat[4233] D finished xioexit() 

One Solution collect form web for “ser2net + socat + gammu. завершение соцета”

использование

 while sleep 1; do socat pty,link=/dev/tty_remote_serial,waitslave tcp:10.8.0.2:3333; done 
  • Socat открывает TCP только при открытии PTY
  • Эмулируйте консоль, отправив данные на один порт UDP и получая текст от другого
  • трубы socat в трубу для нескольких операций open-write-close и open-read-close
  • SOCAT / MINICOM «Нет такого устройства или адреса»
  • Как обеспечить настраиваемую функцию «полная» для readline of socat
  • отслеживание прокси-соединения TCP
  • Управляйте приемником rs-232, как будто он понимает более свежий протокол IP
  • Скрипт Socat exec в туннеле
  • Создайте UDP для TCP-моста с помощью socat / netcat для управления командами управления для медиаплеера vlc
  • Коммуникация с удаленным Serial через TCP / IP как устройство / dev / ttyX
  • Как я могу перенаправить весь UDP-трафик с одного порта на другой в BSD / OS X?
  • Interesting Posts

    Выясните испущенный кодовый ключ для Fn + F6

    Перекомпилируйте ядро ​​без модулей, которые в настоящее время не используются

    Новая строка подсказки автоматически не помещается в командную строку после кода выхода

    Как установить драйверы rtlwifi на установочный USB-диск Debian?

    Монитор MPSSH Прогресс, возможно, PV?

    Назначение адреса URL, сайта и глобального IPv6

    Время переключения рабочего пространства Linux Mint

    Список всех протоколов уровня 3, доступных в моей системе?

    Настроить Emacs для использования Chrome в качестве веб-браузера?

    Сделать файл python доступным из любого места всеми пользователями

    Запуск VNC-просмотра из окон 8.1 в Debian Jessie не работает

    Не удалось установить пакет php-posix на CentOS 5.6

    Как запретить ядро ​​или любые широковещательные сообщения наводнения TTY?

    SELinux: Как вы предоставляете доступ к нескольким процессам в каталог / mnt / foo?

    Могу ли я прыгать в прыжок по его номеру в vim?

    Linux и Unix - лучшая ОС в мире.