The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"pppd не всегда определяет 'Modem hangup'"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"pppd не всегда определяет 'Modem hangup'"  
Сообщение от kay27 email(ok) on 13-Дек-06, 14:17 
Конфигурация:

1. Модемы (разные) включены в Moxa NPort 5610-16, есть драйвер "npreal", добавляющий в систему виртуальные порты /dev/ttyr00...ttyr0f (16 штук). По сути, вроде, обычные порты cu -s 115200 -l /dev/ttyr0d без проблем, я общаюсь с модемами.
2. Linux (Slackware, на базе 10.2), ядро 2.6.19.1 (скачал вчера с горя, до этого было 2.6.13).
3. mgetty-1.1.35.
4. pppd вчера взял по rsync и собрал сам, до этого баловался с предыдущими версиями...

Ситуёвина:

Я подключаюсь к модемному пулу, сразу же отключаюсь, в логе вижу:

Using interface ppp2
Connect: ppp2 <--> /dev/ttyr0d
PAP peer authentication succeeded for kay
local  IP address 10.118.224.24
remote IP address 10.118.225.1
LCP terminated by peer (^X4^PM-H^@<M-Mt^@^@^@^@)
Connect time 0.2 minutes.
Sent 19452 bytes, received 2596 bytes.
Connection terminated.
Modem hangup

Снова подключаюсь, выполняю ping www.ru, tracert www.ru (работу какую-то имитирую), прерываю их, отключаюсь. В логе теперь следующее:

Using interface ppp2
Connect: ppp2 <--> /dev/ttyr0d
PAP peer authentication succeeded for kay
local  IP address 10.118.224.24
remote IP address 10.118.225.1
LCP terminated by peer (9M-1-M-$^@<M-Mt^@^@^@^@)
Connect time 0.3 minutes.
Sent 986 bytes, received 3550 bytes.
Connection terminated.

И ВСЁ!!! Строчки "Modem hangup" нет. pppd висит в памяти и не убивается kill-ом и kill -9, kill -15, более того, пока не пытаешься его убить, ps xa показывает, например:

3311 ttyr0d   Rs+    0:00 pppd (всегда 0:00)

и он не грузит систему особо, а стоит попытаться - время начинает тикать, и top после этого показывает загрузку под 100% pppd.
Это какой-то кошмар. Сервер серьёзный, блин, не могу я его так часто перезагружать, на меня уже люди косятся криво... :(
Ядро 2.6.13 после такого "неудачного убийства" по init 6 или reboot не могло перезагрузиться в течение нескольких часов (через 2 часа я нажал Reset). 2.6.19.1 перезагружается, правда, пишет что-то про предположительно зависшие процессы и как бы какое-то время ждёт.

mgetty запускается через /etc/inittab.
Опции и уровни debug пробовал всякие в самых различных комбинациях. Пробовал через опцию disconnect посылать на модем +++ OK ATH0 OK... persist, nopersist, updetach, nodetach, cdtrcts, crtscts, passive... долго перечислять :)

Меня интересует скорее теоретический подход к проблеме сейчас:
Почему это в принципе может происходить?!!!
На худой конец - подскажите хоть способ какой-нибудь наверняка убить pppd...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "pppd не всегда определяет 'Modem hangup'"  
Сообщение от kay27 email(ok) on 13-Дек-06, 15:45 
Ну, вот... после очередного зависания отказалось перезагружаться и ядро 2.6.19.1 :(
Прилагаю текущие настройки...


/etc/ppp/options:

-detach
local
require-pap
refuse-chap
10.118.224.24:
netmask 255.255.224.0
ms-dns 10.118.224.24
logfile "/var/log/pppd.log"
ktune
asyncmap 0xa0000


/etc/mgetty+sendfax/mgetty.config:

debug 1
fax-id 0 0000 000000
speed 115200
direct no
blocking no
port-owner uucp
port-group uucp
port-mode 0664
toggle-dtr yes
toggle-dtr-waittime 100
data-only y
fax-only no
modem-check-time 300
rings 1
ringback no
issue-file /etc/issue
prompt-waittime 150

# US Robotics
port ttyr0d
init-chat "" \d\dATZ OK \d\dATS0=0 OK

# IDC 2814 BXL
port ttyr0e
init-chat "" \d\dAT&F OK \d\dATm0w2s7=40s41.1=1 OK

# IDC 2814 BXL
port ttyr0f
init-chat "" \d\dAT&F OK \d\dATm0w2s7=40s41.1=1 OK
root@proxy:/etc/mgetty+sendfax#


/etc/inittab (вырезал кусок):

d1:12345:respawn:/sbin/mgetty -x 1 ttyr0d
d2:12345:respawn:/sbin/mgetty -x 1 ttyr0e
d3:12345:respawn:/sbin/mgetty -x 1 ttyr0f


/etc/mgetty+sendfax/login.config:

/AutoPPP/ -     a_ppp   /usr/sbin/pppd

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру