Народ !!!
Помогите кто чем может, приму на рассмотрение даже самые бредовые идеи.
Я уже раз писал. теперь повторюсь еще раз.Потому как в тот раз никто ниче не ответил.
Поставил у себя шлюз пор FreeBSD. Провайдеру дозваниваюсь через pppd.
Все вроди работает, но если разрывается связь, то pppd даже не пытается перезванивать, но если выключить и включить модем, то все нормально перезванивает. В чем может быть проблема ??? Если ложит трубку по прошествию времени простоя, то потом по запросу перезванивает нормально.
Параметры системы такие:
FreeBSD 4.7-RELEASE
pppd версии 2.3.5 (пересобирал после патча)
модем: Zyxel OMNI 56K NEO
В файлах конфигурации такие настройки (настраивал по инструкциям отсюда http://sysoev.ru/pppd):
//-----------------------------
Файл: конфигурация ядра
Добавил такие строчки (и соответственно пересобрал ядро)
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100
options IPDIVERT
//-----------------------------
Файл : /usr/src/usr.sbin/pppd/auth.c (исходники pppd)
Добавил патч
itime = MIN(idle.xmit_idle, idle.recv_idle);
if (itime >= idle_time_limit) {
+ if (persist && ! demand)
+ persist = 0 ;
/* link is idle: shut it down. */
syslog(LOG_INFO, "Terminating connection due to lack of activity.");
lcp_close(0, "Link inactive");
//-----------------------------
Файл : /etc/gettytab
Добавил 2 строчки чтоб понимался PAP
std.57600|57600-baud:\
:np:sp#57600:\
+ :pp=/usr/sbin/pppd.sh:
std.115200|115200-baud:\
:np:sp#115200:\
+ :pp=/usr/sbin/pppd.sh:
//-----------------------------
Файл : /etc/ppp/options (часть опций запуска pppd)
modem crtscts asyncmap 0
//-----------------------------
Файл: /etc/ppp/pap-secrets (данные для ваторизации с провайдером)
MyLogin ProviderName MyPassword
//-----------------------------
Файл: /etc/ppp/script (скрипт дозвона для chat)
ABORT "ERROR"
ABORT "NO DIALTONE"
TIMEOUT 10
"" "AT"
"OK" "ATZ"
ABORT "BUSY"
ABORT "NO ANSVER"
ABORT "NO CARRIER"
ABORT "Login incorrect"
"OK" "ATDT3322129"
TIMEOUT 125
"CONNECT" "\\c"
TIMEOUT 30
"~" "\\c"
//-----------------------------
Файл: /etc/rc.conf
usbd_enable="YES"
moused_flags="-3"
mousechar_start="3"
moused_port="/dev/psm0"
moused_type="auto"
moused_enable="YES"
saver="daemon"
font8x8="cp866-8x8"
font8x14="cp866-8x14"
font8x16="cp866b-8x16"
scrnmap="koi8-r2cp866"
keyrate="normal"
keymap="ru.koi8-r"
hostname="Proxy "
gateway_enable=YES
apm_enable="YES"
linux_enable="YES"
network_interfaces="rl0 lo0"
ifconfig_lo0="inet 127.0.0.1"
ifconfig_rl0="inet 192.168.1.5 netmask 255.255.0.0"
# NAT & FireWall
firewall_enable="YES"
firewall_type="open"
natd_enable="YES"
natd_interface="ppp0"
natd_flags="-f /etc/natd.conf"
//-----------------------------
Файл: /etc/start_if.ppp0 (скрипт запуска pppd)
pppd cuaa0 115200 lock connect 'chat -v -f /etc/ppp/script' \
user MyLogin remotename ProviderName \
demand :212.113.37.140 \
idle 120 holdoff 5 \
defaultroute debug
//-----------------------------
Файл: /usr/sbin/pppd.sh (скрипт запускающий авторизацию PAP(CHAP) )
#!/bin/sh
/usr/sbin/pppd auth
//-----------------------------
Со времен последней просьбы провел массу экспериментов и вот чего добился:
1) по логам (их посмотру в моментразрыва связи) я определил что pppd видит (выводит а логи) что связь разорвалась только тогда когда выключаешь модем, а не тогда когда вытягиваешь ждек из модема и даже не тогда когда судя по лампочкам модем бросает трубу (и что интересно после отбирания у модема линии он может еше с пол минуты мигать лампочками как будто все нормально)
2)Если уменьшить время таймаута по простою,строка запуска скажем вот такая
pppd cuaa0 115200 lock connect 'chat -v -f /etc/ppp/script' \
user MyLogin remotename ProviderName \
demand :212.113.37.140 \
idle 30 holdoff 5 \
defaultroute debug
то таки через пару минут pppd одупляется и переконекчевается (на сколько я понимаю при разорванной связи пакеты через модемное соединение не идет, и pppd сам бросает трубку по таймауту). И как бы такой вариант работы практически устраивал бы, тка проработало пол дня, а потом pppd забил и на это и опять переконекчивается тока после выключения.(но в момент эксперементов с параметром idle) я видел в логах что pppd таки понимал когда модем клал трубу.
может проблема именно в модеме ?(хотя с другой стороны на виндозной машине проблем не было).
Народ подскажите хоть что нибудь, а то я уже запарился с этим делом :(