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 — запускаем 3G модем в консоли: 14 комментариев

  1. Толково, подробно расписано! Нигде не попадалась такая подробная консультация! Спасибо!

  2. Спасибо!!! Но у меня нет в etc/usb_modeswitch.d такого vid равен 0bb4 и pid равен 0b3b, подскажите плз. что делать,
    У меня HTC Imageo xv6975

    Заранее спасибо !!!!!!!!!

  3. думаю, вам нужно начать с изучения того, ЧЕМ именно ваш смартфон выступает при его подключении к USB-порту компьютера. Возможно, есть какие-то настройки в нем самом, чем ему быть — флешкой, модемом, еще чем-то…

  4. За что я не люблю линукс, так это за его, простите, недоношенность. Подключиться к интернету? Легко! Только сперва установите «список пакетов» из репозитория. И непонятно, как их скачивать если у меня интернет только через модем. Вручную? Ага, щас. Зависимости. Зависмости от зависимостей, а у тех тоже есть зависимости. Пакеты маленькие, но их много — замучаешься бегать из винды в линукс чтобы посомтреть, что же ещё он хочет. А потом придётся искать последовательность установки всей этой мишуры, ведь если у устанавлеваемого пакета не разрешена зависимость, система отказывается его ставить!

  5. С «последовательностью» все как раз просто 🙂 . Если скачать все требуемые пакеты в одну папку и в ней запустить команду dpkg -i * , то программа сама разберется с порядком их установки.

  6. модем franklin u210 система обнаружила но к интернету не подключаеться. Что делать?

  7. для Влада
    при сканировании модема внимательно посмотрите к какому порту модем подключен в данном примере это ttyUSB2 а затем также внимательно нужно открывать и вносить изменения в
    /etc/wvdial.conf особенно внимательно указывать точку доступа.
    похожая инструкция но через kPPP СМОТРИ http://grusha.org.ua/phpbbforum/viewtopic.php?f=23&t=418

  8. Здравствуй, dmitry ! Прекрасная статья! Очень хорошо расписаны команды консоли (это очень важно), но …. Если есть интернет, то зачем нужен модем?. А вот если нет интернета — тогда и нужна статья о подключении модема.
    У меня стоят Windows XP и Ubuntu 10.04.1. Модем Beeline определяется как диск в котором есть куча папок и файлов и что с ними делать я не знаю. Может подкорректируешь статью по установке модема без интернета. 14.09.2012

  9. Понимаете ли, Юрий!

    Я прекрасно понимаю, что до какой степени ни разжуй, все-равно найдутся те, кто будут продолжать задавать вопросы….

    В заметке приведена ссылка:
    http://packages.ubuntu.com/search?keywords=usb-modeswitch

    Если таки заставить себя немного напрячься, и кликнуть по ней, то вы попадаете на страницу … результатов поиска требуемых пакетов на сайте Ubuntu Packages/ Вам останется только лишь выбрать ваш дистрибутив, щелкнуть по ссылке и перейти на страницу, с которой можно скачать требуемый пакет. на всякий пожарный случай, ваш дистрибутив Ubunto 10.04 имеет кодовое имя Lucid. Вот по этим ссылкам и переходите. И качайте пакеты.

    Качать (вот ведь чудо-то какое!) можно и в виндовсе! Причем, можно скачать и те пакеты, которые в заметке перечислены как недостающие (поискав их на том же самом сайте). Качаете, любым понятным вам способом переносите их в линукс, а потом просто устанавливаете той самой командой, которая и описана в заметке:
    sudo dpkg -i *

  10. У меня модем от Sierra Compass 885. Установлены пакеты usb_modeswitch и usb_modeswitch_data, а также tcl8.3 tcl8.4 и tcl8.5. Команда lsusb выдает
    Bus 001 Device 003: ID 1199:6880 Sierra Wireless, Inc.
    Файл 1199:6880 отсутствует. Но есть 1199:0fff
    Команда sudo usb_modeswitch -c /etc/usb_modeswitch.d/1199:0fff
    выдает
    Looking for target devices …
    No devices in target mode or class found
    Looking for default devices …
    No default device found. Is it connected? Bye.

    Что-нибудь посоветуете? Заранее благодарен.

Обсуждение закрыто.