Все гады
Вчера обнаружилась странность: GPRS-ный сеанс живет ровно 10 минут после начала.
Хмм, подумал я, наверное это косоглазые чего-то начудили. Заглянув в /etc/ppp/peers/gprs, я обнаружил там две строчки:
lcp-echo-interval 60
lcp-echo-failure 10
и совпадение это меня озадачило.
Я немедленно поменял 10 на 5 и сеанс стал жить ровно 5 минут.
Мысленно извинившись перед корейскими братьями, я включил debug у pppd и стал внимательно читать бубнеж, образовавщийся в логах:
sent [LCP EchoReq id=0x1 magic=0x1c24ff60]
rcvd [LCP EchoRep id=0x1 magic=0x1c24ff60]
sent [LCP EchoReq id=0x2 magic=0x1c24ff60]
rcvd [LCP EchoRep id=0x2 magic=0x1c24ff60]
Таааак. Понятненько. У еcho reply тот же magic number, что и у echo request, pppd воспринимает это как loopback (интересно, а почему он продолжает жить? я бы на его месте сразу бы завершал вызов), игнорирует этот echo reply и так далее покапатроны не иссякли не кончились lcp-echo-failure.
Ну и какого хрена, спрашивается?
Ведь английским по экрану в RFC1661, раздел 5.8:
"Until the Magic-Number Configuration Option has been successfully negotiated, the Magic-Number MUST be transmitted as zero. See the Magic-Number Configuration Option for further explanation."
А никаких попыток to negotiate Magic-Number Configuration Option не было и в помине.
Понятно, что лечится это все словом nomagic в конфиге pppd, но все равно обидно.
Итак, сволотой объявляются обе стороны:
1) слюниксовый pppd за несоответствие RFC и наглое пихание своего magic number'а куда не просят
2) LG'шный телефон за несоответствие тому же RFC. Ну не умеешь генерить собственный magic, ну и хрен с тобой. Но брать magic, который приехал в echo request и, не покривив мордой, ретранслировать его же обратно, это да, это надо додуматься.
Всех убью, один останусь.
This entry was originally posted in my livejournal
Хмм, подумал я, наверное это косоглазые чего-то начудили. Заглянув в /etc/ppp/peers/gprs, я обнаружил там две строчки:
lcp-echo-interval 60
lcp-echo-failure 10
и совпадение это меня озадачило.
Я немедленно поменял 10 на 5 и сеанс стал жить ровно 5 минут.
Мысленно извинившись перед корейскими братьями, я включил debug у pppd и стал внимательно читать бубнеж, образовавщийся в логах:
sent [LCP EchoReq id=0x1 magic=0x1c24ff60]
rcvd [LCP EchoRep id=0x1 magic=0x1c24ff60]
sent [LCP EchoReq id=0x2 magic=0x1c24ff60]
rcvd [LCP EchoRep id=0x2 magic=0x1c24ff60]
Таааак. Понятненько. У еcho reply тот же magic number, что и у echo request, pppd воспринимает это как loopback (интересно, а почему он продолжает жить? я бы на его месте сразу бы завершал вызов), игнорирует этот echo reply и так далее пока
Ну и какого хрена, спрашивается?
Ведь английским по экрану в RFC1661, раздел 5.8:
"Until the Magic-Number Configuration Option has been successfully negotiated, the Magic-Number MUST be transmitted as zero. See the Magic-Number Configuration Option for further explanation."
А никаких попыток to negotiate Magic-Number Configuration Option не было и в помине.
Понятно, что лечится это все словом nomagic в конфиге pppd, но все равно обидно.
Итак, сволотой объявляются обе стороны:
1) слюниксовый pppd за несоответствие RFC и наглое пихание своего magic number'а куда не просят
2) LG'шный телефон за несоответствие тому же RFC. Ну не умеешь генерить собственный magic, ну и хрен с тобой. Но брать magic, который приехал в echo request и, не покривив мордой, ретранслировать его же обратно, это да, это надо додуматься.
Всех убью, один останусь.
This entry was originally posted in my livejournal
0 TrackBacks
Listed below are links to blogs that reference this entry: Все гады.
TrackBack URL for this entry: http://net-geek.org/cgi-bin/mt/mt-tb.cgi/37