Автор Тема: Скрипт-звонилка с мордой на tk myppp. Ищется смелый человек с GPRS для теста :)  (Прочитано 29442 раз)

Оффлайн YYY

  • Мастер
  • ***
  • Сообщений: 6 046
строка инициализации AT+CGDCONT=1,"IP","internet.beeline.ru"

Apr  7 09:45:30 localhost chat[7136]: send (AT+CGDCONT=1,IP,internet.beeline.ru^M)
Apr  7 09:45:30 localhost chat[7136]: timeout set to 30 seconds
Apr  7 09:45:30 localhost chat[7136]: expect (OK)
Apr  7 09:45:30 localhost chat[7136]: ^M
Apr  7 09:45:30 localhost chat[7136]: AT+CGDCONT=1,IP,internet.beeline.ru^M^M
Apr  7 09:45:30 localhost chat[7136]: ERROR
Apr  7 09:45:30 localhost chat[7136]:  -- failed
Apr  7 09:45:30 localhost chat[7136]: Failed (ERROR)
Вы наверное скрипт с первой странички пробуете - там еще экранирование кавычек не работает.
Для него надо так попробовать
AT+CGDCONT=1,\"IP\",\"internet.beeline.ru\"
В верси которая на 3-ей странице - профиксино
Новую версию сегодня доделаю

Оффлайн YYY

  • Мастер
  • ***
  • Сообщений: 6 046
сделал 2 версии :)

711 типа "стабильная"
743 для тестирования.
Сделал загрузку преднастроек GPRS.
По дефолту сделал звонить тоном и убрал проверку логина при GPRS

Тест устройства... Но тест работает через раз :(
В отличии от досни
echo AT >com1
в линуксе крайне сложно получить на
echo AT >/dev/modem
ответ.
Уж таким извратным способом сделал.
Может кто знает как легче без доп программ?
Я получаю так из терминала так:
#echo AT > /dev/modem;cat /dev/modem|grep OK > /tmp/test123|sleep 1|kill -9 `ps ax|grep 'cat /dev/modem''|grep -v grep|awk '{print(\$1)}'`
И в файле /tmp/test123 появляется OK...
Как это упростить - не знаю...
Причем надо чтоб задание еще и прибивалось само :)


« Последнее редактирование: 07.04.2010 17:00:04 от YYY »

Оффлайн Виктор

  • Участник
  • *
  • Сообщений: 54
У меня вообще не запустился :(
# ./myppp
Error in startup script: missing close-brace
    while executing
"proc premts {} {

global modemtype

set modemtype 1
.conf.atdt select
.conf.atdp deselect

.conf.ini delete 1.0 end
.conf.ini insert end "ATZ"
.conf.i..."
    (file "./myppp" line 311)

Оффлайн YYY

  • Мастер
  • ***
  • Сообщений: 6 046
У меня вообще не запустился :(
# ./myppp
Error in startup script: missing close-brace
    while executing
"proc premts {} {

    (file "./myppp" line 311)
очень интересно... Сейчас проверю...
У меня запускалось и скобки закрыты.
Архив загрузил с сайта - вроде не битый...

kostyalamer

  • Гость
Версия 711 почти соединилось, на табло телефона загорается :1) устанавливается соединение 2) ошибка соединения, обратитесь к оператору. вот лог режим gprs1:

Apr  7 20:49:52 host-2 pppd[13918]: pppd 2.4.4 started by root, uid 0             
Apr  7 20:49:53 host-2 chat[13921]: abort on (BUSY)                               
Apr  7 20:49:53 host-2 chat[13921]: abort on (NO ANSWER)                         
Apr  7 20:49:53 host-2 chat[13921]: abort on (RINGING)                           
Apr  7 20:49:53 host-2 chat[13921]: abort on (NO CARIER)                         
Apr  7 20:49:53 host-2 chat[13921]: abort on (NO DIALTONE)                       
Apr  7 20:49:53 host-2 chat[13921]: abort on (DELAYED)                           
Apr  7 20:49:53 host-2 chat[13921]: abort on (VOICE)                             
Apr  7 20:49:53 host-2 chat[13921]: abort on (ERROR)                             
Apr  7 20:49:53 host-2 chat[13921]: abort on (RINGING)                           
Apr  7 20:49:53 host-2 chat[13921]: timeout set to 30 seconds                     
Apr  7 20:49:53 host-2 chat[13921]: send (ATZ^M)                                 
Apr  7 20:49:54 host-2 chat[13921]: timeout set to 30 seconds                     
Apr  7 20:49:54 host-2 chat[13921]: expect (OK)                                   
Apr  7 20:49:54 host-2 chat[13921]: ATZ^M^M                                       
Apr  7 20:49:54 host-2 chat[13921]: OK                                           
Apr  7 20:49:54 host-2 chat[13921]:  -- got it                                   
Apr  7 20:49:54 host-2 chat[13921]: send (ATE1^M)                                 
Apr  7 20:49:54 host-2 chat[13921]: timeout set to 30 seconds                     
Apr  7 20:49:54 host-2 chat[13921]: expect (OK)                                   
Apr  7 20:49:54 host-2 chat[13921]: ^M                                           
Apr  7 20:49:54 host-2 chat[13921]: ATE1^M^M
Apr  7 20:49:54 host-2 chat[13921]: OK
Apr  7 20:49:54 host-2 chat[13921]:  -- got it
Apr  7 20:49:54 host-2 chat[13921]: send (AT+CGDCONT=1,"IP","internet.beeline.ru"^M)
Apr  7 20:49:54 host-2 chat[13921]: timeout set to 30 seconds
Apr  7 20:49:54 host-2 chat[13921]: expect (OK)
Apr  7 20:49:54 host-2 chat[13921]: ^M
Apr  7 20:49:54 host-2 chat[13921]: AT+CGDCONT=1,"IP","internet.beeline.ru"^M^M
Apr  7 20:49:54 host-2 chat[13921]: OK
Apr  7 20:49:54 host-2 chat[13921]:  -- got it
Apr  7 20:49:54 host-2 chat[13921]: send (ATD*99***1#^M)
Apr  7 20:49:54 host-2 chat[13921]: expect (CONNECT)
Apr  7 20:49:54 host-2 chat[13921]: ^M
Apr  7 20:49:55 host-2 chat[13921]: ATD*99***1#^M^M
Apr  7 20:49:55 host-2 chat[13921]: CONNECT
Apr  7 20:49:55 host-2 chat[13921]:  -- got it
Apr  7 20:49:55 host-2 chat[13921]: send (^M)
Apr  7 20:49:55 host-2 pppd[13918]: Serial connection established.
Apr  7 20:49:55 host-2 pppd[13918]: Using interface ppp0
Apr  7 20:49:55 host-2 pppd[13918]: Connect: ppp0 <--> /dev/ttyACM0
Apr  7 20:50:29 host-2 pppd[13918]: LCP: timeout sending Config-Requests
Apr  7 20:50:30 host-2 pppd[13918]: Connection terminated.
Apr  7 20:50:31 host-2 pppd[13918]: Modem hangup
Пробовал разные режимы, все та же ошибка соединения, но это все равно прогресс, раньше не было даже попыток законектиться !

версия 743, здесь какие-то глюки вот лог gprs1:

Apr  7 20:36:34 host-2 kernel: [ 4347.039612] PPP generic driver version 2.4.2   
Apr  7 20:36:34 host-2 pppd[11693]: pppd 2.4.4 started by root, uid 0             
Apr  7 20:36:35 host-2 chat[11698]: abort on (BUSY)                               
Apr  7 20:36:35 host-2 chat[11698]: abort on (NO ANSWER)                         
Apr  7 20:36:35 host-2 chat[11698]: abort on (RINGING)                           
Apr  7 20:36:35 host-2 chat[11698]: abort on (NO CARIER)                         
Apr  7 20:36:35 host-2 chat[11698]: abort on (NO DIALTONE)                       
Apr  7 20:36:35 host-2 chat[11698]: abort on (DELAYED)                           
Apr  7 20:36:35 host-2 chat[11698]: abort on (VOICE)                             
Apr  7 20:36:35 host-2 chat[11698]: abort on (ERROR)                             
Apr  7 20:36:35 host-2 chat[11698]: abort on (RINGING)                           
Apr  7 20:36:35 host-2 chat[11698]: timeout set to 30 seconds                     
Apr  7 20:36:35 host-2 chat[11698]: send (ATZ^M)                                 
Apr  7 20:36:35 host-2 chat[11698]: timeout set to 30 seconds                     
Apr  7 20:36:35 host-2 chat[11698]: expect (OK)                                   
Apr  7 20:36:36 host-2 chat[11698]: ATZ^M^M                                       
Apr  7 20:36:36 host-2 chat[11698]: OK                                           
Apr  7 20:36:36 host-2 chat[11698]:  -- got it                                   
Apr  7 20:36:36 host-2 chat[11698]: send (ATE1^M)                                 
Apr  7 20:36:36 host-2 chat[11698]: timeout set to 30 seconds                     
Apr  7 20:36:36 host-2 chat[11698]: expect (OK)                                   
Apr  7 20:36:36 host-2 chat[11698]: ^M                                           
Apr  7 20:36:36 host-2 chat[11698]: ATE1^M^M                                     
Apr  7 20:36:36 host-2 chat[11698]: OK                                           
Apr  7 20:36:36 host-2 chat[11698]:  -- got it                                   
Apr  7 20:36:36 host-2 chat[11698]: send (AT+CGDCONT=1,IP,internet.beeline.ru TIMEOUT^M)                                                                           
Apr  7 20:36:36 host-2 chat[11698]: expect (30)                                   
Apr  7 20:36:36 host-2 chat[11698]: ^M                                           
Apr  7 20:36:36 host-2 chat[11698]: AT+CGDCONT=1,IP,internet.beeline.ru TIMEOUT^M^M                                                                                 
Apr  7 20:36:36 host-2 chat[11698]: ERROR                                         
Apr  7 20:36:36 host-2 chat[11698]:  -- failed                                   
Apr  7 20:36:36 host-2 chat[11698]: Failed (ERROR)                               
Apr  7 20:36:36 host-2 pppd[11693]: Connect script failed                         
Apr  7 20:36:37 host-2 pppd[11693]: Modem hangup                                 
Apr  7 20:36:37 host-2 pppd[11693]: Connection terminated. 

Пробовал разные режимы, все в одном стиле.

PS Еще чуть-чуть допилить 711 и дело в шляпе  :)

Оффлайн Balbes

  • alt linux team
  • ***
  • Сообщений: 914
711 - работает, да же время конекта показывает, сколько висиш на линии.  :)
743 - не конектится,
сравнил логи у 711 и 743 - похоже 743 пытается АРН передать без кавычек и на этом error.
посмотрел кнопку тест - действительно срабатывает не всегда - часто пишет что порт есть, но открыть не могу.
 заметил, что если перед эти ткнуть в кнопку скрипта отключить, то чаще вылезает нормальное сообщение, что тест нормальный.

kostyalamer

LCP: timeout sending Config-Requests

Попробуй другие профили GPRS (без сжатия).
 у меня в логах на этом месте идет уже получение IP-адреса .

kostyalamer

  • Гость
Пробовал, все профили начиная с dial-up

Оффлайн KPETuH

  • Участник
  • *
  • Сообщений: 1 162
    • SG
Я получаю так из терминала так:
#echo AT > /dev/modem;cat /dev/modem|grep OK > /tmp/test123|sleep 1|kill -9 `ps ax|grep 'cat /dev/modem''|grep -v grep|awk '{print(\$1)}'`
И в файле /tmp/test123 появляется OK...
Как это упростить - не знаю...
пример
## [interfaces] - возвращает список {имя1 мак-адрес1 имя2 мак-адрес2 ... }
proc interfaces {} {
    set result [list]
    foreach {_ ifname ifaddr} \
[regexp -all -inline {(?nx)
   # Расширенный синтаксис, newline-sensitive
   # У строчек с тем, что нам надо,
   # первый символ строки - буквенный
   # и имя интерфейса вначале
   ^(\w+)
   # потом идёт всякая ерунда до HWaddr
   .*
   # а после слова HWaddr
   \m HWaddr
   # и пробела (а может, и других пробельных символов
   \s+
   # начинается адрес
   (
    # который состоит из
    (?:
     # пары шестнадцатеричных цифр и двоеточия
     [[:xdigit:]]{2} :
     )
    {5}
    # и так пять раз
    # и ещё пары шестнадцатеричных цифр
    [[:xdigit:]]{2}
    )
} [exec /sbin/ifconfig] ] \
{
   lappend result $ifname $ifaddr
}
    return $result
}
puts [interfaces]
Мой небосклон и чист, и ясен,
И полон радужных картин...  Не потому что мир прекрасен,  А потому, что я - KPETuH

Оффлайн Balbes

  • alt linux team
  • ***
  • Сообщений: 914
Пробовал, все профили начиная с dial-up
Смотрю пробиваешся на билайн, тогда пробуй еще другую точку доступа - хомбилайн, тут многое может зависеть от тарифа на симке и местных настроек сети. Кстати, а тариф активирован для работы с инетом, вообще у билайна часто проблемы с симками\тарифами - в телефоне работает в usb-модеме нет и наоборот, бывает что новые симки вообще не работают с интернетом - просто глухо не подключаются и все. Для чистоты лучше попробовать разных операторов. Имя и пароль для билайна правильно задаешь ?

Очередные пожелания :
- добавить выбор номера дозвона из списка, в разных местах для одного оператора могут срабатывать разные номера, где *99#   *99***#   *99***1# или другие , и оставить ручное редактирование.
- логин и пароль у операторов в разных местах может быть разный (точно не скажу, надо лазить по сайтам ОПСОСов и смотреть) и надо подумать как тут лучше сделать

п.с. Надыбал несколько мобильных телефонов и разных симок - как будет возможность, попробую поиграть с ними.  ;)

Оффлайн YYY

  • Мастер
  • ***
  • Сообщений: 6 046
Не... Проверка нужна еще до того как интерфейс поднят.
Например, пользователь ошибся при указании порта модема.
Он на com2 а пользователь указал com1
Тот и тот файл в dev есть. Например на com1 мышка висит
Но если модему отправить команду "AT" - он ответит "ОК", а мышка не ответит.
Вот получение этого "ОК" и оказалось сложной вещью...

Оффлайн YYY

  • Мастер
  • ***
  • Сообщений: 6 046
Версия 711 почти соединилось, на табло телефона загорается :1) устанавливается соединение 2) ошибка соединения, обратитесь к оператору. вот лог режим gprs1:
Apr  7 20:49:52 host-2 pppd[13918]: pppd 2.4.4 started by root, uid 0             
Apr  7 20:49:55 host-2 pppd[13918]: Serial connection established.
Apr  7 20:49:55 host-2 pppd[13918]: Using interface ppp0
Apr  7 20:49:55 host-2 pppd[13918]: Connect: ppp0 <--> /dev/ttyACM0
Apr  7 20:50:29 host-2 pppd[13918]: LCP: timeout sending Config-Requests
Apr  7 20:50:30 host-2 pppd[13918]: Connection terminated.
Apr  7 20:50:31 host-2 pppd[13918]: Modem hangup
Пробовал разные режимы, все та же ошибка соединения, но это все равно прогресс, раньше не было даже попыток законектиться !
Вообще судя по гуглу ошибку "LCP: timeout sending Config-Requests" люди устраняют шаманскими плясками - единого решения не гуглится.
Попробую поискать еще и сделать спец. профиль.

Оффлайн KPETuH

  • Участник
  • *
  • Сообщений: 1 162
    • SG
Не... Проверка нужна еще до того как интерфейс поднят.
Например, пользователь ошибся при указании порта модема.
Он на com2 а пользователь указал com1
Тот и тот файл в dev есть. Например на com1 мышка висит
Но если модему отправить команду "AT" - он ответит "ОК", а мышка не ответит.
Вот получение этого "ОК" и оказалось сложной вещью...
не совсем понимаю в чем сложность?
Мой небосклон и чист, и ясен,
И полон радужных картин...  Не потому что мир прекрасен,  А потому, что я - KPETuH

Оффлайн YYY

  • Мастер
  • ***
  • Сообщений: 6 046
Очередные пожелания :
- логин и пароль у операторов в разных местах может быть разный (точно не скажу, надо лазить по сайтам ОПСОСов и смотреть) и надо подумать как тут лучше сделать
А разве при GPRS они нужны?
Я тут уже кучу статей пересмотрел и наших и буржуйских - никто вроде не передает...

Оффлайн YYY

  • Мастер
  • ***
  • Сообщений: 6 046
не совсем понимаю в чем сложность?
Послать команду модему легко
#echo AT >/dev/modem
Но ответ от него таким образом не получить (в отличии от доса).
При ручной проверке это не проблема - 2 консоли используешь - на одной отправил на другой получил.
Но надо то в скрипте...

Оффлайн KPETuH

  • Участник
  • *
  • Сообщений: 1 162
    • SG
все равно не понимаю вашей проблемы ), в чем сложность?
Мой небосклон и чист, и ясен,
И полон радужных картин...  Не потому что мир прекрасен,  А потому, что я - KPETuH