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 Мбит/с, что очень даже недурно, как для мобильного интернета.


Read More...