Tuesday, November 15, 2011

CDMA модем Huawei и Ubuntu Linux

В связи с жизненной необходимостью подключил себе услугу мобильного высокоскоростного доступа в интернет от провайдера, которым уже давно пользуюсь. Данный провайдер использует технологию CDMA, и для пользования высокоскоростным интернетом пришлось приобрести новый модем. Имя ему Huawei EC 306. Интересно это устройство тем, что при подключении к компьютеру оно распознается как флеш-накопитель, на котором находятся Windows-драйвера. Однако внутри устройства также находится SIM-карта оператора, и оно может работать как модем. Драйверов для Linux, естественно, нету, да они и не нужны. Необходимо всего лишь переключить режим работы устройства...


На Windows-системе все оказывается очень просто. На флеш-карте находятся драйвера. Установка запускается автоматически, когда подключается устройство. После установки будет доступно приложение, запустив которое можно подключаться к интернету. Приложение называется Mobile Partner, написанное все той же компанией Huawei, и видимо, распространяется с ее модемами, а разные операторы уже изменяют текст интерфейса и картиночки на свои.

На Linux-системе драйвера для модема не нужны вообще. Это универсальное последовательное устройство, с которым Linux умеет работать — все, что нужно, это настроить модем. В операционной системе Ubuntu такие настройки хорошо автоматизированы, а менеджер сетевых подключений даже умеет подключаться к моему оператору через выбранное устройство. Выходит, что нужно только заставить систему распознавать устройство как модем, а не как флеш-накопитель.


Можно установить программу Mobile Partner на Ubuntu. Вот здесь я, даже, нашел ссылку на скрипт установки (я скрипт не проверял, так что запускайте его на свой страх и риск!). А потом вот тут на ubuntuforums.org и еще вот тут на habrahabr.ru в комментариях я нашел, что устанавливать программу нет смысла. Достаточно указать системе, чтобы она переключала режим работы устройства. Необходимо выполнить следующие шаги:


  1. Открываем терминал и выполняем команду lsusb
    В результате получим список USB устройств, подключенных к компьютеру.
    ~$ lsusb
    Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

    Bus 004 Device 002: ID 046d:c018 Logitech, Inc. Optical Wheel Mouse
    Bus 003 Device 001: ID 12d1:1505 Huawei Technologies Co., Ltd.
    Bus 003 Device 002: ID 1d6b:0001 Linux Foundation 1.1 root hub

  2. В полученном списке находим модем и обращаем вниманием на его ID. Первые четыре символа (в моем случае это 12d1) — это идентификатор производителя. Вторые четыре (в моем случае это 1505) — это идентификатор устройства.

  3. Теперь выполняем в терминале следующую команду (все одной строчкой), заменив идентификаторы производителя и устройства на свои:


    echo 'SUBSYSTEM=="usb", SYSFS{idProduct}=="1505", SYSFS{idVendor}=="12d1", RUN+="/lib/udev/modem-modeswitch --vendor 0x12d1 --product 0x1505 --type option-zerocd"' | sudo tee /etc/udev/rules.d/45-huawei1550.rules

    После выполнения этой команды в каталоге /etc/udev/rules.d/ появится файл 45-huawei1550.rules, команды из которого будут прочитаны, при подключении устройства к компьютеру.

  4. Вынимаем устройство, вставляем его снова — и у вас уже не флешка, а модем, подключенный к компьютеру. Дальше все просто — правой кнопкой на значке сети, Редактировать подключения, закладка Мобильные подключения, Кнопка Добавить — выбираем свою страну, провайдера и все! :)


P.S. Немного о скорости для тех, кому интересно. Заявленная оператором скорость передачи данных в сети EVDO Rev.B+: загрузка до 14,7 Мбит/с, передача до 5,4 Мбит/с. В реальности, конечно, все зависит от загруженности сети, удаленности от базовой станции, и количества осадков в амазонской равнине. Тестируя связь в центре Киева в полдень, загружая ролики с youtube, файлы с ex.ua и т.д. скорость у меня прыгала от 1 до 6 Мбит/с, что очень даже недурно, как для мобильного интернета.


5 comments:

voroshila said...

Большое спасибо, Юрий.
Все получилось так, как Вами описано, но лишь до пункта 4.
Не сложилось у меня с последней рекомендацией: "Кнопка Добавить — выбираем свою страну, провайдера и все! :)"
Выбирать как-то не из чего было.
Вошел в "Сетевые соединения", в закладку "Мобильная широкополосная сеть", там УЖЕ оказался прописанным номер дозвона #777 (!)
Я прописал имя пользователя 3G_TURBO и пароль 3G_TURBO.
Кроме этих 3-х полей для заполнения других возможностей выбора не предлагалось.
Соответственно, Huawei EC 306 не заработал как модем (хотя изредка он пытался найти сеть, судя по голубому помаргиванию светодиода раз в минуту-две).
Заранее благодарен, если что-либо подскажете.
Линукс у меня SuSE 11, GNOME 2.28
С уважением,
Вадим Туфанов (Киев)

Yuriy Tkach said...

@voroshila - Все очень просто :) Тебе надо сходить к своему провайдеру, там где ты покупал модем, и попросить их, чтобы они прошили в модеме поддержку 3G_TURBO. По-умолчанию, она почему-то не включена. Поэтому у тебя и нет подключения. Странно, почему они вообще ее сразу не включают. Я просто при покупке модема сразу достал ноут и проверил все. Естественно, не заработало. А они такие "Ой, извините, забыли прошить" :))
Также проверь, чтобы услуга 3G_TURBO была у тебя в тарифном плане включена.
Также проверь, чтобы 3G_TURBO покрытие было там, где ты находишься :)
Всегда можно попробовать подключится с именем пользователя IT и паролем IT. Подключение медленнее, но вроде как почти везде есть.
У меня Ubuntu тоже сразу добавило профиль и прописало номер дозвона. Осталось только прописать имя пользователя и пароль.

Volodymyr Sobotovych said...

Юрію,

велике спасибі тобі за чудову статтю! Дуже корисною була для мене, коли встановлював батькам доступ до інтернету через Інтертелеком.

Від себе можу додати, що в Ubuntu 12.04 описані маніпуляції проводити не треба. Коли під’єднуєш модем, менеджер мережевих з’єднань сам пропонує "New Mobile Broadband (CDMA) connection..." (знімок: http://goo.gl/1ahKQ). А далі просто -- вибираєш країну, оператора, вводиш логін/пароль і насолоджуєшся швидкісним доступом.

Vladimir B. Solomko said...

Спасибо за howto. Но у меня на Linux Mint 13 чуда не получилось - кнопка "Параметры" не стала активной и устройство со статусом "отключено" мигает раз в Х секунд :( впрочем, модем не мой, но было любопытно попробовать.

Anonymous said...

У меня модем Huawei EC122. Сработало в Ubuntu 10.04 на ОТЛИЧНО. Огромная искренняя благодарность автору!!!!!!!