Запуск Huawei E1550 в среде Linux

Документация связанная с установкой, настройкой и работой пользовательского ПО
Аватара пользователя
Raven
Бородатый сис
Бородатый сис
Сообщения: 2800
Зарегистрирован: 03 мар 2010, 15:12
ОС: RHEL 8
Откуда: Из серверной

Запуск Huawei E1550 в среде Linux

Сообщение Raven » 07 фев 2011, 11:00

Выкладываю на ваш суд статью, которая лично мне очень помогла подружить мопед с Альтом:

Человек, купивший данный модем, сталкивается с невозможностью использовать его под Linux. Прекрасно работающий под Windows прибор, под Linux определяется не как модем, а как CD-ROM, выдавая соответствующий значок и уведомление.

Это не удивительно, ведь модем рассчитан на работу в среде Windows, где он автоматически устанавливает программное обеспечение необходимое для его работы. Именно благодаря эмуляции CD-ROM'а и возможна автоматическая установка. Модем виден в папке Windows "Мой компьютер" как CD-ROM и как флешка (съемный диск). Действительно, эта модель позволяет устанавливать микро-флешку MicroSD объемом до 4 Гб (больше нельзя). Сам же модем виден только системе, которая благодаря установленной с него же программе без труда находит его.

При подключении модема к Linux системе, происходит определение прибора как CD-ROM и дальнейшее определение не идет. Виртуальный CD, содержащий Windows программы, абсолютно бесполезен под Linux и мешает определиться модему, поэтому его необходимо каким-то образом отключить.

Мы рассмотрим несколько вариантов отключения эмуляции CD-ROM'а. Суть такой доработки одинакова для всех вариантов, а вот механизм различается в зависимости от платформы.

Способ первый: Доработка модема в среде Windows
Этот способ самый логичный и простой, предназначен для тех, кому поскорее нужен работающий модем, а лишние телодвижения не нужны.

Как уже говорилось выше, модем прекрасно виден в Windows системе, поэтому не приходится применять никаких хитростей. Просто втыкаем модем в USB разъем и устанавливаем согласно инструкции. Проще говоря, он сам себя устанавливает, вам нужно только соглашаться со всем, что появляется на экране. По окончании установки вы получаете программу, при помощи которой и подключаетесь к Интернету.

На всякий случай сохраняем содержимое виртуального CD в каком-нибудь укромном месте.

Затем следует отключиться от Интернета и запустить программу Hyper Terminal. Никогда не слышали о такой? Я тоже раньше не слышал. Однако такая программа есть. В Windows2000 и WindowsXP она находится в разделе Пуск --> Программы --> Стандартные --> Связь --> Hyper Terminal. А для Vist'ы и Windows7 ее придется скачать. Это можно сделать во множестве мест, например здесь. При этом нет никакой необходимости покупать ее, вполне достаточно пробной (trial) версии - вам она понадобится на один раз.

В окошке "Описание подключения" вводим любое слово, например "модем", и жмем ENTER.

Появляется другое окошко - "Подключение". В его последней графе "Подключаться через:" нужно выбрать "HUAWEI Mobile Connect - 3G Modem" и нажать ОК.

Появившееся после этого окошко (снова "Подключение") с номерами телефона и прочим нужно просто закрыть, нажав кнопку "Отмена".

Теперь на панели программы следует нажать последнюю кнопку "Свойства" и в открывшемся окне "Свойства: модем" перейти на вкладку "Параметры", где нажать кнопку "Параметры ASCII" и поставить галочку во второй сверху графе "Отображать вводимые символы на экране". Нажать ОК. Верхнее окошко закроется. Нажать ОК. Последнее окошко закроется, и в главном окне программы замигает курсор. Включаем CAPS LOCK и печатаем команду АТ. Жмем ENTER. Появляется ответ: ОК. Значит связь с модемом установлена. Вводим одну из следующих команд:
  • AT^U2DIAG=0 (устройство в режиме только модем)
    AT^U2DIAG=1 (устройство в режиме модем + CD-ROM)
    AT^U2DIAG=255 (устройство в режиме модем + CD-ROM + Card Reader)
    AT^U2DIAG=256 (устройство в режиме модем + Card Reader).
Я советую воспользоваться командой AT^U2DIAG=0 и в дальнейшем отказаться от возможности использовать устройство как флешку. Это облегчит вам жизнь при настройке модемного соединения под Линукс.

Введя команду, смело жмем ENTER, и в ответ видим ОК. Модем доработан. Закрываем окно Hyper Terminal, ответив "ДА" на предложение прервать сеанс связи и отказавшись от сохранения подключения.

Теперь осталось убедиться, что эмуляция CD-ROM'а отключена. Для этого отсоединяем модем от USB порта и снова подсоединяем в тот же порт. В папке "Мой компьютер" не должно появиться "лишнего" CD-ROM - только столько, сколько есть физических приводов оптических дисков.

Задача решена. Можно переходить к настройке модемного соединения на Linux системе. Кстати и под Windows после этой процедуры модем станет работать стабильнее и быстрее. А если возникнет необходимость вернуть прибор в первобытное состояние, то никто не запрещает повторить всю процедуру, но уже с командой AT^U2DIAG=255 (устройство в режиме модем + CD-ROM + Card Reader).

Способ второй: Доработка модема в среде Linux
Для фанатиков Linux, считающих что "Виндоуз мастдай", и для тех, кто хочет неспеша повозиться в любимой системе, Паутина предлагает множество вариантов решения этой задачи. Ведь в Linux любая задача решается многими способами. Описанный ниже способ хорош тем, что не предполагает поиска и установки редких и новых программ.

Суть его все та же: передать на модем команду AT^U2DIAG=0, отключив все устройства, кроме модема. Для этого мы воспользуемся программой minicom. Это программа весьма древняя и имеется в репозиториях почти любого дистрибутива. Так что устанавливайте ее скорей, в любом случае без нее не обойтись.

Но для того, чтобы передать на модем какую-либо команду, нужно как минимум увидеть модем в своей системе. Для этого в вашем ядре должна быть включена поддержка эмуляции последовательных портов (usbserial или usb-serial). Это можно проверить командой:

Код: Выделить всё

# lsmod | grep usb | sort

ff_memless              9864  1 usbhid
hid                    67072  1 usbhid
usbcore               150896  8 libusual,option,usbserial,usbhid,uvcvideo,ehci_hcd,uhci_hcd
usbhid                 52096  0
usbserial              38632  1 option
Обратите внимание на последнюю строку вывода. У меня модуль usbserial подключен. Если у вас не так, то нужно его подключить. Как это сделать, зависит от вашего дистрибутива. Данная статья не может вместить инструкций по этому вопросу. Вы же хотели повозиться с любимой системой?

Дальнейшие действия зависят от вида вашего дистрибутива.

Для пользователей RPM дистрибутивов
Вам нужно установить программу usb_modeswitch. Эта программа не является редкой и имеет всего одну зависимость - libusb соответствующей версии.

После инсталляции программы в вашей системе, вам потребуется создать текстовой файл /etc/usb-modeswitch.conf. (Будьте внимательны с черточкой в имени файла и программы: программа называется usb_modeswitch, а файл usb-modeswitch.conf).

В этом файле нужно прописать следующее (лучше скопировать и вставить):

Код: Выделить всё

DefaultVendor = 0x12d1
DefaultProduct = 0x1446
MessageEndPoint = "0x01"
MessageContent = "55534243000000000000000000000011060000000000000000000000000000"
После этого следует подключить модем к USB порту, дождаться пока он будет определен системой как CD-ROM, а затем запустить команду (как root):

Код: Выделить всё

# usb_modeswitch

Looking for target devices ...
No devices in target mode or class found
Looking for default devices ...
Found default devices (1)
Accessing device 004 on bus 007 ...
Using endpoints 0x01 (out) and 0x81 (in)
Inquiring device details; driver will be detached ...
Looking for active driver ...
OK, driver found ("usb-storage")
OK, driver "usb-storage" detached

SCSI inquiry data (for identification)
-------------------------
Vendor String: HUAWEI
Model String: Mass Storage
Revision String: 2.31
-------------------------

USB description data (for identification)
-------------------------
Manufacturer: HUAWEI Technology
Product: HUAWEI Mobile
Serial No.: not provided
-------------------------
Setting up communication with interface 0 ...
Trying to send the message to endpoint 0x01 ...
OK, message successfully sent
Device is gone, skipping any further commands
-> Run lsusb to note any changes. Bye.
Немедленно после этого значок CD-ROM пропадает на некоторое время, а через 20-30 секунд снова появляется. Команда отключила эмуляцию CD-ROM, udev и hal тут же распознали собственно модем, а затем снова произошла эмуляция CD-ROM.

Но нам этих секунд достаточно чтобы в директории /dev появились три новых устройства: ttyUSB0-ttyUSB2. В этом нужно убедиться:

Код: Выделить всё

# ls /dev | grep ttyUSB

ttyUSB0
ttyUSB1
ttyUSB2 
Все идет по плану. Теперь нельзя вынимать модем из USB порта, иначе придется повторять все сначала.

Не пытайтесь сейчас наладить дозвон - это бесполезно. Нужно сначала отключить эмуляцию CD-ROM навсегда.

Запускаем в root консоли команду minicom -s, выбираем строку "Настройка последовательного порта" и жмем ENTER. В строке: "Какую настройку изменить?" печатаем А. Курсор перейдет в верхнюю строку "А - Последовательный порт: /dev/modem". Вместо /dev/modem пишем /dev/ttyUSB0. Потом нажимаем ENTER, верхнее окно пропадает, и нажимаем ESC чтобы выйти из режима конфигурации.

Немедленно появится окошко "Инициализируется модем", затем оно сменится следующей информацией:

Код: Выделить всё

Добро пожаловать в minicom 2.3-rc1

ПАРАМЕТРЫ: I18n
Дата компиляции Feb  5 2008, 11:36:03.
Port /dev/ttyUSB0

                 Нажмите CTRL-A Z для получения подсказки по клавишам

AT S7=45 S0=0 L1 V1 X4 &c1 E1 Q0
OK
Введите команду AT и нажмите ENTER. Появится ответ - OK.
Осталось ввести (лучше всего скопировать) команду AT^U2DIAG=0 и нажать ENTER. Снова появится ответ - OK.
Теперь нажимаем CTRL+A и внизу окна миникома появится красная панель. Нажав Z можно просмотреть список команд. Нам нужна "Выход без сброса"- Q. Нажимаем Q и покидаем программу миником. Модем доработан.

Чтобы убедиться в этом, вытащим его из гнезда USB, а затем снова включим (лучше в другое гнездо). Если никакого CD-ROM'а не появляется, повторим команду:
  • # ls /dev | grep ttyUSB

    ttyUSB0
    ttyUSB1
    ttyUSB2
Что и требовалось. Можно налаживать дозвон.

Примечание: Теоретически возможно, что модем окажется не устройством ttyUSB0. Тогда нужно повторить все операции с миникомом для устройств ttyUSB1 и ttyUSB2.


Для пользователей Debian-подобных дистрибутивов (Ubuntu и иже с ними)
В настоящее время (статья датируется февралем 2010) для этой платформы программа usb_modeswitch находится в стадии разработки. Но в репозитории Ubuntu появилась программа modem_modeswitch. Каким образом вы ее установите, зависит от вашего дистрибутива.

После того как вы инсталлируете эту программу, нужно в консоли с правами root, либо при помощи sudo, запустить следующую команду:

Код: Выделить всё

# /lib/udev/modem-modeswitch --vendor 0x12d1 --product 0x1446 --type option-zerocd 
После этого в директории /dev должны появиться три устройства: ttyUSB0-ttyUSB2. это можно проверить при помощи команды:

Код: Выделить всё

# ls /dev | grep ttyUSB

ttyUSB0
ttyUSB1
ttyUSB2 
Теперь запускайте minicom как рассказано в предыдущем разделе. Все дальнейшие действия для всех дистрибутивов одинаковы.

Настройка модемного соединения с Интернет
Настраивать модемное соединение можно двумя основными способами: писать скрипты ррр (Point-to-Point-Protocol), либо использовать программы-посредники. Писать скрипты - целая наука, поэтому остановимся на втором способе.

Среди программ дозвона выделяется wvdial - старая и добрая "звонилка" подходящая для всех дистрибутивов. Для рабочего стола KDE предназначены программы КРРР, KInternet, и Chestnut Dialer; для GNOME - программа Gnome-ppp. Разберем основные программы дозвона.

Wvdial
Подключаться при помощи этой команды не просто, а очень просто. Открываем root консоль и вводим команду wvdialconf. Программа сама определит модем и создаст файл /etc/wvdialconf. Вам нужно только немного его отредактировать: вписать другую строку инициализации, проставить пароль и имя пользователя, и обязательно строку "Stupid Mode = yes". Вот как выглядит этот файл у меня:

[Dialer Defaults]
Init1 = ATZ
Init2 = AT+CGDCONT=1,"IP","internet.beeline.kg"
Modem Type = USB Modem
Baud = 57600
New PPPD = yes
Modem = /dev/ttyUSB0
Phone = *99#
Password =
Username =
Stupid Mode = yes

Заодно проверьте, есть ли в директории /etc файл /etc/resolv.conf. Если нет, то создайте пустой текстовый файл с этим именем.

Все. Под root'ом набираем команду wvdial и соединение будет установлено. Когда в выводе команды появятся URL'ы (в виде цифр) значит коннект есть. Открывайте браузер и проверяйте.

Чтобы прервать соединение, нужно обязательно нажать комбинацию клавиш CTRL+C. Если просто закрыть окно терминала, то соединение будет продолжать работать, и чтобы его разорвать придется убивать процесс командой kill.

Единственный недостаток программы wvdial - невозможность следить за скоростью и объемом трафика. Но для этого существуют другие программы, описывать которые здесь не будем.

KPPP - программа дозвона для рабочего стола KDE
Самая удобная в работе, но и самая капризная в настройке из всех "звонилок". Показывает скорость и объем трафика.

В Интернете множество руководств по ее применению, поэтому я не стану особенно распространяться. Скажу лишь, что упорство обязательно приведет к успеху. Нужно разбираться, почему программа не работает, проверять права доступа всех сопутствующих файлов и успех обязательно придет. Все настройки такие же, как я привел в файле wvdialconf. Иногда на настройку кррр уходит несколько дней. Но чаще, к счастью, она начинает работать за 10 минут.

GNOME PPP - программа дозвона для рабочего стола GNOME
Очень похожа на KPPP, но работает по другому принципу.

Надеюсь, что вы уже "довели до ума" свой модем и подсоединились к Паутине. Счастливого серфинга!
Я не злопамятный, я просто часто ковыряю логи
Аватара пользователя
ИМХО
Бытовой хакер
Бытовой хакер
Сообщения: 975
Зарегистрирован: 02 мар 2010, 13:21
ОС: Maui 2
Откуда: Чолпон-Ата
Контактная информация:

Re: Запуск Huawei E1550 в среде Linux

Сообщение ИМХО » 07 фев 2011, 15:17

Таки ты таперича и дома имеешь инет? С приобритением'с *COOL*
Аватара пользователя
Raven
Бородатый сис
Бородатый сис
Сообщения: 2800
Зарегистрирован: 03 мар 2010, 15:12
ОС: RHEL 8
Откуда: Из серверной

Re: Запуск Huawei E1550 в среде Linux

Сообщение Raven » 07 фев 2011, 15:20

Неа, мопед не мой - у своей одолжил поизвращаться. Тоже подумывал над тем чтобы приобрести, но жибко уж он прожорлив *CRAZY*
Я не злопамятный, я просто часто ковыряю логи
Аватара пользователя
ИМХО
Бытовой хакер
Бытовой хакер
Сообщения: 975
Зарегистрирован: 02 мар 2010, 13:21
ОС: Maui 2
Откуда: Чолпон-Ата
Контактная информация:

Re: Запуск Huawei E1550 в среде Linux

Сообщение ИМХО » 07 фев 2011, 15:22

Raven писал(а):Неа, мопед не мой - у своей одолжил
Ну и норм, женись быстрее, станет твоим *JONKLY*
Аватара пользователя
Raven
Бородатый сис
Бородатый сис
Сообщения: 2800
Зарегистрирован: 03 мар 2010, 15:12
ОС: RHEL 8
Откуда: Из серверной

Re: Запуск Huawei E1550 в среде Linux

Сообщение Raven » 07 фев 2011, 15:24

Да чай рановато исчо - на 1 курсе учится...
Я не злопамятный, я просто часто ковыряю логи
Аватара пользователя
ИМХО
Бытовой хакер
Бытовой хакер
Сообщения: 975
Зарегистрирован: 02 мар 2010, 13:21
ОС: Maui 2
Откуда: Чолпон-Ата
Контактная информация:

Re: Запуск Huawei E1550 в среде Linux

Сообщение ИМХО » 07 фев 2011, 15:29

Raven писал(а):Да чай рановато исчо - на 1 курсе учится...
Главное, что ты работаешь. Бородатый одмин, просто обязан круглые сутки быть в сети. А ей инет ни к чему, или даже пусть приходит к тебе и у тебя, под чутким руководством опытного "товарища" бороздит просторы паутины.

ПыСЫ: А если серьезно, то спасибо за это и то описание, что ты поместил в соседней ветке, мне скоро ехать в Кара-Балту настраивать хуавей на лине, по другому мой товарищ выйти в инет не может, а винда ему надоела.
Аватара пользователя
zaka
Эникейщик
Эникейщик
Сообщения: 461
Зарегистрирован: 19 май 2010, 08:52

Re: Запуск Huawei E1550 в среде Linux

Сообщение zaka » 10 июн 2011, 22:28

Raven
*OK* супер купил подключил на свой ноут (бубун, альт) ыработает куул
(тока плохо без картинок и т.д приходиться экономить )))))
Помни прошлое, живи настоящим и думай о будущем.
Изображение
Аватара пользователя
Raven
Бородатый сис
Бородатый сис
Сообщения: 2800
Зарегистрирован: 03 мар 2010, 15:12
ОС: RHEL 8
Откуда: Из серверной

Re: Запуск Huawei E1550 в среде Linux

Сообщение Raven » 10 июн 2011, 22:43

zaka
Я сейчас юзаю Мегафоновскую прогу - вообще супер! Дрова все сама ставит, есть пункт настройка профилей, статистика отображается.

http://trash.sysadmins.el.kg/www/unix/s ... artner.zip
Я не злопамятный, я просто часто ковыряю логи
Аватара пользователя
zaka
Эникейщик
Эникейщик
Сообщения: 461
Зарегистрирован: 19 май 2010, 08:52

Re: Запуск Huawei E1550 в среде Linux

Сообщение zaka » 11 июн 2011, 08:44

zaka писал(а): *OK* супер купил подключил на свой ноут (бубун, альт) ыработает куул
(тока плохо без картинок и т.д приходиться экономить )))))
вчера думал как с экономить траф? Тока проверять почту то нормуль но если с утра до вечера гуглить и работать по ссц или внц это не найс
1) отключил картинки, флеш и т.д
2) решил поднять кеш прокси squid+squidguard пока еще не наю что будет)))))
Raven рахматик за софт
Помни прошлое, живи настоящим и думай о будущем.
Изображение
Аватара пользователя
zaka
Эникейщик
Эникейщик
Сообщения: 461
Зарегистрирован: 19 май 2010, 08:52

Re: Запуск Huawei E1550 в среде Linux

Сообщение zaka » 11 июн 2011, 08:53

Raven писал(а):zaka
Я сейчас юзаю Мегафоновскую прогу - вообще супер! Дрова все сама ставит, есть пункт настройка профилей, статистика отображается.

http://trash.sysadmins.el.kg/www/unix/s ... artner.zip
эм у мну проблемс не большая как лечить?
install: 31: LANGUAGESTRING[0]=zh: not found
install: 32: LANGUAGESTRING[1]=en_US: not found
install: 33: LANGUAGECODE[0]=0: not found
install: 34: LANGUAGECODE[1]=1: not found
Помни прошлое, живи настоящим и думай о будущем.
Изображение
Ответить

Вернуться в «Документация *nix»