Bug 13177

Summary: не работает callback на клиентском ppp
Product: Sisyphus Reporter: Timur Batyrshin <erthad>
Component: pppAssignee: Michael Shigorin <mike>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P2 CC: hiddenman, mike
Version: unstable   
Hardware: all   
OS: Linux   
Bug Depends on: 11110    
Bug Blocks:    

Description Timur Batyrshin 2007-10-21 20:06:51 MSD
Дозваниваюсь с помощью pppd до провайдера, получаю вот что:

Serial connection established.
using channel 14
Using interface ppp0
Connect: ppp0 <--> /dev/ttyS0
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <callback CBCP> <magic 0x21be50e0>
<pcomp> <accomp>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <callback CBCP> <magic 0x21be50e0>
<pcomp> <accomp>]
rcvd [LCP ConfReq id=0x95 <mru 576> <asyncmap 0xa0000> <auth pap> <magic
0x2df957e7> <pcomp> <accomp>]
sent [LCP ConfAck id=0x95 <mru 576> <asyncmap 0xa0000> <auth pap> <magic
0x2df957e7> <pcomp> <accomp>]
cbcp_lowerup
want: 0
sent [PAP AuthReq id=0x1 user="user12345" password=<hidden>]
rcvd [PAP AuthAck id=0x1 ""]
PAP authentication succeeded
cbcp_open
rcvd [CBCP Request id=0x49 < AdminDefined delay = 0>]
length: 3
user admin defined allowed
cbcp_resp cb_type=8
cbcp_resp CONF_ADMIN
sent [CBCP Response id=0x49 < AdminDefined delay = 0>]
rcvd [CBCP Ack id=0x49 < AdminDefined delay = 0>]
sent [LCP TermReq id=0x2 "Call me back, please"]
cbcp_up called
rcvd [LCP TermAck id=0x2]
Connection terminated.
tcflush failed: Bad file descriptor
tcgetattr: Bad file descriptor (line 947)

После этого провайдер перезванивает, но pppd уже к этому времени прекращает работу.
Comment 1 Michael Shigorin 2007-10-21 20:23:55 MSD
это в .dp.ua починять пробовали, кажись...
Comment 2 Timur Batyrshin 2007-10-21 22:24:22 MSD
(In reply to comment #1)
> это в .dp.ua починять пробовали, кажись...

У кого узнать получилось ли?
Если самому пытаться ковыряться -- gdb брать или что?
Comment 3 Andrew Kornilov 2007-10-21 22:38:40 MSD
Чинили как раз наоборот, сервер. И, видимо, клиент поломался. Если он работал,
конечно. Надо разбираться. Мне даже позвонить некуда, модем уже три года не
видел :( Попробуем найти ресурсы.
Comment 4 Timur Batyrshin 2007-10-21 23:38:07 MSD
(In reply to comment #3)
> Чинили как раз наоборот, сервер. И, видимо, клиент поломался. Если он работал,
> конечно. Надо разбираться. Мне даже позвонить некуда, модем уже три года не
> видел :( Попробуем найти ресурсы.

Может мне на месте попробовать что-нибудь сделать? Оторвать патчи, например,
какие-нибудь (какие?).
Comment 5 Andrew Kornilov 2007-10-21 23:43:59 MSD
Придется пробовать по одному:
1.ppp-2.4.2-cbcp.patch
2.ppp-2.4.4-cbcp-alt-2.patch
3. потом ppp-2.4.4-cbcp-alt.patch + ppp-2.4.4-cbcp-alt-3.patch

В какой-то момент должно заработать :)
Comment 6 Timur Batyrshin 2007-10-22 22:28:48 MSD
(In reply to comment #5)
> Придется пробовать по одному:
> 1.ppp-2.4.2-cbcp.patch

То же самое.

> 2.ppp-2.4.4-cbcp-alt-2.patch

При подключении выдает AT, думает несколько секунд, затем Connect script failed

> 3. потом ppp-2.4.4-cbcp-alt.patch + ppp-2.4.4-cbcp-alt-3.patch

Они отрываются только вместе с ppp-2.4.4-alt-leave-ttyperms-alone.patch
При этом при сборке выдается ошибка:
tty.o: In function `connect_tty':
tty.c:(.text+0x145c): undefined reference to `setup_serial'

После отрывания патчей по-одному оторвал разом все патчи из пп.2 и 3. После
этого заработало нормально.
Comment 7 Andrew Kornilov 2007-10-23 02:56:59 MSD
Плохо. Попробую посмотреть. Наверняка какая-нибудь мелочь. А можешь приложить
сюда подробный лог рабочего callback клиента, что он там пишет? Может удастся
отловить проблему.
Comment 8 Timur Batyrshin 2007-10-23 10:10:14 MSD
(In reply to comment #7)
> Плохо. Попробую посмотреть. Наверняка какая-нибудь мелочь. А можешь приложить
> сюда подробный лог рабочего callback клиента, что он там пишет? Может удастся
> отловить проблему.

Вечером отправлю. Что еще может понадобиться? strace нужен?
Comment 9 Timur Batyrshin 2007-10-24 21:13:26 MSD
(In reply to comment #7)
> Плохо. Попробую посмотреть. Наверняка какая-нибудь мелочь. А можешь приложить
> сюда подробный лог рабочего callback клиента, что он там пишет? Может удастся
> отловить проблему.

Serial connection established.
using channel 1
Using interface ppp0
Connect: ppp0 <--> /dev/ttyS0
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <callback CBCP> <magic 0xf14496dd>
<pcomp> <accomp>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <callback CBCP> <magic 0xf14496dd>
<pcomp> <accomp>]
rcvd [LCP ConfReq id=0xa7 <mru 576> <asyncmap 0xa0000> <auth pap> <magic
0x3e2d2d03> <pcomp> <accomp>]
sent [LCP ConfAck id=0xa7 <mru 576> <asyncmap 0xa0000> <auth pap> <magic
0x3e2d2d03> <pcomp> <accomp>]
cbcp_lowerup
want: 14
sent [PAP AuthReq id=0x1 user="user12345" password=<hidden>]
rcvd [PAP AuthAck id=0x1 ""]
PAP authentication succeeded
cbcp_open
rcvd [CBCP Request id=0x4c < AdminDefined delay = 0>]
length: 3
user admin defined allowed
cbcp_resp cb_type=8
cbcp_resp CONF_ADMIN
sent [CBCP Response id=0x4c < AdminDefined delay = 5>]
rcvd [CBCP Ack id=0x4c < AdminDefined delay = 5>]
sent [LCP TermReq id=0x2 "Call me back, please"]
rcvd [LCP TermAck id=0x2]
Connection terminated.
Comment 10 Michael Shigorin 2007-12-08 20:22:44 MSK
Перечитал -- имеет ли эта бага смысл как самостоятельная ввиду #11110? 
Последний раз округа cbcp трогалась в 2.4.4-alt6.
Comment 11 Andrew Kornilov 2007-12-08 22:51:39 MSK
Имеет, Миш. cbcp-сервер мы тогда допатчили и починили. А вот cbcp-клиент при
этом где-то ломается. В смысле, pppd теперь не получается использовать как
клиент для callback. Где-то в этих патчах, но вот где...Тут надо Сережу Власова
подключить, чтобы он подсказал, как это вообще работает :)
Comment 12 Michael Shigorin 2007-12-09 01:55:03 MSK
Ну... я могу подсобить с собиранием патчей откуда ни попадя (хотя проблема и так
локализована в ваших), но уж CBCP-то мне совсем негде проверять.  Разве что
озадачиться карточкой, как модем кто из коллег откопает и дотащит.

А vsu@ сейчас не до ppp совсем, думаю -- 2.6.24 надо к 4.1/branch.

PS: пробежался быстренько:
http://www.kanoistika.sk/bobovsky/archiv/pppd-cbcpS-callback/ (древние, но мож
идеи найдутся)
http://www.opennet.ru/base/modem/callback_ppp3.txt.html (ссылки битые, одна из
них на другой сайт с предыдущим оратором)
http://www.opennet.ru/base/modem/pppd_241_cbcp.txt.html
http://www.opennet.ru/base/modem/pppd_cbcp.txt.html
http://www.opennet.ru/base/modem/cbcp_pppd.txt.html

PPS: в ASP12 -- федорин пакет, там патч про cbcp сводится к одной строчке:
--- ppp-2.4.4/pppd/Makefile.linux.cbcp  2006-07-19 16:11:41.000000000 +0200
+++ ppp-2.4.4/pppd/Makefile.linux       2006-07-19 16:11:42.000000000 +0200
@@ -69,7 +69,7 @@
 PLUGIN=y

 # Enable Microsoft proprietary Callback Control Protocol
-#CBCP=y
+CBCP=y

 # Enable EAP SRP-SHA1 authentication (requires libsrp)
 #USE_SRP=y
Comment 13 Andrew Kornilov 2007-12-09 02:01:18 MSK
(In reply to comment #12)
> Ну... я могу подсобить с собиранием патчей откуда ни попадя (хотя проблема и так
> локализована в ваших), но уж CBCP-то мне совсем негде проверять.  Разве что
> озадачиться карточкой, как модем кто из коллег откопает и дотащит.
Аналогично. У меня pppd вообще на adsl дома только :)
> А vsu@ сейчас не до ppp совсем, думаю -- 2.6.24 надо к 4.1/branch.
Ждем, ждем.
> PS: пробежался быстренько:
> http://www.kanoistika.sk/bobovsky/archiv/pppd-cbcpS-callback/ (древние, но мож
> идеи найдутся)
> http://www.opennet.ru/base/modem/callback_ppp3.txt.html (ссылки битые, одна из
> них на другой сайт с предыдущим оратором)
> http://www.opennet.ru/base/modem/pppd_241_cbcp.txt.html
> http://www.opennet.ru/base/modem/pppd_cbcp.txt.html
> http://www.opennet.ru/base/modem/cbcp_pppd.txt.html
> 
> PPS: в ASP12 -- федорин пакет, там патч про cbcp сводится к одной строчке:
Да сам CBCP как сервер мы долго мучали в #11110 и все же домучали. Тот патч
гуляет достаточно давно, до конца правильным он и не был никогда, мы починили
всё это. Но, как оказалось, сломался клиент. Прямо хоть два pppd делай :)
Кстати, вполне себе. Думаю, основной pppd надо сделать без cbcp, все же проблемы
с ним. А рядом положить pppd-cbcp. И как-то там альтернативами разрулить это дело.
Comment 14 Michael Shigorin 2007-12-09 22:43:45 MSK
(In reply to comment #13)
> А рядом положить pppd-cbcp. И как-то там альтернативами разрулить это дело.
Может, не альтернативами, а собрать рядом /usr/sbin/pppd-cbcp (серверсайд)?

Вот как httpd и httpd-perl собираются.  Тоже не фонтан, но если такова их
селява... (#5263c9)
Comment 15 Andrew Kornilov 2007-12-09 23:13:47 MSK
(In reply to comment #14)
> (In reply to comment #13)
> > А рядом положить pppd-cbcp. И как-то там альтернативами разрулить это дело.
> Может, не альтернативами, а собрать рядом /usr/sbin/pppd-cbcp (серверсайд)?
> 
> Вот как httpd и httpd-perl собираются.  Тоже не фонтан, но если такова их
> селява... (#5263c9)
А что такое httpd-perl, кстати? Сколько лет его вижу, до сих пор не знаю, зачем
он :)
Алтернативы удобнее, наверное. Если класть рядом с другим имененем, то придется
очень многое потом менять на тему имени. pppd зашито ж в куче месте.
Comment 16 Vladimir V. Kamarzin 2007-12-10 08:39:08 MSK
cbcp-клиента могу проверить.
Comment 17 Michael Shigorin 2011-04-14 22:20:43 MSK
wontfix?
Comment 18 Vladimir V. Kamarzin 2011-04-18 08:53:58 MSK
reassign
Comment 19 Vladimir V. Kamarzin 2011-04-18 08:54:02 MSK
reassign