Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Oleg Leschov                         2:5050/59.8    25 Feb 2004  23:43:24
 To : All
 Subject : звонилка / hang-up как?
 -------------------------------------------------------------------------------- 
 
 Требуется по простому не-софт модему на серийном порте звонить 
 провайдеру, ограничивая допустимые типы соединения по протоколу 
 сжатия и скорости, т.е. надо автоматически убивать соединения, 
 где скорость меньше некого числа (скажем, 40000), и протокол не V44.
 chat так не умеет, поэтому я сейчас использую простой скрипт, 
 анализирующий то, что сказал chat -vs перед выходом, т.е. строку 
 CONNECT при успешном соединении. Если эта строка соответствует 
 ограничениям - управление передаётся pppd, иначе - надо сделать 
 hang-up и заново запустить chat.
 
 Проблема в том, что я не знаю, как правильно "убить" неудачное 
 соединение. Сейчас анализатор запускается прямо из chat-скрипта, 
 который вызывается pppd для установки соединения. Поэтому в скрипте, 
 анализирующем строку CONNECT, я, если обнаружено неудачное соединение, 
 пишу в stdout "~+++~ATH0\r" (~-пауза) - по одному символу за раз, 
 делая flush после каждого. Используется Python, sys.stdout.write,.flush.
 
 Почему-то это не работает. Соединение, конечно, обычно в конце концов 
 само обрывается, но иногда модем виснет, и его приходится ресеттить 
 minicom'ом. Иногда даже выключать/включать модем приходится, но это 
 редко...
 
 Ещё изветно, что иногда та сторона выдаёт стандартное "ogin:-assword:", 
 если долго не видит pppd - может, с этим связано...
 
 Модем - zyxel omni 56k.
 
 Вопрос - что я не так делаю?
 Может, есть готовое решение?
 wvdial вроде-бы не умеет такого. Hа уровне модема я нашёл только 
 фиксацию baud rate, что не катит - мне надо соглашаться на 
 всё не меньше заданного. Да и фиксации протокола компрессии я не нашёл.
 Можно ещё разрешить pppd установить соединение и потом его sighup'нуть, 
 но это долго и ненадёжно - иногда разрыв соединения производится 
 слишком долго (особенно при плохих коннектах) и провайдер за это время 
 вычитает деньги со счёта...
 
 ---
  * Origin: <<>>  (2:5050/59.8)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 звонилка / hang-up как?   Oleg Leschov   25 Feb 2004 23:43:24 
 Re: звонилка / hang-up как?   Eugeny Chernetcki   26 Feb 2004 16:44:36 
 Re: звонилка / hang-up как?   Kirill Frolov   29 Feb 2004 04:28:45 
 Re: звонилка / hang-up как?   Oleg Leschov   06 Mar 2004 14:39:41 
 Re: звонилка / hang-up как?   Kirill Frolov   07 Mar 2004 16:10:37 
 Re: звонилка / hang-up как?   Oleg Leschov   09 Mar 2004 02:09:00 
 Re: звонилка / hang-up как?   Kirill Frolov   09 Mar 2004 09:57:15 
Архивное /ru.linux/60113645f9bff.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional