Carolinus 0 9 июня, 2008 Опубликовано 9 июня, 2008 · Жалоба Здравствуйте. Пытаюсь запустить gprs-модем под uClinux. Использовал http://docs.blackfin.uclinux.org/doku.php?...clinux-dist:ppp для компиляции ядра с поддержкой ppp. Работаем с модемом с помощью chat. Скрипты для ppp: lcp-echo-failure 0 lcp-echo-interval 0 nodetach debug connect /etc/ppp/peers/mgcc /dev/ttyS1 19200 xonxoff local :10.0.0.1 noipdefault ipcp-accept-local defaultroute usepeerdns novj novjccomp nopcomp noaccomp noccp noauth user megafon для chat: #!/bin/sh /bin/chat -v \ TIMEOUT 5 \ ECHO ON \ ABORT '\nBUSY\r' \ ABORT '\nERROR\r' \ ABORT '\nNO ANSWER\r' \ ABORT '\nNO CARRIER\r' \ ABORT '\nNO DIALTONE\r' \ ABORT '\nRINGING\r\n\r\nRINGING\r' \ '' \rAT \ TIMEOUT 12 \ SAY "Press CTRL-C to close the connection at any stage!" \ SAY "\ndefining PDP context...\n" \ OK ATZ \ OK AT+CGDCONT=1,"IP","internet" \ OK ATD*99***1# \ TIMEOUT 22 \ SAY "\nwaiting for connect...\n" \ CONNECT "" \ SAY "\nConnected." \ SAY "\nIf the following ppp negotiations fail,\n" \ SAY "try restarting the phone.\n" Написаны после курения мануалки http://www.vpx.nu/dokuwiki/doku.php?id=gprs_ppp#chat_scripts На большом компе c помощью этих скриптов соединение поднимается на ура. На uClinux пытаемся работать с модемом через tip - опрашивается, отвечает. все нормально. Пытаюсь просто запустить второй скрипт - тоже все работает, естественно, команды выводятся в консоль. Я руками эмулирую модем. Но если пытаюсь дать команду pppd call megafon - просто без всяких диагностических сообщений вываливаемся в консоль. ifconfig не показывает поднятый интерфейс ppp0. Модем лампочкой тоже не моргает. Пробовал подключать к ком-порту второй компьютер с терминалом - в ком-порт вообще ничего не пишется. Эта ветка http://electronix.ru/forum/index.php?showtopic=10552 тоже ничем не помогла. Подскажите плз где я ошибся. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Harbour 0 10 июня, 2008 Опубликовано 10 июня, 2008 · Жалоба если chat'у дать -V (большое) то можно увидеть в syslog/stdout где вываливается скрипт Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Carolinus 0 10 июня, 2008 Опубликовано 10 июня, 2008 · Жалоба чат отрабатывает нормально. Но до него тут даже дело не доходит. pppd вываливается, не успевая вызвать chat Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Harbour 0 11 июня, 2008 Опубликовано 11 июня, 2008 · Жалоба 1. у pppd есть опция debug 2. ман читали ? раздел EXIT STATUS Чтение документации есть первое и необходимое действие, берем жбанчик чаю/пива/портвейна с абсентом - и от корки до корки, желательно с исходниками - вопросы отпадают сами собой, да и проф-уровень незаметно повышается ;) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Carolinus 0 11 июня, 2008 Опубликовано 11 июня, 2008 · Жалоба Спасибо, про функцию debug я знаю. а также про logfile и прочие отладочные опции. И мануалок скурил предостаточно. В той сборке uClinux, что у меня есть, не запущен syslogd и нахаляву его запустить не получилось. Так что все дебажные сообщения идут в /dev/null (( Ковыряние в исходниках показало, что затык происходит при попытке открыть устройство /dev/ppp. if (new_style_driver) { ppp_dev_fd = open("/dev/ppp", O_RDWR); ... } При конфигурировании ядра я включил: [*] Networking support <*> PPP (point-to-point protocol) support [*] PPP filtering <*> PPP support for async serial ports <*> PPP support for sync tty ports и добавил в romfs/dev/ пустой файл @ppp,c,180,0 при загрузке появляется строчка PPP generic driver version 2.4.2 Устройство /dev/ppp имеет место быть, но открыть его все равно не получается. Где я что забыл-сделал не так? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Carolinus 0 11 июня, 2008 Опубликовано 11 июня, 2008 · Жалоба короче всем спасибо за участие )) проблема решилась. файл должен называться @ppp,c,108,0 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
cpl 0 21 июня, 2008 Опубликовано 21 июня, 2008 · Жалоба короче всем спасибо за участие )) проблема решилась. файл должен называться @ppp,c,108,0 вопрос, во время сборки(компиляции) этот файл не создется ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dr_alexey 0 27 ноября, 2008 Опубликовано 27 ноября, 2008 · Жалоба Доброго времени суток! Пытаюсь запустить pppd в ucLinux (ядро 2.6.21, патч от EmbeddedArtists для проца LPC2468). В ядре включена поддержка ppp и chat, в /dev создаю устройтство ppp,c,108,0. При запуске pppd выдается сообщение: munmap of non-mmaped memory by process 138 (pppd): a0ba8600 и возвращаемся в командную строку. Скрипты для подключения и вывод терминала привожу ниже. скрипт gprs: lcp-echo-failure 0 lcp-echo-interval 0 тodetach debug connect /etc/ppp/peers/chat_connect /dev/ttyS1 19200 crtscts local :10.0.0.1 noipdefault ipcp-accept-local ipcp-accept-remote defaultroute usepeerdns nopcomp noaccomp novj novjccomp nopcomp noaccomp noauth user mts mtu 576 скрипт chat_connect: #!/bin/sh /bin/chat -v \ TIMEOUT 5 \ ECHO ON \ ABORT '\nBUSY\r' \ ABORT '\nERROR\r' \ ABORT '\nNO ANSWER\r' \ ABORT '\nNO CARRIER\r' \ ABORT '\nNO DIALTONE\r' \ ABORT '\nRINGING\r\n\r\nRINGING\r' \ '' \rAT \ TIMEOUT 12 \ SAY "Press CTRL-C to close the connection at any stage!" \ SAY "\ndefining PDP context...\n" \ OK ATZ \ OK AT+CGDCONT=1,"IP","internet.mts.ru" \ OK ATD*99***1# \ TIMEOUT 22 \ SAY "\nwaiting for connect...\n" \ CONNECT "" \ SAY "\nConnected." \ SAY "\nIf the following ppp negotiations fail,\n" \ SAY "try restarting the phone.\n" вывод терминала: # pppd call gprs munmap of non-mmaped memory by process 138 (pppd): a0ba8600 # Есть идеи, в чем проблема? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dr_alexey 0 10 декабря, 2008 Опубликовано 10 декабря, 2008 · Жалоба Спасибо Carolinus, проблема решилась. Привожу порядок действий, может кому пригодится. 1. Включаем поддержку ppp в ядре: Networking support Networking options->TCP/IP Networking, IP Tunneling Network Device support PPP PPP filtering PPP support for async serial ports Устанавливаем приложения pppd (MPPE enabled) и chat 2. Должно присутствовать устройство /dev/ppp. У меня например это делается добавлением строки ppp,c,108,0 в секцию DEVICES по адресу <путь к ядру>/vendors/EmbeddedArtists/LPC2468OEM_Board/Makefile 3. В /etc/ppp/peers создаем файлы gprs и chat_connect, в /etc/ppp файлы pap-secrets и chap-secrets: файл gprs содержимое (для модема на ttyS1 и скорости 19200, опсос mts): # Most GPRS phones don't reply LCP echo's lcp-echo-failure 0 lcp-echo-interval 0 # Debug info from pppd: debug # Serial device to which the GPRS modem is connected: /dev/ttyS1 # Serial port line speed 19200 # Hardware flow control crtscts # Use modem signal lines modem # Connect script to initialize the GPRS modem and start the connection connect '/bin/chat -v -e -V -f /etc/ppp/peers/chat_connect' # pppd must not propose any IP address to the peer! noipdefault # Accept peers idea of our local address ipcp-accept-local # Accept peers idea of its (remote) address ipcp-accept-remote # Add the ppp interface as default route to the IP routing table defaultroute # DNS servers from the modem usepeerdns # The phone is not required to authenticate noauth # Username user "mts" файл chat_connect содержимое (одной строкой!!!): SAY "\nstaring chat... \n" '' AT TIMEOUT 12 ABORT 'BUSY' ABORT 'NO CARRIER' ABORT 'VOICE' ABORT 'NO DIALTONE' ABORT 'NO ANSWER' OK ATH OK ATE1 OK 'AT+CGDCONT=1,"IP" ,"internet.mts.ru"' OK ATD*99***1# TIMEOUT 22 SAY "\nwaiting for connect... \n" CONNECT "" SAY "\nConnected." файл pap-secrets (идентичен chap-secrets) tele2 * tele2 * megafon * megafon * mts * mts * beeline * beeline * 4. Запуск соединения: pppd call gprs. Просмотр состояния соединения - ifconfig (должен появится интерфейс ppp0). P.S. На моей плате установлен проц LPC2468 без MMU-модуля и в используемом uClinux не поддерживается fork, как следствие pppd при запуске остается подцепленным к консоли, несмотря на параметр updetach. Лечится запуском pppd в фоновом режиме: pppd call gprs& P.P.S. Еще раз спасибо за помощь Carolinus Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться