Linux для модемов zte

Настройка USB модема ZTE mf100, 180, 190

#1 — 6 ноября 2011 в 23:31

Долго мучался и наконец то нарвался на решение которое лично мне помогло.

Итак :

Привет всем, кто пользуется usb модемами для доступа в интернет. В этом топике я хочу рассказать Вам как настроить модем ZTE mf100 180 190 и другие для корректной работы в системах, основанных на Linux Ubuntu.

Недавно перейдя на Lunux Mint 11, я столкнулся с проблемой выхода в интернет через свой 3g usb модем. Постоянные обрывы связи заставили искать решение. Доблестный гугл целиком ничего не подсказал, пришлось собирать частями.

Начнем по порядку.

Нам понадобиться Minicom — программа для использования последовательного порта в UNIX-подобных операционных системах. Она находится в репозиториях большинства дистрибутивов, поэтом её установка не должна вызвать каких-либо затруднений.

Открываем терминал и вводим:

sudo apt-get install minicom
sudo minicom -s

В терминале появиться меню программы. Выбираем пункт настроек: «Настройка последовательного порта», нажимаем клавишу A и приводим к виду

/dev/ttyUSB1

, нажимаем Enter.

После сохранения настроек выбираем обязательно пункт «Выход», чтобы попасть в консоль minicom, и вводим:

Результат должен быть примерно таким:

Manufacturer: ZTE INCORPORATED
Model: MF100
Revision: BD_BLNP671A1V1.0.0B02
IMEI: 12345678901234
+GCAP: +CGSM,+FCLASS,+DS

OK

Копируем команду, обязательно в консоль minicom:

echo -e «AT+ZCDRUN=E\r\n» > /dev/ttyUSB1

Ответ будет таким:

Enter download mode result(0:FAIL 1:SUCCESS):1

Нажимаем CTRL+A, затем Q, выбираем «Да».

Настройка модема при помощи minicom закончена.

Затем заходим в настройки соединений, выбираем вкладку «мобильные» жмем кнопку «добавить». Откроется диалоговое окно, в нем жмем кнопку «вперед» выбираем страну ( я выбирал Россию), затем выбираем оператора (в моем случае Билайн — и дальше приведу настройки именно для билайна). При запросе тарифного плана я выбрал пункт «другой» и указал точку доступа home.beeline.ru. Жмем кнопку «вперед», затем «применить». Затем нужно указать имя пользователя и пароль (у меня — beeline и beeline), жмем «сохранить».

На этом у меня модем был полностью настроен и работоспособен, удачи в настройке.

Источник

Linux + ZTE MF180 + K-Cell ( Запуск GSM модема ZTE MF180 (под брендом «Kcell Connect») в среде Debian Linux Squeeze. )

12 июля 2012 (обновлено 31 января 2015)

OS: Linux Debian Sqeeze.
Hard: «USB modem ZTE MF180» (он же: MF110/180/626/627/628/628/636), выпускаемый в Казахстане под брендом «Kcell Connect».
Applications: UDEV, eject, wvdial.

Задача: обеспечить работу устройства в режиме «подключил и просто пользуешься».

Запускать в работу будем USB модем «ZTE 180» (устройство очень неоднозначно определяется на разных этапах работы с ним; насколько я понял, на начальных этапах у разработчиков программного обеспечения «открытого мира» информации о чипах этого вида модемов было маловато и каждый именовал их «как придётся» — отсюда разнобой в идентификации). Устройство поддерживает стандарты «HSDPA/HSUPA/UMTS» в частотных диапазонах 850/1900/2100 МГц и «GSM/GPRS/EDGE» в частотных диапазонах 850/900/1800/1900 МГц. Пока разбирался, как взаимодействовать с модемом, начитался страстей о «залоченных» на провайдера и просто «сырых» устройствах, сопряжение которых с Linux целесообразно разве-что в качестве упражнения, предваряющего игры разряда «садо-мазо». Печаль прошла мимо, мне попался модем от казахстанского оператора связи «K-Cell», абсолютно чистое, не осквернённое прошивками местного разлива, и работоспособное устройство, готовое служить потребителю в самых произвольных конфигурациях.

В модемах этой серии применяется технология «ZeroCD», суть которой заключается в том, что при подключении устройство сперва представляется как виртуальный «CD-диск», на котором находятся драйвера и сопутствующее программное обеспечение, а функционал модема становится доступен на втором этапе, когда виртуальному «CD-диску» отдаётся команда «извлечения» — контроллер устройства воспринимает это как сигнал для инициализации второго, основного, уровня функциональности, модема как такового. В качестве приятного дополнения на борту устройства размещён слот для карты памяти формата «microSD» (опытным путём мною установлено, что 4-ёх гигабайтные карты поддерживаются), он становится доступен одновременно с модемом.

Читайте также:  Copying directory in windows command line

Для работы всех функций устройства, ядро операционной системы должно быть собрано в комплекте с драйверами «usbserial», «usb-storage» и «sr_mod». Впрочем, начиная с ядра где-то в районе 2.6.28 модем отлично поддерживается драйвером «option» (попросту говоря, для «mainstream» дистрибутивов Linux с 2011 года никаких телодвижений по обеспечению поддержки модема предпринимать не нужно), а без драйвера «usb-storage» рабочую станцию даже как-то странно себе представить.

Далее, последовательно отработаем этапы вживления модема в рабочую схему. Сразу оговорюсь, в некоторых случаях может оказаться достаточным просто подключить устройство в USB-порт и запустить программу-дозвонщик — это не наш вариант; я описываю свой путь, кривую тропку любопытного человека.

Устанавливаем необходимые пакеты:

Подключаем устройство и смотрим, что нам на это скажет система:

Ага, как я упоминал, нам повезло и устройство вполне корректно опознаётся. Если в окружении рабочего стола настроено автоматическое монтирование «томов» подключаемых носителей информации, можно будет убедится, что да, виртуальный «CD-диск» доступен:

Интересующимся чем-нибудь ещё, кроме телевизора, пива и чипсов, настоятельно рекомендую полистать код скриптов управления устройством в среде Linux, имеющихся на виртуальном носителе. Это действительно познавательно. Всё, что мне понадобилось для настройки модема, я почерпнул от-туда, а вовсе не из статеек, коими полон интернет. Справедливости ради, должен заметить, что не менее полезную, но уже ненужную информацию, я вычитал на ресурсах сообществ «Gentoo» и, отчасти, «ArchLinux».

Ранее многие сталкивались с проблемой неправильного определения модема ядром Linux. Приходилось вручную выгружать какие-то модули, загружать другие, с параметрами, разнящимися от устройства к устройству, от модели к модели. Для автоматизации и упрощения процесса даже написали специальную программу «usb_modeswitch», которая, ориентируясь на собственную базу данных о USB-модемах, не полностью поддерживаемых ядром, помогало их инициировать. В моём случае не понадобилось применения «usb_modeswitch» — оборудование отлично отработало «изъятие» виртуального «CD-диска» с помощью утилиты «eject», произвело смену режима с вещанием новых идентификаторов, которые корректно опозналось системой. Для примера, вот моё ядро, на котором проводились эксперименты:

Итак, «извлекаем» виртуальный «CD-диск», пока в ручном режиме:

Смотрим, как на это отреагировала система:

Отлично, устройство заявило о наличии трёх последовательных интерфейсов, управление которыми было передано драйверу «option», и одного интерфейса накопителя, управление которым было передано драйверу «usb-storage».

Обращаю внимание на смену идентификаторов устройства, зафиксировать которую можно в выводе утилит «dmesg» или «lsusb», например:

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

В ручном режиме «извлекать» виртуальный «CD-диск» неприемлемо. Прежде чем перейти к освоению функционала GSM-модема напишем правило для подсистемы UDEV, которое в момент подключения устройства прикрепит к нему статическое символическое имя и, ориентируясь на него-же, отдаст команду стороннему приложению «извлечь» ненужное нам виртуальное устройство:

После сохранения файла даём подсистеме UDEV команду перечитать и принять новую конфигурацию:

Любителям оптимизаций рекомендую ознакомится с выводом утилит UDEV, генерируемым во время или после подключения устройств:

Читайте также:  Как проверить ком порт линукс

В принципе, после того, как функционал GSM-модема стал доступным, ничего не мешает нам запустить программу-дозвонщик и подключится к интернету. Смущает то, что последовательных интерфейсов у устройства обнаружилось три штуки. За каким из них модем, и как сделать так, чтобы приложение уровня пользователя могло использовать его в заданной раз и навсегда конфигурации, не гадая, на каком из множества (у меня порой до пяти-семи штук) последовательных портов разместился целевой преобразователь? Важно помнить о том, что стек USB не поддерживает абсолютной адресации вообще и все устройства становятся доступны по уникальному порядковому номеру (типа индекса), выдаваемого в соответствии с последовательностью подключения. В общем, сегодня модем может работать на порту «ttyUSB2», а завтра переехать на порт «ttyUSB5», если перед ним успели включить иное устройство.

Приступим ко второму этапу вживления модема в Linux. Прежде всего более детально ознакомимся с тем, что за «порты» предлагает нам устройство для взаимодействия. Вероятно, как это принято в свежеиспечённых дистрибутивах Linux, файловая система отображения состояния USB устройств не смонтирована. Сделаем это вручную, один раз, для ознакомления:

Найдём в файле перечня всех доступных USB устройств наше:

Что-то мы уже знаем, а о чём-то догадывались. Понятно, что каждый интерфейс устройства предназначен для определённой цели. Так, если идти от востребованного, третий интерфейс является стандартным преобразователем «USB-Serial», к нему подключается драйвер «usbserial» или «option», и через этот интерфейс осуществляется основной обмен данными. Второй интерфейс предоставляет доступ к встроенному слоту для карты памяти «microSD», к данному интерфейсу подключается драйвер «usb-storage». Нулевой и первый интерфейсы предназначены для отправки управляющих последовательностей, речь о которых пойдёт в другой заметке. Я так уверено пишу здесь о назначении интерфейсов не потому, что прочитал об этом в документации, а на основании массы косвенных сведений, которые в сумме позволяют делать достаточно обоснованные выводы. Собственно, далее опросив интерфейсы, мы сами найдём «зерно»:

Выше мы уже видели, что для взаимодействия с устройством были созданы три последовательных порта. Вот они:

Зашлём в каждый из них управляющую последовательность, отреагировать на которую сочтёт честью любой модем:

Сразу после этого попробуем прочитать ответы: (работа утилиты «cat» прерывается комбинацией «Ctrl+C»):

«Нулевой» интерфейс ввод принимает, но ничего не отдаёт.

Источник

Установка и настройка модемов 3G USB

Содержание

Общее [ править ]

Есть несколько путей:

  1. использовать штатные средства NetworkManager
  2. настраивать дозвон через wvdial , kppp или что вам нравится самостоятельно
  3. использовать программу, поставляемую Мегафоном со своими модемами. Использование этого пути позволяет избежать ненужных телодвижений для проверки баланса счета. Решение тестировалось на Simply Linux. Внимание! Установочный скрипт программы MobilePartner добавляет строку «ALL ALL=(ALL) NOPASSWD:/usr/local/MegaFon Internet/MobilePartner.sh» в /etc/sudoers и изменяет некоторые другие файлы /etc/.
  4. использовать /etc/net

В большинстве случаев ничего настраивать не надо — достаточно установить пакет usb-modeswitch и зависимые от него (например, usb-modeswitch-data ), в некоторых дистрибутивах также udev-extras .

Чаще всего и их устанавливать не надо, т.к. всё необходимое уже установлено и работает из коробки. Достаточно настроить работу модема через NetworkManager.

В данной статье описаны примеры настройки на случай, если что-то не работает — или если требуется более тонкая настройка/автоматизация при помощи etcnet .

Megafon M150-1 (он же Huawei E3276) [ править ]

Данный модем является 4g модемом со встроенной сетевой картой. Но данная сетевая карта хоть и видится в системе, но не живёт. После подключения модема в системе определяется как Bus 002 Device 006: ID 12d1:1506 Huawei Technologies Co., Ltd. Modem/Networkcard

При этом появляется интерфейс wwp0s29u1u2i1

Но попытка сделать его up ни к чему не приводит — после ip link set up dev wwp0s29u1u2i1 он всё равно остаётся wwp0s29u1u2i1: mtu 1500 qdisc pfifo_fast state DOWN qlen 1000

Читайте также:  Linux one dota 2

Помогает в режиме сетевой карты внести

При необходимости можно от отключить в нём сетевую карту и включить режим обычного модема:

Вернуть всё обратно:

Huawei E1550 [ править ]

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

Для Шестой и выше:

После установки пакетов в Пятой платформе смотрим файл /etc/usb_modeswitch.conf . Добавляем, если ещё нет:

Здесь DefaultVendor= 0x12d1 и DefaultProduct= 0x1446 должны соответствовать выдаваемым командой lsusb

Все другие подобные строки необходимо закомментировать, используя символ «;»

Добавляем правило udev, создавая файл /etc/udev/rules.d/45-huawei-e1550.rules с таким содержимым:

После этого модем определяется lsusb как:

Для Шестой и выше платформы, ваш модем должен присутствовать в файле /lib/udev/rules.d/40-modeswitch.rules

Важно! В строке определения должно быть именно 1001 — это код собственно модема, а не виртуального CD с софтом под Win&Mac OS

Huawei E1750 [ править ]

(В выводе lsusb может быть виден, например, как 12d1:1446 Huawei Technologies Co., Ltd. HSPA modem .)

  1. создаем файл 45-huawei-e1750.rules
  2. добавляем в него:
  3. добавляем данные в файл /etc/usb_modeswitch.conf :

ZTE MF-180 [ править ]

Применительно к модему ZTE mf-180 от Билайн: прежде всего надо отучить устройство представляться как CD-ROM — например, с помощью minicom (от имени root):

  • minicom -s
  • выбираем из списка: Настройка последовательного порта, далее жмём A и прописываем /dev/ttyUSB0 (может быть на USB1, USB2)
  • модем должен инициализироваться, затем командой at+zcdrun=8 выключаем сидиром
  • если нужно вернуть всё как было, то at+zcdrun=9 включает сидиром

Ну а после можно воспользоваться kppp для подключения собственно модема.

  • имя: beeline
  • номер: _*99#_
  • ip: динамический
  • шлюз: по умолчанию
  • DNS-серверы: автоматически
  • имя модема: zte
  • устройство модема: скорее всего будет /dev/ttyUSB2
  • управление потоком: аппаратное
  • окончание строки: CR/LF
  • команды модема: в строке инициализации 1 пишем AT+CGDCONT=1,"ip","internet.beeline.ru"

Примечание: возможно, так же будет работать ZTE mf-170.

Также для разных модемов от ZTE могут использоваться AT-команды (не проверено):

  • AT^U2DIAG=0 (девайс в режиме только модем)
  • AT^U2DIAG=1 (девайс в режиме модем + CD-ROM)
  • AT^U2DIAG=255 (девайс в режиме модем + CD-ROM + Card Reader)
  • AT^U2DIAG=256 (девайс в режиме модем + Card Reader, можно использывать как обычную флешку, отказавшись от установки драйверов модема)

ZTE MF-112 [ править ]

Это модем от МТС, возможно у других компаний тоже есть эта модель Особенности — бывают двух видов: определяющиеся как

  1. 19d2:0103
  2. 19d2:2000 (19d2:2003 — это картридер)

Первый — спокойно обрабатывается modeswitch и спокойно работает Второй — приходится отключать CD и картридер После отключения CD и кард-ридера определяется как 19d2:0016

Вот некоторые команды, первые 4 проверены на 19d2:2000. Первые 4 и 10-я команда также работают на 19d2:0016

  • ATE1 # просмотр статуса выполненных команд
  • AT+ZCDRUN=8 # отключаем автозагрузку USB CD-ROM
  • AT+ZCDRUN=9 # включит автозагрузку USB CD-ROM
  • AT+ZCDRUN=E # только модем, отключить картридер и автозагрузку USB CD-ROM
  • AT+ZCDRUN=F # модем + кардридер + USB CD-ROM
  • AT+cfun=0 # выключить модем
  • AT+cfun=1 # включить
  • AT+CSQ # уровень сигнала сети
  • AT+CGMR # версия ПО
  • AT+CGSN # IMEI
  • AT+CNUM # ваш номер сим
  • AT+zsnt? # текущий режим поиска сети
  • AT+zsnt=0,0,0 # установить режим поиска сети «автоматически, GSM+WCDMA»
  • AT+zsnt=0,0,1 # установить «автоматически, GSM+WCDMA, предпочтительно GSM»
  • AT+zsnt=0,0,2 # установить «автоматически, GSM+WCDMA, предпочтительно WCDMA»
  • AT+zsnt=1,0,0 # установить «автоматически, только GSM»
  • AT+zsnt=2,0,0 # установить «автоматически, только WCDMA»
  • AT+zsnt=0,1,0 # установить «вручную, GSM+WCDMA»
  • AT+zsnt=1,1,0 # установить «вручную. только GSM»
  • AT+zsnt=2,1,0 # установить «вручную, только WCDMA»
  • AT+COPS=? # сканируется сеть и выводит список операторов связи
  • AT+CPIN? # узнаём, требуется ли вводить пин-код для разблокировки доступа к мобильной сети.
  • AT+CPIN=0000 # пример, ввод PIN кода

Настройки для etcnet [ править ]

в каталоге /etc/net/ifaces/ppp1/ : (цифра может меняться в зависимостри от номера интерфейса):

Источник

Оцените статью