GPRS через KPPP

Телефон с поддержкой GPRS cегодня есть практически у каждого. Руководств по настройке GPRS-соединения в Linux тоже предостаточно, но большая часть из них ориентирована на конкретных операторов сотовой связи или не выходит за рамки mini-HOWTO. В этой статье мы постарались дать общее представление о том, что представляет собой "GPRS в Linux" и привели примерную схему действий для настройки подключения "стандартными средствами" — через KPPP

[Валентин Синицын (val AT linuxcenter DOT ru)]

С точки зрения повседневного использования сотовый телефон с поддержкой GPRS не слишком отличается от старого доброго модема на 14400 (да, и по скорости временами тоже). Значит, для подключения к "мобильному Интернету" можно использовать все привычные PPP-утилиты — ничего нового не потребуется. Впрочем, необходимо учесть кое-какие тонкости — о них мы и собираемся поговорить.

Как и всякое приличное "железо", GPRS-модем идентифицируется в системе файлом устройства в /dev. Его конкретное имя может отличаться в зависимости от дистрибутива и способа подключения: для дата-кабеля оно может называться /dev/ttyUSB0 (необходимо подгрузить драйвер используемого конвертера USB-to-Serial, чем, по сути, и является дата-кабель. Весьма распространенный вариант — pl2303, если в вашем дата-кабеле используется другая микросхема — ознакомьтесь с соответствующей секцией конфигуратора ядра Linux или поищите на форумах. В современных дистрибутивах с udev, как правило, необходим только скомпилированный модуль — все остальное, в том числе, создание файла устройства происходит автоматически), для IrDA — /dev/ircomm0, для Bluetooth &mdash /dev/rfcomm0. В двух последних случаях потребуется некоторая предварительная настройка, выходящая за рамки данной статьи — все подробности можно найти в соответствующих HOWTO.

Настройку GPRS-подключения, как уже упоминалось выше, можно произвести стандартными утилитами. Конкретные параметры можно найти на сайте вашего оператора сотовой связи, здесь же мы опишем стандартную схему действий на примере KPPP.

  • Запустите KPPP и создайте новый модем (Confugure->Modems->New). Укажите используемое имя устройства (если нужного вам имени в списке нет, создайте соответствующую символическую ссылку. Лучше делать это прямо из правил udev)
  • Перейдите на вкладку "Modem" и нажмите кнопку "Modem commands". Введите дополнительную строку инициализации вида AT+CGDCONT=1,"IP","APN_NAME". Точный вид этой строки должен быть приведен на сайте вашего оператора.
  • Проверьте модем, нажав на кнопку Query Modem. Если вы не увидите сообщения об ошибке, значит, все прошло, как надо.
  • Создайте новое подключение. В качестве телефона введите *99***1# — точный вариант, опять же, ищите на сайте оператора.
  • Теперь можно задать дополнительные аргументы pppd. Рекомендуем добавить "debug" — будете хорошо видеть, если что-то пойдет не так. Если оператор требует отключить сжатие данных — введите "связку" nodeflate + nobsdcomp; если необходимо избавиться от сжатия заголовков TCP/IP — добавьте nojv + novjccomp.
  • Отдельного упоминания заслуживает фраза: "имя пользователи и пароль не используются". Дело в том, что KPPP не позволяет оставить имя пользователя и пароль пустыми, если используется PAP-авторизация, а некоторые операторы не принимают никакие реквизиты, кроме пустой строки. Проблема решается следующим образом: откройте файл /etc/ppp/options (от имени root) и добавьте в него опцию privgroup <ваша_группа>. Это позволит вам передавать в командной строке привилегированные опции pppd, в частности, noauth. Ею и следует воспользоваться.
  • Закройте окно настроек. Введите имя пользователя и пароль (в случае, если они "не используются", ими может быть любой набор символов) и нажмите кнопку "Connect". Если все пройдет гладко, то через некоторое время KPPP свернется в трей — это значит, что подключение удалось. В противном случае проверьте файл журнала на предмет сообщений об ошибках.

[ опубликовано 25/07/2006 ]

Валентин Синицын (val AT linuxcenter DOT ru) - GPRS через KPPP   Версия для печати