Ключевые слова:gprs, modem, mobile, freebsd, linux, ppp, (найти похожие документы)
From: forum.siemens-club.ru
Date: Mon, 9 Dec 2007 14:31:37 +0000 (UTC)
Subject: Подключение по GPRS через телефон SIEMENS под Linux и FreeBSD
Оригинал: http://forum.siemens-club.ru/viewtopic.php?TopicID=24752
Имеем:
1)COM-шнур для 35 серии и USB-шнур от компании Mobile Action
(эмулирующий COM) - настроил на обоих шнурках.
2)Подключение к MTC.
3)Siemens Me45
Для подключения вам необходима софтина - GPRS_Easy_Connect
ВСЕ ДЕЙСТВИЯ ПОД ROOT, включая вход в сеть.
Устанавливаем из коммандной строки. Самое простое через Midnight
Commander - просто выбираем файл (естественно предворительно
распаковав) жмём Enter... установка пошла. Если вдруг вам задаётся
вопрос: "Хотите ли вы продолжить установку в консольном режиме?",
это означает, что у вас не установлен пакет Perl-TK-800.023-9mdk
(пример из Mandrake9.0 в других дистрибутивах название пакета может
быть другое), возможно, при установке выше написанного пакета, для
удовлетворения зависимости нужно будет установить ещё некоторые
рпмки.
Запускаем консольку и пишем команду "gprsec", делаем необходимые
настройки, жмём "Connect". Всё, вы в сети.
Если вы работаете в Mandrake, то возможна следущая ситуация: в сеть
входите, а данные не передаются. Для решения этой проблемы,
запускаем drakfirewall и ставим галочку напротив "Все"(ALL) -
проблема решена.
!!!Для MTC и BeeLine есть предустановки, а вот для MegaFon придётся
всё зделать "ручками". Врубаем GPRSEC лезем в установки и для
удобства делаем все настройки под MTC, далее запускаем
MidnightCommander и шагаем в /root/gprsec, далее правим файлы
EasyConfig.config и chat, заменяя значания MTC'овские на
Мегафоновские. После описанных действий ни в коем случее не
заходите в настройки GPRSEC (имею ввиду через его интерфейс), а то
придётся повторить всё заново.
Вариант 2:
Значит так, IRDA я под LINUX запустил вообще с помощью KPPP!всё это
свершилось после почти бессоной недели за LINUX! ВСё горе началось с
того, что мыша и IRDA прерывания не поделили. Но при этом IRDA
худо-бедно работала.Это было для меня большой загадкой,где я потерял
много времени. Пришлось мою маму (PC partner) доделывать... Она у меня
вообще на творчество расчитана [smiley.gif] ,короче, PS/2 я сделал и
на него мышу повесил..т.к. на COM1 тоже отказалась работать.У кого
будут глюки с подобной мамой-обращайтесь,что знаю про их доработку,
тем поделюсь,но это уже тема другого форума!
PPPD тоже отказалась работать со скриптами на отказ!В скриптах были
кое-какие неувязки с путями Mandrake 9.1 rus. После решения всех
проблем с путями, ошибка:
"sh: line 1: /etc/ppp/peers/gprs-connect-chat: Permission denied
Connect script failed"
сменилась на:
": bad interpreter: No such file or directorysh
Connect script failed "
что мало облегчило жизнь...я сдался..и решил настройку с PPPd временно
отложить
Про прогу,которая "EASY CONNECT.." вообще промолчу,даже когда WVDIAL ,
KPPP нормально работали,то "эта" вообще отказалась телефон граммотно
инициализировать
В общем, дозвонился наконец WVDIAL следующим образом:
установил wvdial
сделал файл /etc/wvdial.conf следующего содержания:
[Dialer Defaults]
# Порт, к которому подсоединен телефон
Modem = /dev/ircomm1#поскольку IRDA висит у
#меня на ttyS1 (COM2)
# Скорость порта
Baud = 115200
# Строка инициализации модема
Init1 = ATZ
# Строка инициализации для использования GPRS
Init2 = AT+CGDCONT=1,"IP","internet.beeline.ru"
# Номер, по которому осуществляется соединение
Phone = *99#
# Имя пользователя
Username = beeline
# Пароль
Password = beeline
в файл /etc/resolv.conf нужно добавить номера DNS вашего провайдера.
Например для BEELINE моего региона он выглядет так:
nameserver 217.118.066.243
nameserver 217.118.066.244
в консоли так и пишем $wvdial.у меня получилось!Естественно IRDA
перед всеми этими манипуляциями должна быть настроена!Т.е. если вы
считаете, что вроде бы ваша IRDA работает, то не поленитесь, запустите
$irdadump. Там должно быть что-то где-то похожее на имя вашей модельки
телефона.
НАСТРОЙКА KPPP.
Когда начал настраивать, то почти сразу же угодил на свои же грабли
Вся фишка в том, что резольвер использует один и тот же файл
/etc/resolv.conf , для всяких программулек подключения...а мы его
только что редактировали... Т.е. нужно перед тем как
юзать KPPP удалить продукты жизнидеятельности wvdial!!!А то
дозвониться дозвонимся, а данные не пойдут (я начал было грешить на
firewall). KPPP в этом же файле создаст ещё одни адреса, но уже с
комментарием #kppp temp.
Ещё заметка.В доступных устройствах KPPP нет таких устройст как
/dev/ircommX.Я вышел из ситуации так: в консоли удалил ссылку на
/dev/modem так:
$rm /dev/modem
потом создал свою на требуемое устройство:
$ln -s /dev/ircomm1 /dev/modem
Внимание!!! Ещё раз предупреждаю,что моя IRDA висит фактически на
ttyS1 (COM2),т.е. все адреса портов, при опоре на мое руководство
придётся под себя переделать!Какие порты ... соответствуют LINUX
найдете в любой книжке.
Далле все настройки для своего оператора знаете сами лучше меня!В
настройках команд модема KPPP укажите вторую строку инициализации как:
AT+CGDCONT=1,"IP","internet.beeline.ru"
DNS адреса тоже знаете.Больше вроде ничего не менял..Если, что не так,
то пишите-обсудим все вместе!
HARD такой использовал:
-телефон NOKIA 8310
-IRDA самопальная на м/с HSDL 1100,подрубал через IR-connector на
"бесценной" MB PC-PARTNER!
Вариант 3.
все делается за 15 минут и будет работать под любой версией линуха.
Поехали!
если коннестимся через ИРДу, сначала инитим ее
( использовался текрам 210 )
cat /sbin/irda_init
modprobe tekram
modprobe irport io=0x2f8 irq=3
/bin/setserial /dev/ttyS1 uart 16550 port 0x2F8 irq 3
irattach /dev/ttyS1 -d tekram -s
ок, ирду подняли, соединение (примерчик для МТС) устанавливаем таким
скриптиком, под рутом ессно
мобила использовалась МЕ45i
Скрипт /sbin/mts_gprs_irda
#!/bin/sh
DIALTIMEOUT=20
# если мобильник подцеплен к COM1 а не к IR, заменить в скрипте ircomm0 на ttyS0
MODEM=ircomm1 SPEED=115200
MODEM_INIT='AT+CGDCONT=1,\"IP\",\"internet.mts.ru\" OK'
IH_IP=" ipcp-accept-local ipcp-accept-remote noipdefault debug usepeerdns user mts novj nobsdcomp novjccomp nopcomp noaccomp"
LOGSCRIPT="CONNECT"
PHONE="*99***1#"
# перед запуском pppd удаляет default router, по окончании - восстанавливает
# Более корректно было бы вставить эти действия в /etc/ppp/ip-up.local и /etc/ppp/ip-down.local
DR=`route -n | egrep '^0.0.0.0'| grep -v ppp | sed 's/^[^ ]* *\([^ ]*\) .*/default gw \1/'` ;
if [ -n "$DR" ] ; then
trap "echo route add $DR ; route add $DR ; exit" 2 3 9 15
route delete $DR
echo route delete $DR
fi
## При обрыве соединения pppd перезапускается
while true ; do
pppd \
connect 'chat -v ABORT "NO DIALTONE" ABORT "NO CARRIER" ABORT BUSY "" '"$MODEM_INIT"' ATDP'$PHONE' '"$LOGSCRIPT"' ;' \
crtscts defaultroute modem -detach mru 1500 \
$NASH_IP:$IH_IP /dev/$MODEM $SPEED
sleep $DIALTIMEOUT
done
разрываем соединение по Ctrl-C
Вариант 4.
Настройка GPRS соединения под OS FreeBSD и Linux.
Сначала вкратце о том что я использовал для подключения:
OS: FreeBSD 4.5 используя включенные в дистрибутив программу ppp и
демон pppd, SuSE Linux 8.0. Телефон: Siemens ME45. Нижеописанное,
справедливо так же для телефонов Motorola.
С подключением, используя инфракрасный порт, не разбирался (из-за
отсутствия такового у меня на PC) так что смело подключаем телефон к
COM порту (я использовал COM 1 порт). Теперь, все что остается - это
прописать необходимые параметры в файлах конфигурации.
Если Вы используете OS FreeBSD, то для того, чтобы установить
соединение существует по крайней мере 2 способа.
1. В директории /etc/ppp правим файл ppp.conf. Вот пример моего ppp.conf:
default:
set log Phase Chat LCP IPCP CCP tun command
ident user-ppp VERSION (built COMPILATIONDATE)
set device /dev/cuaa0
set speed 57600
set timeout 0
enable dns
disable pred1
deny pred1
disable lqr
deny lqr
set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \
\"\" AT OK-AT-OK ATE1Q0 OK \
AT+CGDCONT=1,\\\"IP\\\",\\\"internet.beeline.ru\\\",\\\"0.0.0.0\\\",0,0 OK \\ AT+CGATT=1 OK \\dATDT\\T TIMEOUT 40 CONNECT"
set logout "ABORT BUSY ABORT ERROR TIMEOUT 30 \ \"\" +++ATH OK-ATH-OK AT+CGATT=0 OK"
set openmode active 15
set phone *99***1\#
set authname beeline
set authkey beeline
set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
add default HISADDR # Add a (sticky) default route
Если Вы являетесь абонентом МТС, то следует исправить в строке
инициализации internet.beeline.ru на internet.mts.ru, а так же
set authname beeline
set authkey beeline
на set authname mts
set authkey mts
Все! Теперь можно соединяться! Надеюсь, что Вы знаете как пользоваться
программой ppp, в противном случае читайте man ppp.
2. Теперь о том как соединиться через pppd.
В директории /etc/ppp разворачиваем примерно следующую структуру:
/etc/ppp/
chatscripts
peers
В chatscripts помещаем файлы gprs-chat и gprs-disconnect-chat.
Файл gprs-chat
ABORT 'BUSY'
ABORT 'NO ANSWER'
ABORT 'NO CARRIER'
ABORT 'NO DIALTONE'
ABORT '\nRINGING\r\n\r\nRINGING\r'
SAY "GPRS modem init: press -C to disconnect"
# Wake up the modem
#
TIMEOUT 5
'' 'AT'
OK-ATQ0V1&C1-OK 'ATE1'
ABORT 'ERROR'
TIMEOUT 12
OK 'AT&F'
OK 'AT+CMEE=2'
OK 'AT+CGDCONT=1,"IP","internet.beeline.ru","0.0.0.0",0,0'
SAY "\n + defining PDP context"
OK 'AT+CGQREQ=1,0,0,0,0,0'
SAY "\n + defining QoS requirements"
OK 'AT+CGQMIN=1,0,0,0,0,0'
# Включение GPRS.
# TIMEOUT 45
OK 'AT+CGATT=1'
SAY "\n + attaching to GPRS"
OK 'ATD*99#'
SAY "\n + requesting data connection"
CONNECT ''
SAY "\n + connected"
Файл gprs-disconnect-chat
ABORT BUSY
ABORT ERROR
ABORT 'NO DIALTONE'
TIMEOUT 30
# Get some attention
'' '+++\c'
SAY " + sending break"
# Hang up data connection
#
'' 'ATH'
SAY "\n + dropping data connection"
# Disconnect from GPRS
OK 'AT+CGATT=0'
SAY "\n + disconnecting from GPRS"
OK '\c'
SAY "\n + disconnected."
Далее в peers помещаем файл gprs
name ppp
/dev/cuaa0
# Serial port line speed and options
57600
# Control character handling
asyncmap 20A0000
escape FF
# Generic GPRS options
file /etc/ppp/gprs-options
# Chat scripts
connect "/usr/bin/chat -f /etc/ppp/chatscripts/gprs-chat"
disconnect "/usr/bin/chat -f
/etc/ppp/chatscripts/gprs-disconnect-chat"
В директории /etc/ppp помещаем файл gprs-options
####### # Change this line to 'defaultroute' if you want to use the GPRS link
# as your gateway.
defaultroute
#Comment this line out to let pppd background itself.
nodetach
# Turn this on to see all the PPP negotiations
debug
# Limit the MTU (workaround for an oddity in the VPN)
mtu 1500
# Use hardware flow conrtrol
crtscts
# Let the phone figure out all the IP addresses
noipdefault
ipcp-accept-local
ipcp-accept-remote
# No ppp compression
novj
novjccomp
# For sanity, keep a lock on the serial line
lock
Так же в /etc/ppp должен быть помещен (или отредактирован) файл pap-secrets
# Secrets for authentication using PAP
# client server secret IP addresses
beeline * beeline
Теперь все готово для соединения! Разумеется, для абонентов МТС
придется сделать некоторые корректировки, т.е. заменить везде, где
встречается "beeline" на "mts". Для запуска достаточно
дать команду pppd call gprs
Для использования под Linux годится только 2-ой способ (соединение
используя pppd) Необходимо исправить только файл gprs следующим
образом:
name ppp
/dev/ttys0
# Serial port line speed and options
57600
# Control character handling
asyncmap 20A0000
escape FF
# Generic GPRS options
file /etc/ppp/gprs-options
# Chat scripts
connect "/usr/sbin/chat -f /etc/ppp/chatscripts/gprs-chat"
disconnect "/usr/sbin/chat -f
/etc/ppp/chatscripts/gprs-disconnect-chat"
Все остальное точно так же как и под FreeBSD.
Надеюсь, что эта информация будет полезна для Вас!
Я пробовал 4 вариант, впринципи идет набор, но на телефоне поч. пишет, типа - Неподключ. услуга передачи пакетов данных, хотя из под винды ну на это телефоне рулю, где может быть ошибка, вроде весь файл перерыл ppp.conf у меня Нокиа 5200, через usb.