И снова про GPRS

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

Topper
Бывший модератор
Сообщения: 2088
Статус: Насильник бабушек-педофилок
ОС: Windows 10

И снова про GPRS

Сообщение Topper »

Значит, расклад такой:
есть арч 0.7.2
есть моя домашняя локалка, к которой ноут (на котором арч и стоит) присасывается через eth1 (eth0 - это вайфай, и он находится в перманентном дауне за неимением оных сетей в пределах досягаемости). для eth1 прописаны статические настройки: 192.168.0.4/24, в качестве шлюза указан 192.168.0.1. кроме того, включен ifplugd, отключающий eth1 в случае отсутствия кабеля, а заодно очищающий таблицу маршрутизации от дефолтного гейтвея.
так вот
мне надобно так же настроить выход через GPRS. вроде как все окей, и телефон дозванивается, и коннект проходит, но!
в случае дозвона при наличии локалки имеем такое:

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

Serial connection established.
using channel 1
Using interface ppp0
Connect: ppp0 <--> /dev/rfcomm0
sent [LCP ConfReq id=0x1 <magic 0xa053c209>]
rcvd [LCP ConfAck id=0x1 <magic 0xa053c209>]
rcvd [LCP ConfReq id=0x3 <asyncmap 0xa0000> <pcomp> <accomp> <magic 0xaef5c99a> <auth pap>]
sent [LCP ConfRej id=0x3 <asyncmap 0xa0000> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x5 <magic 0xaef5c99a> <auth pap>]
sent [LCP ConfAck id=0x5 <magic 0xaef5c99a> <auth pap>]
sent [LCP EchoReq id=0x0 magic=0xa053c209]
sent [PAP AuthReq id=0x1 user="beeline" password=<hidden>]
rcvd [LCP EchoRep id=0x0 magic=0xaef5c99a]
rcvd [PAP AuthAck id=0x1 ""]
PAP authentication succeeded
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
rcvd [IPCP ConfReq id=0x1 <addr 192.168.254.254>]
sent [IPCP ConfAck id=0x1 <addr 192.168.254.254>]
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
rcvd [IPCP ConfNak id=0x1 <addr 172.17.63.63> <ms-dns1 217.118.66.243> <ms-dns3 217.118.66.244>]
sent [IPCP ConfReq id=0x2 <addr 172.17.63.63> <ms-dns1 217.118.66.243> <ms-dns3 217.118.66.244>]
rcvd [IPCP ConfAck id=0x2 <addr 172.17.63.63> <ms-dns1 217.118.66.243> <ms-dns3 217.118.66.244>]
not replacing existing default route via 192.168.0.1
Cannot determine ethernet address for proxy ARP
local  IP address 172.17.63.63
remote IP address 192.168.254.254
primary   DNS address 217.118.66.243
secondary DNS address 217.118.66.244
Script /etc/ppp/ip-up started (pid 2886)
Script /etc/ppp/ip-up finished (pid 2886), status = 0x0


после этого пинг домена подвисает, пинг айпишника говорит, что сеть недоступна, а команда #route выдает только строчку

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface

после чего повисает до нажатия ctrl+c
далее
если выдернуть кабель локалки и подождать 10 секунд (до срабатывания ifplugd), то при дозвоне мы имеем такое:

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

Serial connection established.
using channel 2
Using interface ppp0
Connect: ppp0 <--> /dev/rfcomm0
rcvd [LCP ConfReq id=0x3 <asyncmap 0xa0000> <pcomp> <accomp> <magic 0x3e857080> <auth pap>]
sent [LCP ConfReq id=0x1 <magic 0x17b25d9c>]
sent [LCP ConfRej id=0x3 <asyncmap 0xa0000> <pcomp> <accomp>]
rcvd [LCP ConfAck id=0x1 <magic 0x17b25d9c>]
rcvd [LCP ConfReq id=0x5 <magic 0x3e857080> <auth pap>]
sent [LCP ConfAck id=0x5 <magic 0x3e857080> <auth pap>]
sent [LCP EchoReq id=0x0 magic=0x17b25d9c]
sent [PAP AuthReq id=0x1 user="beeline" password=<hidden>]
rcvd [LCP EchoRep id=0x0 magic=0x3e857080]
rcvd [PAP AuthAck id=0x1 ""]
PAP authentication succeeded
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
rcvd [IPCP ConfReq id=0x1 <addr 192.168.254.254>]
sent [IPCP ConfAck id=0x1 <addr 192.168.254.254>]
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
rcvd [IPCP ConfNak id=0x1 <addr 172.23.105.61> <ms-dns1 217.118.66.243> <ms-dns3 217.118.66.244>]
sent [IPCP ConfReq id=0x2 <addr 172.23.105.61> <ms-dns1 217.118.66.243> <ms-dns3 217.118.66.244>]
rcvd [IPCP ConfAck id=0x2 <addr 172.23.105.61> <ms-dns1 217.118.66.243> <ms-dns3 217.118.66.244>]
Cannot determine ethernet address for proxy ARP
local  IP address 172.23.105.61
remote IP address 192.168.254.254
primary   DNS address 217.118.66.243
secondary DNS address 217.118.66.244
Script /etc/ppp/ip-up started (pid 3286)
Script /etc/ppp/ip-up finished (pid 3286), status = 0x1


ну, и с роутом та же картина
спасите, а?..
Хрю.
Спасибо сказали:
пи?вo!
Сообщения: 4
ОС: lыnux

Re: И снова про GPRS

Сообщение пи?вo! »

1. Расскажи, плиз, в чем разница в логах, а то в два часа как-то не прет играть в "найди нцать различий"

2. route виснет в попытках резольвить имена для адресов в таблице. Юзай route -n и/или делай выводы и ищи причину отсутствия этих самых имен.

3. вас ист дас ifplugd?

4. а вообще, подозреваю, причина в том, что pppd не умеет (до сих пор?!!) сам менять default gw. То есть надо где-то в районе /etc/ppp/ip-up это делать насильно (сделать что-то вроде route del default gw; route add default gw $5 #если склероз не изменяет или аналогичные телодвижения с помощью ip ro re). Ну и обновление /etc/resolv.conf проверить до кучи.

5. когда нормально заработает gprs можно будет в том же ip-up/ip-down (а лучше сделать что-то вроде дебиановского(?) ip-up.local) нормально разрулить табличку route для локальной и не локальной сетей. А на время мучений ее лучше отключить.
Пейте пиво пенное, будет рожа.. вот такая!
Спасибо сказали:
Topper
Бывший модератор
Сообщения: 2088
Статус: Насильник бабушек-педофилок
ОС: Windows 10

Re: И снова про GPRS

Сообщение Topper »

1. not replacing existing default route via 192.168.0.1
2. route -n....

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

Kernel IP routing table
Destination            Gateway     Genmask            Flags Metric Ref    Use Iface
192.168.254.254     0.0.0.0      255.255.255.255  UH     0      0        0 ppp0
0.0.0.0                   0.0.0.0       0.0.0.0               U       0      0        0 ppp0

3. хм
(Topper @ Sep 1 2006, в 01:48) писал(а):ifplugd, отключающий eth1 в случае отсутствия кабеля

демон, мониторящий воткнутость кабеля в сетевуху
прибивать его пробовал - это не он поганит
4. обязан уметь - в других дистрибутивах все было замечательно. хотя, может и патченые версии пппд были....
5. это знаю. только пока никак проблему не локализую....
Хрю.
Спасибо сказали:
Аватара пользователя
Виталмий
Сообщения: 468
Статус: Любитель
ОС: Gentoo Linux

Re: И снова про GPRS

Сообщение Виталмий »

Topper а чем ты поднимаешь ppp соединение?
я вот таким bash скриптиком, как видишь из скрипта default router меняется вручную.
хотя можно настроить всю это беду в /etc/ppp/ip-up.local и /etc/ppp/ip-down.local... но мне и так нравится )))

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

vitas sbin # cat /sbin/gprs
#!/bin/sh
DIALTIMEOUT=20
MODEM=rfcomm0 SPEED=57600 MODEM_INIT='AT+CGDCONT=1,\"IP\",\"internet.kvk\" OK'
IH_IP=" ipcp-accept-local ipcp-accept-remote noipdefault
        debug usepeerdns user gdata mtu 576
        novj nobsdcomp novjccomp nopcomp noaccomp"
LOGSCRIPT="CONNECT"
PHONE="*99***1#"
# перед запуском pppd удаляет default router, по окончании - восстанавливает
DR=`route -n | egrep '^0.0.0.0'| grep -v ppp | sed 's/^[^ ]*  *\([^ ]*\) .*/default gw \1/'`;
 if [ -n "$DR" ]; then
   trap "echo route add $DR; route add $DR; exit"  2 3 9 15
    route delete $DR
    echo route delete $DR
 fi
##################### При обрыве соединения pppd перезапускается
while  true; do
    pppd \
    connect 'chat -v ABORT "NO DIALTONE" ABORT "NO CARRIER" ABORT BUSY "" '"$MODEM_INIT"' ATDP'$PHONE' '"$LOGSCRIPT"';' \
    crtscts defaultroute modem -detach mru 576 \
    $NASH_IP:$IH_IP /dev/$MODEM $SPEED
    cat /etc/ppp/resolv.conf > /etc/resolv.conf
    sleep $DIALTIMEOUT
done


кстати у меня тоже таблицу маршрутизации выводит с паузой, похожей на зависание:

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

vitas sbin # route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
172.16.44.33    *               255.255.255.255 UH    0      0        0 ppp0
192.168.238.0   *               255.255.255.0   U     0      0        0 dvb0_0
loopback        *               255.0.0.0       U     0      0        0 lo
default         172.16.44.33    0.0.0.0         UG    0      0        0 ppp0



пи?вo! писал(а):
01.09.2006 02:19
1. Расскажи, плиз, в чем разница в логах, а то в два часа как-то не прет играть в "найди нцать различий"

смотри последнюю строчку
в первом случает: status = 0x0
во втором: status = 0x1
linux-2.6.17-gentoo-r5 x86 on AMD Athlon XP 2000+
OpenSuse 11.0 x86_64 on Sony VNG-FZ31ER
Спасибо сказали:
Аватара пользователя
cheer
Сообщения: 729
Статус: Самовлюблённый сноб
ОС: archlinux i686-current

Re: И снова про GPRS

Сообщение cheer »

В арче pppd именно такой, как описывает пи?во!, проверено, имея ADSL и модемное подключение. Хорошо, что последнего сейчас уже нет и не будет.
Спасибо сказали:
Topper
Бывший модератор
Сообщения: 2088
Статус: Насильник бабушек-педофилок
ОС: Windows 10

Re: И снова про GPRS

Сообщение Topper »

(Виталмий @ Sep 1 2006, в 20:21) писал(а):Topper а чем ты поднимаешь ppp соединение?

я делал по статье http://www.opennet.ru/base/modem/altlinux-...h-gprs.txt.html
попробую твой скрипт, спасибо большое
(Виталмий @ Sep 1 2006, в 20:21) писал(а):кстати у меня тоже таблицу маршрутизации выводит с паузой, похожей на зависание:

нет, у меня именно подвисание
ping так же подвисает, а route -n без паузы работает


апдейт:
нет, не помог скрипт
симптомы те же
к тому же, перед запуском дозвона таблица маршрутизации девственно пуста, так что проблема не в том, чтобы что-то оттуда удалить до дозвона...

еще апдейт: кажись, заработало!
после установки соединения я снес из роута все, что в нем было и вручную вбил default gw 192.168.100.101 (это у московского пчелайна такой)
Хрю.
Спасибо сказали: