Разделы:

Главная

О проекте

Загрузки

Документация:

Linux

BSD

Другие Unix

Программинг

HTML, XML...

Сервера

"Окна Закрой!"

MANы

 


GPRS+Linux=connect




Большинство пользователей мобильных телефонов уже оценили преимущества технологии пакетной передачи данных (GPRS) для доступа в Интернет как с мобильного телефона, так и с компьютера. Интернет-GPRS практически незаменим при работе с ноутбуком, КПК, и по ряду причин (свободная телефонная линия, отсутствие повременной оплаты, например) полезен для «большого» компа. Настроить Windows для работы с GPRS несложно, но как быть, если вы выбираете Linux? Читайте эту статью, и узнаете!

Как оно устроено?

Я думаю, все слышали о GPRS и многие пользуются этим очень удобным видом доступа к сети с мобильного телефона. Несомненные его преимущества — оплата за трафик и высокая скорость соединения, которая сравнима с хорошим dial-up.

Самое интересное, что вы можете разговаривать по телефону и работать в Интернете практически одновременно. Во время разговоров абонентов сотовой сети всегда есть «пустоты» в канале. Именно их и использует GPRS для передачи данных. Информация собирается в пакеты и передается в эфир, используя свободные в данный момент ресурсы голосовых каналов. Только если у оператора, к которому вы подключены, перегружены линии, то свободных голосовых каналов будет немного и скорость передачи окажется низкой.

Из-за практически постоянного подключения к сети оператор устанавливает плату не за время доступа, а за передаваемые и получаемые данные. Т.е. никакой повременки нет, и вы платите только за то, что скачали. Используемая в GPRS технология пакетной коммутации схожа с IP и Х.25 сетями — данные в источнике разделяются на пакеты и передаются по отдельности, а на приемнике собираются вместе. Маршруты следования пакетов (любой трафик IP или Х.25) могут быть разными в зависимости от свободных каналов.

Существует три класса GPRS телефонов:

•  Класс А — могут одновременно работать с данными и голосом. То есть, вы можете с кем-то болтать по телефону, и при этом закачка данных прерываться не будет.

• Класс В — могут передавать либо данные, либо голос. Одновременная работа с тем и другим не поддерживается.

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

Несмотря на все преимущества технологии GPRS, нельзя не сказать о недостатках:

1. Объем ресурсов всегда ограничен. Голос и GPRS используют одни и те же ресурсы, и если ресурсы заняты одним, то это мешает нормальной работе другого сервиса. По вполне понятным причинам преимущество у голосового трафика.

2. Пакеты отправляются разными маршрутами, и в радиопередаче могут быть большие потери, поэтому механизмы, используемые для обеспечения гарантированной доставки, могут увеличить задержки.

3. Максимальные скорости доступа пока допустимы только теоретически. Практически у меня получалось не более 5 Кбайт/с.

Что для этого нужно?

Во-первых, нужен мобильный телефон с поддержкой технологии GPRS :-). Сейчас почти все современные модели имеют поддержку GPRS, исключение составляют дешевые бюджетные модели мобилок.

Во-вторых, у вас должен быть кабель к телефону, позволяющий подключить его к компьютеру. Кабели обычно бывают с интерфейсом USB или COM. Обычно USB кабели немного дороже, но удобней комовских, так как они не занимают физический COM-порт (которого в современных материнских платах может и не быть) и позволяют подзаряжать телефон, что немаловажно, поскольку телефон ощутимо «кушает» батарею время работы в Интернет.

Вам может потребоваться пересборка ядра с указанием некоторых опций, приведенных ниже. Хотя в вашем случае это может оказаться вовсе не обязательным. Например, если у вас присутствуют все нижеперечисленные необходимые компоненты в виде модулей. Мне потребовалась пересборка ядра из-за отсутствия модуля для USB to RS-232 Adaptor'a, располагающегося на USB-кабеле. Итак, следующие опции подлежат обязательному включению (в качестве модуля или «монолитом»):

В секции Networking options->

TCP/IP networking

В секции Network device->

PPP (point-to-point protocol) support

Для USB-кабеля также необходимо:

В секции USB support->

Support for USB

В секции USB Serial Converter support->

USB Serial Converter support

USB Generic Serial Driver

USB Prolific 2303 Single Port Serial Driver

На пересборке ядра я останавливаться не буду, так как этот вопрос очень подробно освещался в нашем журнале, да и в сети подробная информация по перекомпиляции ядра тоже есть. Да и HOWTO с манами еще никто не отменял…

Перекомпилировав ядро, убедитесь, что в вашей системе установлен пакет ppp. Если он не установлен, его нужно будет установить.

Также необходимо иметь настройки GPRS вашего оператора. В этой статье я использовал настройки UMC, поскольку являюсь абонентом этой компании. Если у вас другой оператор, переделать скрипт, приведенный в статье, не составит труда. Ниже я указал, какие настройки необходимо поменять на настройки вашего оператора.

Закончив с подготовительными операциями, приступим к написанию конфигурационных скриптов.

Кодим до потери сознания…

С помощью вашего любимого текстового редактора создайте файл /sbin/umc_gprs. Это будет конфигурационный скрипт для звонилки ppp. Пишем туда следующее:

Если телефон подключен к COM2, а не к COM1, замените в скрипте ttyS0 на ttyS1, а если к USB, замените ttyS0 на ttyUSB0.

Если у вас не UMC, замените точку доступа (в приведенном примере — www.umc.ua) в строке инициализации модема.

Укажите в ней точку доступа своего оператора. В строке PHONE="*99***1#" указан номер дозвона для телефонов Siemens. Укажите номер для вашего телефона: *99# (для моделей Ericsson, Motorola, Sendo, Nokia и SonyEricsson), *99***1# (для моделей Alcatel, Handspring, LG, Panasonic, Mitsubishi, Sagem и Siemens), *99**1*1# (для моделей Samsung).

Продолжаем писать скрипт дозвона. Перед запуском pppd удаляет default router, по окончании — восстанавливает. Более корректно было бы вставить эти действия в /etc/ppp/ip-up.local и /etc/ppp/ip-down.local:

Добавим возможность перезапуска pppd при обрыве соединения, ведь мы платим за трафик, а не за время:

Немного пояснений по поводу опций, которые могут встречаться:

DIALTIMEOUT — таймаут соединения;

SPEED — скорость соединения. Если будут сбои, попробуйте ее понизить до 57600;

MODEM_INIT — строка инициализации GPRS-модема;

noipdefault — не использовать IP адрес, назначенный для данного hostname по умолчанию;

persist — восстанавливать соединение при разрыве (помните, мы платим только за трафик);

usepeerdns — получить DNS адреса от сервера (потребуется при настройке pdnsd)

user — имя пользователя;

MTU — Maximum Transmission Unit. Это максимальный размер пакета данных, который может быть передан за один физический кадр по протоколу TCP/IP. Дело в том, что данные от компьютера к компьютеру в Интернете идут не сплошным потоком, а этими самыми кадрами — пакетами строго определенного размера.

Создадим файл /etc/resolv.conf и пропишем в него primary и secondary адреса DNS сервера вашего оператора, т.е. он будет иметь следующий вид:

Все! На этом настройка, связанная с GPRS соединением, завершена. Мы вплотную приблизились к испытательной стадии. Для этого наберем в консоли:

Думаю, не стоит напоминать, что выполнять эту команду необходимо из root (в общем случае).

Итак, если все прошло успешно, через несколько секунд на экране должны появиться строчки приблизительно следующего содержания:

Если по каким-то причинам соединение не устанавливается, смотрите вывод скрипта и на основании полученной информации попытайтесь найти ошибку. Одной из возможных причин может быть т.н. неполноценный кабель. Для более детального ознакомления по вопросам выбора кабеля, а также по многим другим аспектам установки GPRS соединения рекомендую обратиться к замечательному ресурсу http://forum.siemens-club.ru.

Если же ничего из вышесказанного не помогло, то, вероятно, ваш случай требует более пристального изучения :-). Тогда пишите мне, разберемся.


Перевод: Сергей БОРМОТОВ


Партнёры и спонсоры проекта:

Все материалы сайта распространяются по лицензии GNU/GPL
© ProUNIX 2003-2009, UnixLib 2005-2009, SoftLib 2006-2009.