GPRS + ME45 и Linux..

Линукс - это здорово. У меня работает.. При наличии времени распишу как..
21.02.2003

Вот время и появилось...:-)
Запустить GPRS под линуксом довольно несложно. Есть масса разных вариантов в инете, как это сделать. Не претендуя на особую оригинальность, расскажу как это сделал я. Я не стал пока парится с ИРДА, учитывая наличие КОМ-шнурка. Так проще и надежнее.
И так.. Ядро 2.2.х, chat и pppd подразумеваются установленными. По большому счету особых отличий от обычного модемного соединениия нет. Отличаются детали. И так. Создаем файлы со следующим содержанием:

/etc/ppp/peers/gprs-connect-chat:

#!/bin/sh
# chat-gprs-connect
# The actual chat script:
exec chat \
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 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." \
SAY "\nIf the following ppp negotiations fail,\n" \
SAY "try restarting the phone.\n"
#

/etc/ppp/peers/gprs-connect-chat:

#!/bin/sh
# chat-gprs-disconnect
exec /usr/sbin/chat -V -s -S \
ABORT "BUSY" \
ABORT "ERROR" \
ABORT "NO DIALTONE" \
SAY "\nSending break to the modem\n" \
"" "\K" \
"" "+++ATH" \
SAY "\nPDP context detached\n"
#

/etc/ppp/peers/gprs:

# Serial cable pppd options for GPRS phone
nodetach
debug
show-password
connect /etc/ppp/peers/gprs-connect-chat
disconnect /etc/ppp/peers/gprs-disconnect-chat
/dev/ttyS0 # COM1
#/dev/ttyS1 # COM2
115200
crtscts
local
noipdefault
ipcp-accept-local
defaultroute
usepeerdns
# ppp compression
novj
nobsdcomp
novjccomp
nopcomp
noaccomp
#
noauth
user "mts"

/etc/ppp/pap-secrets:

# Secrets for authentication using PAP
# client server secret IP addresses
mts * mts *


Теперь касаемо ДНС. Если РРР стек телефона может получать ДНС с сервера GPRS и скрипт /etc/ppp/ip-up может правильно отрабатывать полученную информацию от pppd, то ставим параметр usepeerdns в /etc/ppp/peers/gprs. С этим параметром полученная информация сохраняется в файле /etc/ppp/resolv.conf.
/etc/ppp/resolv.conf:

#
nameserver 213.87.0.1
nameserver 213.87.1.1
#

Если такой финт не прокатывает - тогда добавьте эти строки в /etc/resolv.conf. Заодно проверьте, что /etc/host.conf содержит строчку "order hosts,bind".

Вроде все... Коннектим шнурком телефон к компорту. Как root даем команду    pppd call gprs    и наблюдаем  вывод.
Оччень полезная информация об установлении коннекта. Можно контролировать, на какой стадии происходят проблемы.. Вот например, сегодня очень часто не получается получить ИП адрес из пула МТС, видимо, весь исчерпался на момент коннекта.
Потом вам этот дебаг-мусор надоест, и тогда можно параметр debug закомментировать. Был еще один момент, связанный с дефолтовым маршрутом. В моем случае дефолтовый шлюз был в локалку перед коннктом к GPRS. Я написал короткий скриптик, который перед вызовом pppd убивал дефолтовый шлюз. После завершения коннекта восстанавливал локальный дефолтовый шлюз в скрипте /etc/ppp/ip-down.local

Вот и все..потратил полчаса на пользу народу. Продолжаем следить за бредом в форуме и вылавливать интересные мысли и идеи..Как надоели эти халявщики.. Все вопросы в почту, хотя я не уверен, что будет время отвечать.

1.03.03

На первую страницу


Компания "Sn00per СНГ Лимитед".
Мы специализируемся на помощи народу от произвола производителей, бэсплатно.
Hosted by uCoz