pppd не работает
Гость 22 марта, 2006 - 06:29
вот какая проблема
у меня выход в интернет через модем старый который подключается через компорт - модем все время в он лайне
я запускаю демон вот так
/usr/sbin/pppd /dev/ttyS0 defaultroute deflate 10,10 lock crtsct
s noauth hide-password lcp-echo-failure 10 lcp-echo-interval 20 mtu 300 mru 200
он либо не коннектиться вообще либо висит некоторое время и коннект прерывается
пишет что типа что второй конец не пингуется по LCP
самое интересное что машины на редхате и сусе
работают без проблем
никак не могу решить задачу - помогите кто чем может.
»
- Для комментирования войдите или зарегистрируйтесь
А зачем в
А зачем в ручную?
есть
/etc/init.d/ppp0 start - надо подрихтовать /etc/conf.d/net.ppp0
pon / poff - /etc/ppp/peers/имя
wvdial - emerge его!
kppp - или его!
дело не в том как я его запускаю ....
дело не в том как я его запускаю - я процитировал строку из /etc/init.d/net.ppp0
а дело в том что он не работает толком,
тем более что в моем случая звонилка типа vwdial не нужна потому что модем всегда на связи мне нужно просто в порт напустить демон pppd а он не работает при чем именно тот который на дженто и тот который на других дистрибутивах и винде - работает. Значит проблема где то в Дженто но я не могу обнаружить ее.
вот такие дела :-(
я не понимаю чего ты хочеш
1 какой у тебя модем
2 чего ты от него хочеш
или это тайна?
глюк
глюк
Похоже, та же проблема
Я причину нашел. не знаю как избавиться
А причина в том, что Женту передает имя терминала ррр по-другому:
Mar 27 11:42:43 [pppd] Connect: ppp0 <--> /dev/tts/1
Значит и терминал должен быть не /dev/ttyS1, а /dev/tts/1. Хотя вроде есть symlink /dev/ttyS1 - > /dev/tts/1. Но у меня не работает выделение АйПи-адреса. Не читает ррр файл options.ttyS1. Как мне его обозвать - кто подскажет?
пробовал options.1 - не помогает.
Re: Похоже, та же проблема
Честно говоря, давно я с этим разбирался, поэтому на твой вопрос не отвечу.
Приведу мои скрипты.
Запуская так:
pppd call SUPER_PUPER_PROV
Убиваю так:
killall pppd
/etc/ppp/peers/SUPER_PUPER_PROV
~~~~~~~begin~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# This optionfile was generated by pppconfig 2.0.10.
#
#
lock
modem
hide-password
noauth
crtscts
connect ". /etc/ppp/chat_scripts/connect.multi-repeat /etc/ppp/peers/SUPER_PUPER_PROV_phones SuperPuperProv"
# For pppd whithout dialed and demand
persist
holdoff 1
maxfail 0 #no limit
netmask 255.255.255.0
debug
/dev/ttyS1
115200
defaultroute
noipdefault
usepeerdns
# Фигурирует в колонке 'server' в chap-secrets
remotename SUPER_PUPER_PROV
# 6 аргумент для ip-up/ip-down
ipparam SUPER_PUPER_PROV
user UserName
~~~~~~~end~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/etc/ppp/chap-secrets
~~~~~~~begin~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Secrets for authentication using CHAP
# client server secret IP addresses
# Added by automatic ipppd configuration
"*" ""
UserName SUPER_PUPER_PROV SuperPuperPass
~~~~~~~end~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Тут довольно длинный чат скрипт, который обеспечивае циклический перебор телефонов модемного пула провайдера (можно упростить)
/etc/ppp/chat_scripts/connect.multi-repeat
~~~~~~~begin~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#!/bin/sh
#Использовать в pppd (без diald):
# connect.multi-repeat файл_с_номерами [название_провайдера [кол-во_повторений_списка]]
# Pass a message on to the system logs.
function message () {
logger -p local2.info -t connect "$*"
}
# The initialization string for your modem
MODEM_INIT="\rATZ"
#MODEM_TUNE="\rATL1M4S28=3S35=0S34=255S90=6"
MODEM_TUNE="\rATL0M4"
# Тип набора номера.
DIAL_PREFIX="\rATDT"
FLAG_CONNECT_OK=
# Сколько раз повторять серию номеров из файла.
REPEAT_COUNT=10000
test -z "$3" || REPEAT_COUNT=$3
# Имя провайдера.
PROVIDER_NAME=
test -z "$2" || PROVIDER_NAME=$2
# Составим список номеров из файла $1, исключая закоментированные.
if [ ! -f $1 ]; then
message "Failed. No sach phone numbers file."
exit 1
else
PHONE_NUMBERS=`cat $1 | awk '{if(!/#[[:space:]]*[0-9]+/) {printf("%s ",$0)}}'`
fi
if [ -z "$PHONE_NUMBERS" ]; then
message "Failed. No phone numbers."
exit 1
fi
## Циклически сдвинем номера в файле
#cp -f "$1" "$1.tmp"
#cat "$1.tmp" | awk 'BEGIN{ {getline} {str=sprintf("%s",$0)}} {print} END{ printf("%s\n",str) }' > $1
#rm "$1.tmp"
# Количество номеров в списке.
PHONE_NUMBERS_COUNT="`echo $PHONE_NUMBERS | wc -w`"
# Initialize the modem. Usually this just resets it.
message "Initializing Modem"
chat -v TIMEOUT 5 '' $MODEM_INIT OK $MODEM_TUNE OK
if [ $? != 0 ]; then
message "Failed to initialize modem"
exit 1
fi
# Dial the remote systems.
NREPEAT=$REPEAT_COUNT
until
let "NREPEAT==0"
do
let "N=1";
let "NREPEAT=$NREPEAT-1";
until
PHONE="`echo $PHONE_NUMBERS | cut -d ' ' -f $N`"
if [ -z "$PHONE" ];
then
/bin/true;
else
sleep 2;
message "$PROVIDER_NAME. Dialing system $PHONE"
chat -v -t 45 -r /tmp/connect-string \
REPORT CONNECT \
ABORT 'NO CARRIER' \
ABORT VOICE \
ABORT 'NO DIALTONE' \
ABORT 'NO DIAL TONE' \
ABORT 'NO ANSWER' \
ABORT DELAYED \
ABORT "NO DIAL" \
ABORT BUSY \
ABORT ERROR \
'' ${DIAL_PREFIX}${PHONE} \
CONNECT ''
case $? in
0) message Connected; let "NREPEAT=0"; let "FLAG_CONNECT_OK=YES"; /bin/true;;
1) message "Chat Error"; /bin/false;;
2) message "Chat Script Error"; /bin/false;;
3) message "Chat Timeout"; /bin/false;;
4) message "No Carrier"; /bin/false;;
5) message "Voise"; /bin/false;;
6) message "No DialTone"; /bin/false;;
7) message "No Dial Tone"; /bin/false;;
8) message "No Ansver"; /bin/false;;
9) message "Delayed"; /bin/false;;
10) message "No Dial"; /bin/false;;
11) message "Busy"; /bin/false;;
12) message "Modem Error"; /bin/false;;
*)
esac
fi
do
# Hang pfone forces.
chat -v -t 5 '' \rATH0 OK ''
let "N=$N + 1";
sleep 2;
# message "Inc N=$N"
done
done
message "`head /tmp/connect-string`"
rm /tmp/connect-string
if [ $FLAG_CONNECT_OK ]; then
# Success!
message "Protocol started"
exit 0
else
message "Protocol failed"
exit 1
fi
~~~~~~~end~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/etc/ppp/peers/SUPER_PUPER_PROV_phones
~~~~~~~begin~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1234566
#1876543
2314567
~~~~~~~end~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
хде-то видел
вроде
должен обзываться
?
Re: хде-то видел
Кстати да. man pppd :)
In forming the name of the options.ttyname file, the initial /dev/ is removed from the terminal name, and any remaining / characters are replaced with dots.
Люди проблема с ppp
Не давно достал наконец себе внешний модем...
И радости небыло моей конца что наконец спокойно смогу юзать нет прямо из линуха, но тут ждал облом.
Соединение устанавливается, но половина сайтов не открывается (в др дистрибах и win) всё нормально.
Т.к. до этого случая не полагаясь на emerge я компилил почти всё своими рукам и первой моей идеей было предположение на кривизну (моих) рук. Скомпилил всё с помощью emerge тоже не пашет. Iptables отключал с корнем из ядра не помогло. Грешил на DNS, но и он оказался не причём. Уже даже не знаю в чём дело.
Подскажите в каком направлении хотя бы рыть.
Кстати оболочку для pppd использую kppp