Подключение Ubuntu к Интернету через мобильный телефон

26.02.2009
Новиков Максим Глебович

Содержание

  1. Вступление
  2. Настройка wvdial
  3. Частые ошибки при подключении Интернета через модем
  4. Графический интерфейс для wvdial — GNOME PPP

Вступление

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

Настройки самого мобильного телефона мы не рассматриваем. Как правило, их можно найти на сайте вашего сотового оператора. Они не зависят от операционной системы, с помощью которой осуществляется выход в Интернет, и, как правило, одинаковы для всех моделей мобильных телефонов.

Мобильный телефон можно соединить с компьютером несколькими различными способами: через вай-фай, блю туз, инфракрасный порт, кабель USB или COM порта. Мы рассмотрим подключение через USB-кабель. Сделать это в Убунту даже проще, чем в Виндоус. Не надо даже ставить драйвер USB-кабеля, превращающего его в дополнительный COM-порт. Кабель определяется самостоятельно при физическом подключении, а телефон и часть его модемных настроек — при запуске соответствующей утилиты wvdialconf. Ниже всё это описано более подробно.

[Вернуться в начало]

Настройка wvdial

Вообще в Ubuntu существует штатная утилита NetworkManager, в которой предусмотрен необходимый функционал для подключения Интернета через мобильный телефон, но эта утилита всё ещё не работает как положено, и проще настроить соединение через wvdial. Единственная польза, которую мы можем извлечь из NetworkManager — это информация о специфичных настройках для разных сотовых операторов, которые автоматически подставляются в соответствующие поля в процессе её настройки, избавляя от необходимости лезть за ними на сайт сотового оператора.

Итак, методика настройки утилиты wvdial для подключения к Интернету через мобильный телефон:

  1. Берём USB-кабель, подходящий к вашему телефону и подключаем его к компьютеру. Ubuntu опознаёт это устройство как ttyUSBх, где х — номер USB-устройства в системе. Если других устройств нет, то это будет цифра ноль. Напомню, что список опознанных Ubuntu устройств можно увидеть в папке /dev в виде списка файлов. Другой конец кабеля подключаем к включенному телефону.
     
  2. Открываем «Система → Администрирование → Программа управления пакетами Synaptic» и устанавливаем пакет wvdial, если он ещё не установлен. Эта программа осуществляет управление модемами, и организует соединение с Интернетом по протоколу ppp. Телефон в нашем случае как раз и используется компьютером в качестве модема.
     
  3. Теперь открываем терминал суперпользователя и запускаем утилиту wvdialconf, набрав её имя в командной строке и нажав ввод. Можно запустить утилиту и в обычном терминале, предварив её имя командой sudo и введя на запрос пароля ваш системный пароль. Далее мы будем описывать работу в терминале суперпользователя, но имейте ввиду, что всё то же самое можно сделать и в обычном терминале с помощью команды sudo для консольных приложений и команды gksudo для графических.
    Итак, после запуска утилита wvdialconf просканирует порты компьютера в поисках модема. Затем она определяет максимальную скорость интерфейса компьютер-модем. Эта скорость ограничивается, как правило, пропускной способностью соединительного кабеля и портом телефона, и выбирается из следующих значений: 4800, 9600, 19200, 38400, 57600, 115200, 230400, 460800 или 921600 бит в секунду. Также этой утилитой определяется имя файла, соответствующее найденному модему, например /dev/ttyUSB. Затем вся полученная информация записывается в конфигурационный файл /etc/wvdial.conf.
    Внимание! Если вы запустите утилиту сканирования не в терминале суперпользователя, а в обычном терминале без префикса sudo, то она не сможет записать найденную информацию в конфигурационный файл /etc/wvdial.conf, поскольку права доступа к этому файлу позволяют запись туда только от имени суперпользователя.
      
  4. Запускаем редактор gedit от имени суперпользователя и открываем в нём конфигурационный файл. Для этого в терминале суперпользователя набираем:

    gedit /etc/wvdial.conf

  5. Добавляем в файл строку инициализации, предоставляемую вашим сотовым оператором для настройки модема. Например, для Мегафон-Москва это:

    Init3 = AT+CGDCONT=1,"IP","internet"

    а также снимаем комментарии со строчек Phone, Username и Password, и заполняем их значениями, предоставляемыми также вашим сотовым оператором. Для Мегафон-Москва это:

    Phone = *99***1#
    Username = gdata
    Password = gdata


    Сохраняем изменения.

    В итоге, в случае подключения к оператору Мегафон-Москва, у вас должно получиться что-то типа этого:

    [Dialer Defaults]
    Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
    Modem Type = Analog Modem
    Phone = *99***1#
    ISDN = 0
    Username = gdata
    Init1 = ATZ
    Password = gdata
    Modem = /dev/ttyUSB0
    Baud = 230400
    Init3 = AT+CGDCONT=1,"IP","internet"

     
    Если у вас несколько модемов, то в этом файле можно хранить несколько конфигураций. Тогда вместо слова Defaults в названии каждой конфигурации следует указать имя соответствующего соединения, которое потом придётся указывать при дозвоне.
     
  6. Теперь откроем себе права для доступа к управлению модемными Интернет-соединениями. Для этого открываем «Система → Администрирование → Пользователи и группы», ставим курсор на вашу учётную запись и нажимаем кнопку «Разблокировать». Набираем свой пароль, авторизовываемся и нажимаем на кнопку «Свойства». Открываем вкладку «Привилегии пользователя» и ставим галочки напротив строчек «Использовать модемы» и «Соединяться с Интернет, используя модем». Заодно можете разрешить себе все остальные привелегии :-) Теперь всё сохраняем и закрываем. Чтобы изменения привелегий вступили в силу, перезагружаемся.

Теперь, чтобы подключиться к Интернету, достаточно набрать в терминале wvdial (или wvdial имя_конфигурации, если в файле конфигурации вместо слова Defaults вы указали конкретное имя). Для отключения достаточно 1 раз нажать Ctrl+c.

Всё бы ничего, но или в программе wvdial или в управлении пользователями и группами в Ubuntu что-то видимо напутано с правами, и если мы соединяемся из-под пользователя даже с включенными привилегиями «Использовать модемы» и «Соединяться с Интернет, используя модем», программа ругается на отсутствие прав доступа к файлам /etc/ppp/pap-secrets и /etc/ppp/chap-secrets, в которых хранятся пароли и другие важные настройки. Выход — запускать wvdial с правами суперпользователя командой sudo wvdial.

[Вернуться в начало]

Частые ошибки при подключении Интернета через модем

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

  1. Во время попытки соединения в терминал выводятся фразы:

    --> Warning: Could not modify /etc/ppp/pap-secrets: Permission denied
    --> --> PAP (Password Authentication Protocol) may be flaky.
    --> Warning: Could not modify /etc/ppp/chap-secrets: Permission denied
    --> --> CHAP (Challenge Handshake) may be flaky.


    Это означает, что вы пытаетесь соединиться не от имени суперпользователя. Запустите команду с префиксом sudo или наберите её в терминале суперпользователя.
     
  2. Во время попытки соединения в терминал выводятся фразы:

    --> Unable to run /usr/sbin/pppd.
    --> Check permissions, or specify a "PPPD Path" option in wvdial.conf.


    Это означает, что вы не установили себе привилегию «Соединяться с Интернет, используя модем». Смотрите пункт 6 вышеизложенной методики подключения. Кроме того, в связи с уже описанной выше путаницей с правами, следует запускать модемное соединение с Интернетом от имени суперпользователя.
     
  3. При попытке соединения в терминале выводится

    --> Cannot open /dev/ttyUSB0: Permission denied

    Это означает, что вы не установили себе привилегию «Использовать модемы». Смотрите пункт 6 вышеизложенной методики подключения. Кроме того, в связи с уже описанной выше путаницей с правами, следует запускать модемное соединение с Интернетом от имени суперпользователя.
    Также такая ошибка появляется ещё при попытке подключиться к уже занятому подключением или ещё не освободившемуся устройству.
     
  4. При попытке соединения телефон начинает соединяется, но через несколько секунд следует обрыв связи с сообщением

    --> The PPP daemon has died: A modem hung up the phone (exit code = 16)

    Это обычно происходит при неправильной или отсутствующей строке инициализации. Проверьте файл /etc/wvdial.conf, сверяясь с пунктом 5 вышеизложенной методики подключения и данными, выданными для настройки модема вашим оператором сотовой связи.
     
  5. Соединение не устанавливается, в терминале выводится

    --> Modem not responding.

    Это происходит, если у вас в конфигурационном файле слишком завышен параметр Baud, определяющий скорость передачи данных между компьютером и телефоном. Возможно, ваш кабель не справляется с такой скоростью. Попробуйте вписать туда значение 57600 или ниже. Кроме того, у вас может быть плохой контакт между кабелем и телефоном.

[Вернуться в начало]

Графический интерфейс для wvdial — GNOME PPP.

Для облегчения настройки и дозвона для утилиты wvdial существует программа, реализующая для неё графический интерфейс. Программа называется GNOME PPP. Открываем «Система → Администрирование → Программа управления пакетами Synaptic», находим её и устанавливаем. Поскольку она является лишь оболочкой для утилиты wvdial, то для неё справедливо всё то, что было сказано про саму утилиту, а именно — запускать её придётся от имени суперпользователя. Для этого находим её в меню: «Приложения → Интернет → GNOME PPP», щёлкаем на ней правой кнопкой мыши и в контекстном меню выбираем пункт «Добавить эту кнопку запуска на панель». Затем щёлкаем на появившемся в панели значке программы правой кнопкой мыши, и в контекстном меню выбираем «Свойства». Здесь нас интересует поле «Команда». Перед командой запуска gnome-ppp вписываем команду запуска графического приложения от имени суперпользователя — gksudo. В итоге это поле должно выглядеть так: gksudo gnome-ppp. Закрываем окно и нажимаем на нашу кнопку. Графическая оболочка запустится. Теперь надо её настроить.

  1. Имя пользователя — вбиваем значение, которое мы подставляли в конфигурационный файл в строку Username. Для Мегафон-Москва это gdata.
    Пароль — вбиваем значение, которое мы подставляли в конфигурационный файл в строку Password. Для Мегафон-Москва это gdata. Устанавливаем галочку «Запомнить пароль»
    Номер телефона — вбиваем значение, которое мы подставляли в конфигурационный файл в строку Phone. Для Мегафон-Москва это *99***1#
     
  2. Нажимаем кнопку «Настройка». В поле «Устройство» выбираем определённый ранее /dev/ttyUSB0, или нажимаем кнопку «Определить» для автоматического определения.

    Тип — аналоговый модем.
    Скорость — установим определившуюся ранее утилитой wvdialconf
    Способ набора — тональный.
    Громкость динамика — динамик отключен.
     
  3. Далее нажимаем кнопку «Строки инициализации» и вписываем в строчку «Init 3» строку инициализации, выданную оператором сотовой связи, например AT+CGDCONT=1,"IP","internet" для Мегафон-Москва. Важно! После ввода строки выйдете из режима её редактирования, нажав стрелку вниз или щёлкнув по нижней строке. Иначе при закрытии окна строка не сохраниться, и соединение будет отключаться через несколько секунд после объявления программы о соединении. В журнале можно будет прочесть сообщение об ошибке:

    --> The PPP daemon has died: A modem hung up the phone (exit code = 16)

     
  4. Закрываем все настройки, и в основном окне программы нажимаем кнопку «Соединить». В процессе соединения можно нажать на кнопку «Журнал» и посмотреть, что происходит в это время под оболочкой. После объявлении о соединении можно открывать браузер и лезть в Интернет.

Если соединение не будет происходить как положено, нажмите кнопку «Журнал» и почитайте сообщения об ошибках. Некоторые из них рассмотрены в этой статье выше в соответствующей главе.

[Вернуться в начало]
[Оставить отзыв в гостевой]
Hosted by uCoz