Remserial (Сага о гуляющих портах)

Модераторы: dimbor, Модераторы разделов

Аватара пользователя
DjSpike
Сообщения: 2265
Статус: в поисках истины
ОС: Lubuntu 12.04

Remserial

Сообщение DjSpike »

Помогите разобраться.
Есть два комьютера (1) и (2). На втором комьютере 3 ком порта: 1 - Феликс 02 , 2 - Метролоджик 9450 3 - Модем Acorp.
С помощью следующего скрипта осуществляю проброску портов в сеть:

Код: Выделить всё

#Первое касса ККМ
remserial -d -p7200 -s"115200 raw" /dev/ttyS0 &
#Сканер Штрих-Кода
remserial -d -p7201 -s"9600 raw" /dev/ttyS1 &
#Модем Акорп
remserial -d -p8080 -s"115200 raw" /dev/ttyS2 &


На первом комьютере 2 пользователя, один локальный второй заходит через nx терминал.
У локального в автозагрузке стоит такой скрипт:

Код: Выделить всё

remserial -d -r192.168.0.31 -p8080 -l /mnt/work/rems/com7 /dev/ptmx &
sudo ln -s /mnt/work/rems/com7  /dev/modem


У второго пользователя при запуске nx сессии (rootless) прописано следующее:

Код: Выделить всё

#!/bin/bash
xterm -iconic -e setxkbmap -rules xorg -model pc105 -layout "ru(winkeys),us" -option "grp:ctrl_shift_toggle"
setpoint.sh
rem_clientA3.sh
env WINEPREFIX="$HOME/.wine" wine "C:\\Program Files\\1Cv77\\BIN\\1cv7.exe" enterprise /D "D:\\ePharmaNet\\Apteka\\Base" /n"Фандеева"


в rem_clientA3.sh прописано следующие

Код: Выделить всё

remserial -d -r192.168.0.31 -p7200 -l $HOME/.wine/dosdevices/com5 /dev/ptmx &
remserial -d -r192.168.0.31 -p7201 -l $HOME/.wine/dosdevices/com6 /dev/ptmx &


Теперь в чем собственно проблема. Локальный пользователь после запуска компьютеров, запускает Kppp , "проброшенный" модем все нормально определяется выходит в интернет. Все шикарно работает, пока со второго компьютера не зайдет терминальный пользователь. После этого модем не виден. Потом отключаем терминального пользователя и убиваем процессы remserial созданные им и опять все нормально.

---------------------------
ser2net
AvReg - По для организации Видеонаблюдения на Linux.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
Спасибо сказали:
Аватара пользователя
DjSpike
Сообщения: 2265
Статус: в поисках истины
ОС: Lubuntu 12.04

Re: Remserial

Сообщение DjSpike »

Код: Выделить всё

#!/bin/bash
xterm -iconic -e setxkbmap -rules xorg -model pc105 -layout "ru(winkeys),us" -option "grp:ctrl_shift_toggle"
setpoint.sh
rem_clientA3.sh
env WINEPREFIX="$HOME/.wine" wine "C:\\Program Files\\1Cv77\\BIN\\1cv7.exe" enterprise /D "D:\\ePharmaNet\\Apteka\\Base" /n"Фандеева"
kill -9 remserial


Прикрепленные файлы, это скрипты.
1) инсталирует
2) второй выполняется роль сервиса, который запускается при старте системы и передает порты в локалку.
Только расширение .txt убирите предварительно.

может кому пригодятся.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
AvReg - По для организации Видеонаблюдения на Linux.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
Спасибо сказали:
StasW
Сообщения: 2
ОС: fedora 10

Re: Remserial

Сообщение StasW »

Привет, Виктор!
По первым двум комам все так и должно быть,
Есть два комьютера (1) и (2). На втором комьютере 3 ком порта: 1 - Феликс 02 , 2 - Метролоджик 9450 3 - Модем Acorp.
С помощью следующего скрипта осуществляю проброску портов в сеть:

Код: Выделить всё

#Первое касса ККМ
remserial -d -p7200 -s"115200 raw" /dev/ttyS0 &
#Сканер Штрих-Кода
remserial -d -p7201 -s"9600 raw" /dev/ttyS1 &
#Модем Акорп
remserial -d -p8080 -s"115200 raw" /dev/ttyS2 &

а вот модем отвяжи от ремсериал и пробрось в систему с помощью ser2net (ККМ и СкШтрихКода по ser2net не работают!)- там доступные маны с демонами. Тогда пропадут проблемы с использованием модема юзерами - и завяжи нет через него автоматом c подъемом еще при загрузке (kppp?, pppd?) - как и полдожено в ос.
имхо, проще iptables на машине с модемом поднять с установкой соединения "по требованию" - гулял такой файлик pppd по инету - где-то у мя валяется - прислать?
Спасибо сказали:
Аватара пользователя
DjSpike
Сообщения: 2265
Статус: в поисках истины
ОС: Lubuntu 12.04

Re: Remserial

Сообщение DjSpike »

Подскажи как с помощью ser2net порт пробросить... Если можно простой примерчик, а то после прочтения этого http://linux.die.net/man/8/ser2net просветление что-то не наступило...
AvReg - По для организации Видеонаблюдения на Linux.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
Спасибо сказали:
StasW
Сообщения: 2
ОС: fedora 10

Re: Remserial

Сообщение StasW »

DjSpike писал(а):
31.03.2009 22:02
Подскажи как с помощью ser2net порт пробросить... Если можно простой примерчик, а то после прочтения этого http://linux.die.net/man/8/ser2net просветление что-то не наступило...

не помню - давно было - чтото типа 2001:telnet:/dev/ttyS* и IP_from,2001:telnet:/dev/ttyS*
и еще socat тоже в тестовом варианте работал (только модем)
может все таки поднять iptables ip-up на той машине, где модем - вот для этого варианта у меня все конфиги сохранились
Спасибо сказали:
Аватара пользователя
DjSpike
Сообщения: 2265
Статус: в поисках истины
ОС: Lubuntu 12.04

Re: Remserial

Сообщение DjSpike »

может все таки поднять iptables ip-up на той машине, где модем - вот для этого варианта у меня все конфиги сохранились

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

В поисках инструкции для ser2net , нашел еще одну программу для проброски портов http://www.dest-unreach.org/socat/doc/socat-ttyovertcp.txt

http://www.freesource.info/wiki/AltLinux/D...rIP&amp%3b)

Если не ошибаюсь то чтобы расшарить порт надо в ser2net.conf написать следующее:

Код: Выделить всё

#  <TCP port>:<state>:<timeout>:<device>:<options>

SER2NET_DEVICE="/dev/ttyS0"
SER2NET_TCPPORT=2001
SER2NET_STATE=raw
SER2NET_TIMEOUT=600
SER2NET_OPTIONS="9600 NONE 1STOPBIT 8DATABITS"

SER2NET_TCPPORT:SER2NET_STATE:SER2NET_TIMEOUT:SER2NET_DEVICE:SER2NET_OPTIONS
#или можно так
2001:raw:600:/dev/ttyS0:115200


А как со стороны клиента подсоеденитсья ?????
AvReg - По для организации Видеонаблюдения на Linux.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
Спасибо сказали:
bsavelev
Сообщения: 231
ОС: Debian

Re: Remserial

Сообщение bsavelev »

насколько я помню, соединяться надо с номером порта, вычисляемым как -- "7100+SER2NET_TCPPORT"
Спасибо сказали:
Аватара пользователя
DjSpike
Сообщения: 2265
Статус: в поисках истины
ОС: Lubuntu 12.04

Re: Remserial

Сообщение DjSpike »

запускаю ser2net , в конф файле то что написано постом вышем, но порта открытого не появляется (как в случае с remserial). В процессах ser2net висит...
AvReg - По для организации Видеонаблюдения на Linux.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
Спасибо сказали:
Аватара пользователя
DjSpike
Сообщения: 2265
Статус: в поисках истины
ОС: Lubuntu 12.04

Re: Remserial

Сообщение DjSpike »

Порт удается открыть только при следующей записи в ser2net.conf:

Код: Выделить всё

2004:raw:5:/dev/ttyS0:115200

Если указать к примеру порт 7000,7001,7002. То не работает, хотя эти порты свободны, и к примеру remserial без проблем может на них вешаться.

Помогите разобраться что теперь нужно указать на клиентской части, чтобы подключиться к этому порту. Запись такого вида не помогает:
10.93.134.2 - ip адрес машины на которой модем.

Код: Выделить всё

10.93.134.2.2004:raw:5:/dev/modem:115200
AvReg - По для организации Видеонаблюдения на Linux.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
Спасибо сказали: