Ubuntu — запускаем 3G модем в консоли

Цель данной записи — показать, как в консоли найти, настроить и запустить USB модем для сетей 3G.

В качестве подопытных кроликов выступали модем ZTE MF-170 и дистрибутив Ubuntu 9.04:

dmitry@hotspot-server:/etc$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=9.04
DISTRIB_CODENAME=jaunty
DISTRIB_DESCRIPTION="Ubuntu 9.04"

(о причинах выбора столь «несвежей» версии дистрибутива я скажу ниже…)

Что крайне полезно знать про модем — какие значения vid (Vendor ID — код изготовителя) и pid (Product ID — код устройства) он принимает, когда работает в качестве модема (посмотреть их можно как на «соседнем» компьютере с Windows, так и просто нагуглить за пару минут). Для использованного мной модема значения были такие vid равен 19d2 и pid равен 0031.

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

Итак, поехали…

Часть первая — ищем сам модем!

Много современных USB-модемов для 3G сетей являются «составным USB-устройством». То есть, в таком многофункциональном «USB-свистке» присутствует как сам модем, так и виртуальный компакт-диск с драйверами и ПО, плюс, у ряда моделей — картридер, а также служебный интерфейс, который нас в данном случае не интересует вовсе. При подключении такого модема к компьютеру с Linux-ом, система изначально видит устройство, но увы, совсем не то, которое нас интересует, а именно — тот самый виртуальный CDROM. То есть, подключаем модем к компьютеру и вводим команду:

dmitry@hotspot-server:~$ lsusb
Bus 001 Device 002: ID 19d2:2000
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Как показано выше, в ответ на наш запрос система выдала список обнаруженных ей USB устройств с их идентификаторами. В ответе я выделил идентификатор только что подключенного мной модема. Красным он выделен потому, что это идентификатор не модемной части, а виртуального CDROM-а. То есть, нам нужно что-то сделать с этим устройством, чтобы оно переключилось из CDROM-а в модем.

Програмное решение для этой цели уже давно существует. Оно называется usb-modeswitch, и на сегодняшний день включено в большинство современных дистрибутивов Linux. И вот теперь, я вернусь к тому, почему был выбран такой старый дистрибутив — в дистрибутиве Ubuntu 9.04 пакет usb-modeswitch отсутствует (причем не только в числе пакетов, устанавливаемых по умолчанию, но и в репозитории). Не верите? Смотрие:

dmitry@hotspot-server:/usr/src/usb$ sudo apt-get install usb-modeswitch
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
E: Не удалось найти пакет usb-modeswitch

Очень жаль, ибо без него нам никак!

ВНИМАНИЕ: Еще раз повторюсь — речь идет именно про дистрибутив Ubuntu 9.04 (и возможно, более старые версии, но я не проверял)! Если же у вас дистрибутив Ubuntu 9.10 и новее, то описанные ниже действия по ручному скачиванию пакетов и ручной же их установке вам не нужны. Достаточно установить пакет usb-modeswitch (если он не был установлен ранее) командой, приведенной выше!

Чтож, пойдем «в обход». Поищем пакет на сервере Ubuntu — http://packages.ubuntu.com/search?keywords=usb-modeswitch. Результаты поиска показывают, что он там присутствует для версий, начиная с 9.10. Я решил взять тот, что предназначался для релиза maverick (просто версию мне захотелось посвежей — 1.1.4).

Ну, решил, так решил. Приступаем. Для начала создаем временный каталог, в который скачаем deb-пакеты для установки. Потом назначаем себя владельцем данного каталоги, и наконец переходим в него. Все это выполняют три приведенные ниже команды (с учетом того, что я в системе — пользователь dmitry):

dmitry@hotspot-server:~$ sudo mkdir /usr/src/usb
dmitry@hotspot-server:~$ sudo chown dmitry:dmitry /usr/src/usb
dmitry@hotspot-server:~$ cd /usr/src/usb

«Сакральный» смысл этого процесса заключается в том, что нам нужно скачать и установить ДВА пакета — сам usb-modeswitch (это именно программа) и usb-modeswitch-data (в этом пакете находится «база устройств» которые знает и умеет переключать программа). Проще всего установить их одновременно, одной командой, когда они расположены в одной отдельной (можно временной) папке…

После того, как каталог создан, права назначены и мы в него перешли, начинаем качать требующиеся пакеты. Первым — usb-modeswitch (хотя, ничто не мешает поменять порядко на обратный):

dmitry@hotspot-server:/usr/src/usb$ wget http://ie.archive.ubuntu.com/ubuntu/pool/main/u/usb-modeswitch/usb-modeswitch_1.1.4-1_i386.deb
--2011-01-12 14:18:54--  http://ie.archive.ubuntu.com/ubuntu/pool/main/u/usb-modeswitch/usb-modeswitch_1.1.4-1_i386.deb
Преобразование адреса ie.archive.ubuntu.com... 193.1.193.69
Устанавливается соединение с ie.archive.ubuntu.com|193.1.193.69|:80... соединились.
Запрос HTTP послан, ожидание ответа... 200 OK
Длина: 45668 (45K) [application/x-debian-package]
Сохраняется в каталог: `usb-modeswitch_1.1.4-1_i386.deb'.

100%[==============================================================================================================================>] 45.668      63,1K/s   в 0,7s

2011-01-12 14:18:55 (63,1 KB/s) - `usb-modeswitch_1.1.4-1_i386.deb' сохранён [45668/45668]

И сразу же вдогонку — второй пакет:

dmitry@hotspot-server:/usr/src/usb$ wget http://ie.archive.ubuntu.com/ubuntu/pool/main/u/usb-modeswitch-data/usb-modeswitch-data_20100826-1_all.deb
--2011-01-12 14:19:58--  http://ie.archive.ubuntu.com/ubuntu/pool/main/u/usb-modeswitch-data/usb-modeswitch-data_20100826-1_all.deb
Преобразование адреса ie.archive.ubuntu.com... 193.1.193.69
Устанавливается соединение с ie.archive.ubuntu.com|193.1.193.69|:80... соединились.
Запрос HTTP послан, ожидание ответа... 200 OK
Длина: 17214 (17K) [application/x-debian-package]
Сохраняется в каталог: `usb-modeswitch-data_20100826-1_all.deb'.

100%[==============================================================================================================================>] 17.214      20,7K/s   в 0,8s

2011-01-12 14:20:00 (20,7 KB/s) - `usb-modeswitch-data_20100826-1_all.deb' сохранён [17214/17214]

Итак, оба пакета — и с программой, и с ее «базой» скачали. Теперь нужно установить из репозитория еще несколько пакетов, которые являются зависимостями для установки требуемой программы. Для этого вводим команду:

dmitry@hotspot-server:/usr/src/usb$ sudo apt-get install tcl8.3 tcl8.4 tcl8.5
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Предлагаемые пакеты:
  tclreadline
НОВЫЕ пакеты, которые будут установлены:
  tcl8.3 tcl8.4 tcl8.5
обновлено 0, установлено 3 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 3618kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 10,6MB.
Получено:1 http://archive.ubuntu.com jaunty/main tcl8.5 8.5.6-3 [1544kB]
Получено:2 http://archive.ubuntu.com jaunty/main tcl8.4 8.4.19-2 [1178kB]
Получено:3 http://archive.ubuntu.com jaunty/main tcl8.3 8.3.5-13 [896kB]
Получено 3618kБ за 35с (103kБ/c)
Выбор ранее не выбранного пакета tcl8.5.
(Чтение базы данных... на данный момент установлено 26376 файлов и каталогов.)
Распаковывается пакет tcl8.5 (из файла .../tcl8.5_8.5.6-3_i386.deb)...
Выбор ранее не выбранного пакета tcl8.4.
Распаковывается пакет tcl8.4 (из файла .../tcl8.4_8.4.19-2_i386.deb)...
Выбор ранее не выбранного пакета tcl8.3.
Распаковывается пакет tcl8.3 (из файла .../tcl8.3_8.3.5-13_i386.deb)...
Обрабатываются триггеры для man-db ...
Настраивается пакет tcl8.5 (8.5.6-3) ...

Настраивается пакет tcl8.4 (8.4.19-2) ...

Настраивается пакет tcl8.3 (8.3.5-13) ...
Обрабатываются триггеры для libc6 ...

После того, как скачали, на всякий случай проверяем, что в той папке, в которой мы находимся в текущий момент, присутствуют два deb-пакета, которые мы собрались устанавливать:

dmitry@hotspot-server:/usr/src/usb$ ls
usb-modeswitch_1.1.4-1_i386.deb  usb-modeswitch-data_20100826-1_all.deb

Присутствуют! Теперь, продолжая находиться в папке, где лежат наши два «кандидата на установку», вводим команду, суть которой можно сформулировать так — «установить все пакеты из текущей папки» (именно для этого и создавалась отдельная папка):

dmitry@hotspot-server:/usr/src/usb$ sudo dpkg -i *
Выбор ранее не выбранного пакета usb-modeswitch.
(Чтение базы данных... на данный момент установлено 26845 файлов и каталогов.)
Распаковывается пакет usb-modeswitch (из файла usb-modeswitch_1.1.4-1_i386.deb)...
Выбор ранее не выбранного пакета usb-modeswitch-data.
Распаковывается пакет usb-modeswitch-data (из файла usb-modeswitch-data_20100826-1_all.deb)...
Настраивается пакет usb-modeswitch-data (20100826-1) ...
Настраивается пакет usb-modeswitch (1.1.4-1) ...
Обрабатываются триггеры для man-db ...

Всё, теперь пакеты usb-modeswitch и usb-modeswitch-data установлены! Можем их использовать.

Пару слов о программе usb-modeswitch, и том, что она выполняет. Работу программы определяет ее файл конфигурации. Точнее сказать, у программы usb-modeswitch есть «глобальный» файл конфигурации /etc/usb_modeswitch.conf (который НЕ НУЖНО ТРОГАТЬ) и файл конфигурации под конкретное устройство. Файл конфигурации УСТРОЙСТВА обычно содержит всего несколько параметров — «стартовый» идентификатор (vid:pid) устройства, «целевой» идентификатор, и сообщение или сообщения, посылаемые устройству, чтобы оно переключалось из одного состояния в другое. То есть, вернемся к тому, с чего начали. Мы подключили модем к компьютеру. Система увидела его как CDROM с идентификатором 19d2:2000. Это и есть «стартовый» идентификатор. Нам же нужно, чтобы устройство переключилось в модем с идентификатором 19d2:0031 («целевой» идентификатор). Для этого программа usb-modeswitch сначала находит (убеждается, что в системе есть) устройство со «стартовым» идентификатором, а затем посылает нашему «USB-свистку» сообщения (Message), приведенные в файле конфигурации, до тех пор, пока тот не ответит «целевым» идентификатором.

Тепрерь пару слов о том, как выбрать этот самый файл конфигурации устройства. Точнее — из чего выбрать. Фактически, некоторое количество файлов (база известных программе устройств) лежит в папке /etc/usb_modeswitch.d. Для простоты выбора файлы поименованы… «стартовыми идентификаторами». То есть, применительно к моему случаю — «стартовый идентификатор» использованного мной модема — 19d2:2000, и именно с таким именем файл мне и нужно найти в указанной папке. Проверка показала — есть такой файл.

Чтож, запускаем программу и указываем ей в командной строке какой файл конфигурации устройства использовать:

dmitry@hotspot-server:/usr/src/usb$ sudo usb_modeswitch -c /etc/usb_modeswitch.d/19d2:2000
Warning: TargetProductList overrides TargetProduct!

Looking for target devices ...
 No devices in target mode or class found
Looking for default devices ...
 Found devices in default mode or class (1)
Accessing device 002 on bus 001 ...
Using endpoints 0x01 (out) and 0x81 (in)
Using endpoints 0x01 (out) and 0x81 (in)
Inquiring device details; driver will be detached ...
Looking for active driver ...
 No driver found. Either detached before or never attached

SCSI inquiry data (for identification)
-------------------------
  Vendor String: ZTE
   Model String: USB SCSI CD-ROM
Revision String: 2.31
-------------------------

USB description data (for identification)
-------------------------
Manufacturer: ZTE,Incorporated
     Product: ZTE WCDMA Technologies MSM
  Serial No.: P679M1KVSD010000
-------------------------
Setting up communication with interface 0 ...
Using endpoint 0x01 for message sending ...
Trying to send message 1 to endpoint 0x01 ...
 OK, message successfully sent
Reading the response to the message (CSW) ...
 OK, response successfully read (13 bytes).
Trying to send message 2 to endpoint 0x01 ...
 OK, message successfully sent
Reading the response to message 2 ...
 OK, response successfully read (13 bytes).
Trying to send message 3 to endpoint 0x01 ...
 OK, message successfully sent
Reading the response to message 3 ...
 OK, response successfully read (0 bytes).
Resetting response endpoint 0x81
Resetting message endpoint 0x01

Checking for mode switch (max. 20 times, once per second) ...
 Waiting for original device to vanish ...
 Waiting for original device to vanish ...
 Waiting for original device to vanish ...
 Original device can't be accessed anymore. Good.
 Searching for target devices ...
 Searching for target devices ...
 Searching for target devices ...
 Searching for target devices ...
 Searching for target devices ...
 Searching for target devices ...
 Searching for target devices ...
 Searching for target devices ...
 Found correct target device

Mode switch succeeded. Bye.

Как видим, переключение прошло успешно. Посмотрим теперь, какие USB-устройства есть в системе:

dmitry@hotspot-server:/usr/src/usb$ lsusb
Bus 001 Device 003: ID 19d2:0031
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Как видим, устройство с требовавшимся нам идентификатором (19d2:0031) в системе появилось! А теперь посмотрим — есть ли в системе USB-модемы:

dmitry@hotspot-server:/usr/src/usb$ ls /dev/ttyUSB*
/dev/ttyUSB0  /dev/ttyUSB1  /dev/ttyUSB2

Отлично! В системе наблюдается USB-модем(ы). Пора его (их) использовать по назначению.

Часть вторая — подключаемся

Собственно, программ, которые позволяют заставить модем набрать номер и подключиться к провайдеру — предостаточно. Тот же Network Manager, например. Кстати, те, у кого до этого в Network Managere-е модем не находился, уже могут попробовать поискать его снова 😉 . Ну а мы, в данном случае, решили воевать в консоли. Потому, в консоли и продолжим…

Программу я для этого решил использовать следующую — wvdial. По умолчанию она не установлена, поэтому, устанавливаем:

dmitry@hotspot-server:/usr/src/usb$ sudo apt-get install wvdial
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Будут установлены следующие дополнительные пакеты:
  libuniconf4.4 libwvstreams4.4-base libwvstreams4.4-extras libxplc0.3.13
НОВЫЕ пакеты, которые будут установлены:
  libuniconf4.4 libwvstreams4.4-base libwvstreams4.4-extras libxplc0.3.13 wvdial
обновлено 0, установлено 5 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 1099kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 2814kB.
Хотите продолжить [Д/н]? y
Получено:1 http://archive.ubuntu.com jaunty/main libxplc0.3.13 0.3.13-1build1 [39,0kB]
Получено:2 http://archive.ubuntu.com jaunty/main libwvstreams4.4-base 4.4.1-0.2ubuntu2 [412kB]
Получено:3 http://archive.ubuntu.com jaunty/main libwvstreams4.4-extras 4.4.1-0.2ubuntu2 [406kB]
Получено:4 http://archive.ubuntu.com jaunty/main libuniconf4.4 4.4.1-0.2ubuntu2 [137kB]
Получено:5 http://archive.ubuntu.com jaunty/main wvdial 1.60.1+nmu2 [106kB]
Получено 1099kБ за 19с (55,4kБ/c)
Предварительная настройка пакетов ...
Выбор ранее не выбранного пакета libxplc0.3.13.
(Чтение базы данных... на данный момент установлено 26865 файлов и каталогов.)
Распаковывается пакет libxplc0.3.13 (из файла .../libxplc0.3.13_0.3.13-1build1_i386.deb)...
Выбор ранее не выбранного пакета libwvstreams4.4-base.
Распаковывается пакет libwvstreams4.4-base (из файла .../libwvstreams4.4-base_4.4.1-0.2ubuntu2_i386.deb)...
Выбор ранее не выбранного пакета libwvstreams4.4-extras.
Распаковывается пакет libwvstreams4.4-extras (из файла .../libwvstreams4.4-extras_4.4.1-0.2ubuntu2_i386.deb)...
Выбор ранее не выбранного пакета libuniconf4.4.
Распаковывается пакет libuniconf4.4 (из файла .../libuniconf4.4_4.4.1-0.2ubuntu2_i386.deb)...
Выбор ранее не выбранного пакета wvdial.
Распаковывается пакет wvdial (из файла .../wvdial_1.60.1+nmu2_i386.deb)...
Обрабатываются триггеры для man-db ...
Настраивается пакет libxplc0.3.13 (0.3.13-1build1) ...

Настраивается пакет libwvstreams4.4-base (4.4.1-0.2ubuntu2) ...

Настраивается пакет libwvstreams4.4-extras (4.4.1-0.2ubuntu2) ...

Настраивается пакет libuniconf4.4 (4.4.1-0.2ubuntu2) ...

Настраивается пакет wvdial (1.60.1+nmu2) ...

Success!  You can run "wvdial" to connect to the internet.
  (You can also change your configuration by editing /etc/wvdial.conf)

Обрабатываются триггеры для libc6 ...
ldconfig deferred processing now taking place

Установили! Теперь ее нужно сконфигурировать. Первым делом, нужно предоставить программе возможность попытаться автоматически выполнить предварительную настройку. Для этого вводим команду:

dmitry@hotspot-server:/usr/src/usb$ sudo wvdialconf
Editing `/etc/wvdial.conf'.

Scanning your serial ports for a modem.

ttyS0<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttyS0<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 115200 baud
ttyS0<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.
ttyS1<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttyS1<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 115200 baud
ttyS1<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.
Modem Port Scan<*1>: S2   S3
WvModem<*1>: Cannot get information for serial port.
ttyUSB0<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttyUSB0<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 9600 baud
ttyUSB0<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.
WvModem<*1>: Cannot get information for serial port.
ttyUSB1<*1>: ATQ0 V1 E1 -- OK
ttyUSB1<*1>: ATQ0 V1 E1 Z -- OK
ttyUSB1<*1>: ATQ0 V1 E1 S0=0 -- OK
ttyUSB1<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK
ttyUSB1<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK
ttyUSB1<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
ttyUSB1<*1>: Modem Identifier: ATI -- Manufacturer: ZTE CORPORATION
ttyUSB1<*1>: Speed 9600: AT -- OK
ttyUSB1<*1>: Max speed is 9600; that should be safe.
ttyUSB1<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
WvModem<*1>: Cannot get information for serial port.
ttyUSB2<*1>: ATQ0 V1 E1 -- OK
ttyUSB2<*1>: ATQ0 V1 E1 Z -- OK
ttyUSB2<*1>: ATQ0 V1 E1 S0=0 -- OK
ttyUSB2<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK
ttyUSB2<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK
ttyUSB2<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
ttyUSB2<*1>: Modem Identifier: ATI -- Manufacturer: ZTE CORPORATION
ttyUSB2<*1>: Speed 9600: AT -- OK
ttyUSB2<*1>: Max speed is 9600; that should be safe.
ttyUSB2<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK

Found a modem on /dev/ttyUSB1.
Modem configuration written to /etc/wvdial.conf.
ttyUSB1: Speed 9600; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0"
ttyUSB2: Speed 9600; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0"

Итого — НАШЛА! Посмотрим, какие настройки программа вписала в файл конфигурации:

dmitry@hotspot-server:/usr/src/usb$ sudo nano /etc/wvdial.conf

Вот что было в моем файле по умолчанию (после выполнения предварительной самонастройки):

[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Modem Type = Analog Modem
; Phone =
ISDN = 0
; Password =
New PPPD = yes
; Username =
Modem = /dev/ttyUSB1
Baud = 9600

Как видите, самый минимум. Плюс ко всему, еще и ключевые параметры подключения — номер дозвона (Phone), имя пользователя (Username) и пароль (Password) — закомментированы (в начале строки стоит точка с запятой — «;» ).

В итоге я отредактировал свой файл конфигурации, и он стал выглядеть следующим образом:

[Dialer Defaults]
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Modem Type = Analog Modem
 Phone = *99#
ISDN = 0
 Username = 1
Init1 = ATZ
 Password = 1
Modem = /dev/ttyUSB2
Baud = 9600
Init3 = AT+CGDCONT=1,"IP","3g.utel.ua"
Stupid Mode = 1
Auto Reconnect = on

То есть, во первых, я указал номер дозвона, а также имя пользователя и пароль (для моего случая подключения к Utel — в принципе, логины/пароли безразличны, но как говорится, «чтобы не было проблем»). Кроме того, я указал третью строку инициализации — Init3 = AT+CGDCONT=1,»IP»,»3g.utel.ua». Она указывает модему, какую точку доступа использовать. Как должна выглядеть эта строка в вашем случае — ищите на сайте вашего провайдера (оператора мобильной связи). Также я включил автоматическое переподключение — Auto Reconnect, и режим «тупого» модема — Stupid Mode.  После этого сохранил изменения и вышел из редактора.

И вот, торжественный момент — подключаемся:

dmitry@hotspot-server:/usr/src/usb$ sudo wvdial
--> WvDial: Internet dialer version 1.60
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
--> Sending: AT+CGDCONT=1,"IP","3g.utel.ua"
AT+CGDCONT=1,"IP","3g.utel.ua"
OK
--> Modem initialized.
--> Sending: ATDT*99#
--> Waiting for carrier.
ATDT*99#
CONNECT 3600000
--> Carrier detected.  Starting PPP immediately.
--> Starting pppd at Wed Jan 12 14:57:51 2011
--> Pid of pppd: 4131
--> Using interface ppp0
--> pppd: ▒'2 `%2 ▒'2
--> pppd: ▒'2 `%2 ▒'2
--> pppd: ▒'2 `%2 ▒'2
--> pppd: ▒'2 `%2 ▒'2
--> pppd: ▒'2 `%2 ▒'2
--> pppd: ▒'2 `%2 ▒'2
--> pppd: ▒'2 `%2 ▒'2
--> local  IP address 178.92.69.72
--> pppd: ▒'2 `%2 ▒'2
--> remote IP address 10.64.64.64
--> pppd: ▒'2 `%2 ▒'2
--> primary   DNS address 213.179.249.151
--> pppd: ▒'2 `%2 ▒'2
--> secondary DNS address 213.179.249.152
--> pppd: ▒'2 `%2 ▒'2

Признаком того, что вы подключились к интернету, является факт получения вашим модемом локального адреса, адреса шлюза, и двух адресов серверов DNS (все это выделено зеленым цветом выше). На всякий случай можно проверить, какие адреса серверов DNS использует система после того, как произошло подключение:

dmitry@hotspot-server:~$ sudo cat /etc/resolv.conf
nameserver 213.179.249.151
nameserver 213.179.249.152

Итог — вы в интернете.

Ну и напоследок — как его выключать. Вводите команду:

dmitry@hotspot-server:/usr/src/usb$ sudo pkill wvdial
Caught signal 15:  Attempting to exit gracefully...
dmitry@hotspot-server:/usr/src/usb$ --> Terminating on signal 15
--> pppd: ▒7▒[08]`5▒[08]▒7▒[08]
--> Connect time 0.8 minutes.
--> pppd: ▒7▒[08]`5▒[08]▒7▒[08]
--> pppd: ▒7▒[08]`5▒[08]▒7▒[08]
--> pppd: ▒7▒[08]`5▒[08]▒7▒[08]
--> Disconnecting at Wed Jan 12 15:04:14 2011

… и дожидаетесь, когда соединение будет разорвано.

Успехов!

Очень быстро родившаяся заметка

На одном из форумов возник вопрос про подключение компьютера под управлением Ubuntu 9.04 к оператору мобильной связи 3G (в конкретном случае речь шла про Peoplenet).

Я сравнительно недавно настраивал знакомому мобильный интернет 3G от другого провайдера, но разница не велика. Потому, я быстренько наклепал скриншотов, и вот теперь у меня есть «материал» и для этой заметки. Единственное, скриншоты делались уже на Ubuntu 9.10 и … без модема. Но сути это не меняет…

Итак, подключал я через контекстное меню Network Manager-а. Для этого, первым делом правой кнопкой мыши щелкаем на значке подключения к сети (по умолчанию — вверху справа).

Рис. 1 Вызываем контекстное меню Network Manager-а

В контекстном меню выбираем пункт «Изменить соединения» и попадаем в следующее окно.

Рис. 2 Окно настроек Network Manager-а

В нем вверху выбираем закладку «Мобильные широкополосные», и жмем кнопку «Добавить».

Рис. 3 — Выбор модема

В открывшемся окне вам в случае наличия в системе реального модема, его нужно выбрать из списка (это на тот случай, если их несколько). Хуже, если система модем не определила. В таком случае «танцев с бубном в консоли» не избежать. Но там не так уж и сложно — если что, читайте вот эту запись — «Ubuntu — запускаем 3G модем в консоли«.

После чего нажать кнопку «Вперед».

Рис. 4 — Выбор страны

Думаю, в открывшемся окне, с выбором страны трудностей возникнуть не должно 😉 … Выбираем свою и жмем «Вперед».

Рис. 5 — Выбор провайдера

Откроется окно выбора провайдера. Как видно на рис. 5, окно имеет две части. В верхней есть список известных провайдеров, и именно ради этого списка мы выбирали страну в предыдущем шаге (рис. 4 выше). В случае, если ваш провайдер присутствует в списке, просто ставим «птичку» напротив надписи «Выберите вашего провайдера из списка» и выделяем самого провайдера.

Но, как я сказал выше, речь шла про Peoplenet, а его в списке в вверху не было. По этому, я поставил «птичку» напротив надписи «Я не могу найти своего провайдера и хочу ввести его вручную». После чего ввел название для своего провайдера (тут вы вольны вписать любое нравящееся вам). И вдобавок, я выбрал из списка стандарт связи (ту технологию, которую использует провайдер). После чего нажал кнопку «Вперед».

Если вы в пункте, показанном на рис. 5 выбрали уже имеющегося провайдера из списка, а не заводили его вручную, то следующего рисунка (№6) вы не увидите. Это окно выводится только при создании соединения вручную.

Рис. 6 — Окно ввода параметров соединения

В этом окне нужно ввести (минимально) Имя пользователя, пароль и номер дозвона. Чтобы видеть вводимый пароль (с целью убедиться, что не было ошибок), поставьте птичку «Показать пароли».

Возможно понадобится также открыть закладку «Параметры IPv4» и там ввести адреса серверов DNS, и возможно, имя точки доступа.

Ну и напоследок — если поставить птичку в поле «Подключать автоматически», то данное подключение к данному провайдеру будет выполняться автоматически при загрузке компьютера.

После того, как все настройки введены, жмем кнопку «Применить» внизу справа. После чего снова возвращаемся в окно настроек Network Manager-а:

Рис. 7 — Окно настроек Network Manager-а со вновь созданным соединением

Теперь у нас есть настроенное соединение к провайдеру. Оно также добавится в контекстное меню Network Manager-а, вызываемое правой кнопкой мыши и показанное на рис. 1 выше. Чтобы подключиться к провайдеру будет достаточно просто щелкнуть по нему мышью…