Архив за Январь 2001
Патчик для kppp (для пакета kdenetwork-3.1-5.src.rpm)
KPPP имеем свойство завершать цикл набора номера в случае получения NO CARRIER или NO DIALTONE, а совковые АТС могут работать как захотят:( Поэтому желательно, чтобы набор продолжался после паузы. что и было быстренько подправлено. Текст патча ( в виде файла connectcpp-011.patch ): --- connect.cpp.orig 2002-10-28 12:00:34.000000000 +0200 +++ connect.cpp 2004-07-25 10:35:29.765624016 +0300 @@ -402,11 +402,19 @@ return; } - if(readbuffer.contains(gpppdata.modemBusyResp())) { + if(readbuffer.contains(gpppdata.modemBusyResp())|| + readbuffer.contains(gpppdata.modemNoDialtoneResp())|| + readbuffer.contains(gpppdata.modemNoCarrierResp())) { timeout_timer->stop(); timeout_timer->start(gpppdata.modemTimeout()*1000); + if(readbuffer.contains(gpppdata.modemNoDialtoneResp())) { + messg->setText(i18n("No Dialtone")); + }else if(readbuffer.contains(gpppdata.modemNoCarrierResp())){ + messg->setText(i18n("No Carrier")); + }else{ messg->setText(i18n("Line busy. Hanging up...")); + } emit debugPutChar('\n'); Modem::modem->hangup(); @@ -426,24 +434,6 @@ substate = -1; return; } - - if(readbuffer.contains(gpppdata.modemNoDialtoneResp())) { - timeout_timer->stop(); - - messg->setText(i18n("No Dialtone")); - vmain = 20; - Modem::modem->unlockdevice(); - return; - } - - if(readbuffer.contains(gpppdata.modemNoCarrierResp())) { - timeout_timer->stop(); - - messg->setText(i18n("No Carrier")); - vmain = 20; - Modem::modem->unlockdevice(); - return; - } } // wait for newline after CONNECT response (so we get the speed)
Теги: kppp, NO CARRIER, NO DIALTONE, patch