Linux не видит модем

Обновлено: 04.07.2024

CDMA USB-модем в Ubuntu 10.04, 10.10, 11.04.

Строго говоря, В Ubuntu есть всего два недоразумения,-
1. невозможность работать с флоппи-дисковводом и
2. “невидимость” беспроводных CDMA модемов, особенно последних выпусков.

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

Запуск USB-модема мы будем производить на примере модема Huawei EC306.
Для установки потребуется Идентификатор модема.
Узнать его можно включив модем и дав в Терминале команду lsusb.
Для модема Huawei EC306 >

Для работы с современными CDMA модемами у Вас должен быть
установлен пакет usb-modeswitch.
Сделать это удобнее всего через меню
System – Administration – Synaptic Package Manager.
(Предполагается, что у Вас есть графический интерфейс.
Иначе,- нет смысла работать с Ubuntu)

Далее. НЕ делайте ничего, что написано в Интернет по поводу
Корректирования /etc/usb_modeswitch.conf .
Что-бы Вы туда не записали, это не будет использоваться
кроме двух уже существующих настроек:
Disableswitching=1, если запретить работу modeswitch
и Enablelogging=1, если запретить запись в журнал).
Но трогать их не имеет никакого смысла.

И вообще, большинство публикаций на тему CDMA USB-модемов рассказывают о том, как подключиться к Интернет, если с модемом все в порядке.
А задача-то совсем иная,- есть модем, но существующими драйверами он не управляется. ( Отсутствует “родной драйвер” ).
В этом случае все эти рекомендации бесполезны.
В том числе – и советы установить какой-нибудь Mobile Partner или wvdial.

Для начала идем в /usr/sbin/modeswitch_dispatcher и слегка повышаем свой идейно-политический уровень, пытаясь понять принципы активации USB-модема.

В вольном переводе это означает, что для запуска модема важны два момента:

Теперь нам известны принципы обнаружения модема.
Начинаем вносить изменения.

Далее, после комментариев

Изменения в /etc/usb_modeswitch.d

Эти изменения делаются с целью применить вместо отсутствующего драйвера
на модем EC306 один из подходящих.

Находим здесь запись 12d1:1520
и копируем ее сюда же, но с именем 12d1:1505

Больше ничего не меняем !

Смотрим, что же получилось.

Отключаем USB-модем.
Команда lsusb USB-модем не находит.

Подключаем USB-модем и сразу даем команду lsusb.
Сначала модем будет виден как 12d1:1505 Huawei
но очень скоро строка поменяется на 12d1:14ac …

Вместо отсутствующего драйвера подключен существующий.
И модем будет виден в
System – Preferinces – Network Connections – Mobile Broadband

Лучшие результаты по скорости приема-передачи
дает копирование записи 12d1:1557 (для модема E173)

be4ae60fbc9f433687c112ae3a104b9b.jpg

Железо:

f7f7caaea8e0430290e9dbae4dd6b4dc.jpg

В меню, где сетевые подключения нету пункта (для мобильных соединений), хотя помню, что на другом буке они были:

Прошу более подробно рассказать, так как я не особо "шарю" :)

Оценить 1 комментарий

miraage

Если серьезно - сносим бубунту, ставим что-нибудь людское (например, Debian) сделать lsusb или lspci и выяснить модель модема, потом по этой модели посмотреть необходимые для работы пакеты (драйвер/модуль ядра) и установить их.. посмотреть на предмет usbmodeswitch

Adamos

Модель сплошь и рядом можно посмотреть, просто сняв крышку.
Многим это проще, чем lsusb :) Adamos: не все то, что написано на крышке будет моделью :) важно как его видит система

Adamos

mikes: То, что написано на крышке у модема МТС, точно не будет моделью! А вот под крышкой, скорее всего, будет шильдик от Huawei или кто там им строгает ODM. Adamos: Это не имеет значения. Важны idVendor и idProduct -вот по ним и надо смотреть.

Adamos

AVKor: Если хочется почитать, что другие люди вытворяли с таким модемом и что у них получилось - лучше все-таки не айдишники, а модель.

Adamos: нет, лучше всё-таки взять айдишники, они уникальны для модели, а не для конкретного устройства, в данном случае.

Вы с Serial Number/IMEI путаете - они на модемах уникальны.

Adamos

Влад Животнев: я путаю? По-моему, это вы не различаете слова "таким" и "этим".

Adamos: ещё раз. В пределах одной "маркетинговой модели" (например, zte mf192) есть несколько разных id-ников (или по другому - несколько разных "физических" моделей).

Производителю захочется выпустить новую партию под известным брендом (при том скрыть от покупателя, что это на самом деле другая железка), но чипы, которые он использовал, взять уже негде. В этом случае он обязан сменить ID, но не обязан менять название модели.

Таким нехитрым образом есть целых три mf192 на рынке с разными ID, один из которых под линуксами года до 2013-го не работал совсем (благо, в Россию он не поставлялся, да и вообще из китая не вывозился вроде).

Поэтому если хочется посмотреть, что делали с "таким" модемом - лучше искать по ID.

Olej

Трудно понять что там за меню вы рассматирваете, но похоже, что это Network Manager.
Прежде чем ним устанавливать соединение, вы должны быть уверены, что:
- ваше устройство вообще видится:

- оно переключилось из устройства инсталляционного CD-ROM в режим AT модема:


Всё очень зависит от конкретного типа модема, который вы не указываете.

Как подключить 3g usb модем (мегафон, мтс, билайн) в ubuntu linux 12.04

В этой статье будет рассмотрена настройка и подключение 3G USB модема
(МТС, Мегафон) в Ubuntu 12.04. Это предельно
простая инструкция как подключить сотовый 3G модем в графической среде
Unity, с использованием интерфейса
Network Manager. Инструкция применима не только к
Ubuntu установленной на жесткий диск, но и к
Live варианту запускаемому с
USB флешки или с лазерного диска.

В Linux, в графических оболочках
Gnome, KDE, XFCE, Unity в качестве графического
интерфейса для настройки сетевых подключений используется программа Network Manager. Точнее Network
Manager обеспечивает plug and play работу с
физическими сетевыми устройствами, а графический интерфейс этой программы
называется Network Manager
Applet (nm-applet). Network Manager
Applet отображается в виде значка в системном трее
и если на этом значке кликнуть мышью откроется меню с функциями программы:

Настройка 3G-модема в Linux •

Настройка 3G-модема в Linux •

Настройка 3G-модема в Linux •

Настройка 3G-модема в Linux •

Настройка 3G-модема в Linux •

Настройка 3G-модема в Linux •

Настройка 3G-модема в Linux •

Настройка 3G-модема в Linux •

Настройка 3G-модема в Linux •

И через несколько секунд соединение будет установлено:

Настройка 3G-модема в Linux •

Настройка 3G-модема в Linux •

Иван Сухов, 2021 г.

Мегафон

Про umts/lte-модемы и linux. практика.

Настройка 3G-модема в Linux •

Продолжение. Начало здесь .

Bus 006 Device 002: ID 03f0:1027 Hewlett-Packard Virtual keyboard and mouse
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 003: ID 1199:68a2 Sierra Wireless, Inc. MC7710 Modem
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Больше про Хуавей: Обзор Huawei Band 4 – бюджетник с богатым функционалом

Внезапно, и псевдотерминалы появились в большом количестве:

Вроде работает. Тут наступает небольшая засада. В дальнейшем нам придётся из различных скриптов ссылаться на найденный псевдотерминал. Но никто не может гарантировать нам, что после очередной перезагрузки сервера имя устройства останется таким же. Поэтому придётся помучать udev для того чтобы создать символическую ссылку (symlink), дабы увековечить нашу бесценную находку. Для начала смотрим к каким атрибутам мы могли бы привязаться.

Копипаста ниже была взята с другой конфигурации оборудования, поэтому некоторые буквы-цифры там будут расходиться с моим примером. Самые внимательные, наверное, даже найдут где именно. Но общий смысл от этого не меняется. Текстовое поле можно растянуть, чтобы было удобнее читать.

Больше про Хуавей: Huawei начала развертывать стабильную сборку EMUI 11, первыми ее получат P40, P40 Pro и Mate 30 Pro | Смартфоны | Дайджест новостей | Клуб DNS

Также увеличилось количество псевдотерминалов ажно до пяти штук. И несколько изменился набор допустимых AT-команд.

Больше про Хуавей: Обзор Huawei Honor Band 4 и инструкция по настройке и подключению

Простой рецепт устойчивой работы 3g под linux

Но мне требовалось более надежное решение, независящее от моего присутствия. Сам рецепт подсказывал мне — надо научиться программно перезапускать модем.

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

Команда заставляет модем перегрузиться и снова перейти в рабочий режим.

Модем действительно перегрузился, даже находясь в режиме передачи данных — команда была послана через ttyUSB2.

В консоли команда отправляется так:

Проблема теоретически решена. Осталось автоматизировать процесс.

В /etc/wvdial.conf добавил ограничение на количество попыток соединения:

После пяти не успешных попыток дозвониться, wvdial завершит работу.

Теперь обертываю вызов wvdial в скрипт:

Вызов скрипта добавляю в скрипт загрузки системы.

/var/log/wvdial.log — будут писаться события wvdial

/var/log/3g.log — события скрипта

30 секунд оказалось вполне достаточно для перезагрузки модема.

Способ 1: настройка через gnome-ppp

1) Устанавливаем программу:

2) Чтобы не писать каждый раз в терминале команду для запуска, я создала launcher

3) После запуска видим окошко, в котором нужно заполнить все поля

4) Далее необходим задать некоторые настройки, нажимаем кнопочку Setup

  • жмем Detect и автоматически определяется наш модем
  • обязательно убираем Wait For Dialtone

нажав на Init Strings, добавляем строку инициализации:

  • копируем, вставляем
  • чтобы сохранилась, нажимаем Enter
  • потом нажимаем Close

В примере строка для Киевстара и определенного тарифного плана! Вам нужно вставить свою строку инициализации: для своего оператора и своего тарифного плана!

на вкладке ставим галочки, как показано на рисунке (обязательно убираем Abort connecting if no dialtone!). Можно еще отметить две первых галочки, но в Ubuntu 11.04 при сворачивании в трей окошки исчезают и развернуть их без лишних действий невозможно =)

Когда все настройки заданы, нажимаем Close и попадаем на уже знакомую вкладку

Нажимаем Connect и наслаждаем интернетом 🙂

Способ 2: настройка через networkmanager

1) Заходим в Network Connections → Mobile Broadband → Add (или Edit, если подключение автоматически добавилось)


Человек, купивший набор МТС Коннект, или аналогичный от других мобильных операторов, сталкивается с невозможностью использовать его под 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 и в дальнейшем отказаться от возможности использовать устройство как флешку. Это облегчит вам жизнь при настройке модемного соединения под Линукс.


Введя команду, смело жмем 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). Это можно проверить командой:

Обратите внимание на последнюю строку вывода. У меня модуль usbserial подключен. Если у вас не так, то нужно его подключить. Как это сделать, зависит от вашего дистрибутива. Данная статья не может вместить инструкций по этому вопросу. Вы же хотели повозиться с любимой системой?

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

Для пользователей RPM дистрибутивов

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

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

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

После этого следует подключить модем к USB порту, дождаться пока он будет определен системой как CD-ROM, а затем запустить команду (как root):

Немедленно после этого значок CD-ROM пропадает на некоторое время, а через 20-30 секунд снова появляется. Команда отключила эмуляцию CD-ROM, udev и hal тут же распознали собственно модем, а затем снова произошла эмуляция CD-ROM.

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

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

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

Запускаем в root консоли команду minicom -s:


Выбираем строку "Настройка последовательного порта" и жмем ENTER.


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

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

Введите команду AT и нажмите ENTER. Появится ответ - OK.


Осталось ввести (лучше всего скопировать) команду AT^U2DIAG=0 и нажать ENTER. Снова появится ответ - OK.

Теперь нажимаем CTRL+A и внизу окна миникома появится красная панель. Нажав Z можно просмотреть список команд. Нам нужна "Выход без сброса"- Q. Нажимаем Q и покидаем программу миником. Модем доработан.

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

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

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

Для пользователей Debian-подобных дистрибутивов (Ubuntu и иже с ними)

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

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

После этого в директории /dev должны появиться три устройства: ttyUSB0-ttyUSB2. это можно проверить при помощи команды:

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

Настройка модемного соединения с Интернет

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

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

Wvdial

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

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

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

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

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

KPPP - программа дозвона для рабочего стола KDE

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

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

GNOME PPP - программа дозвона для рабочего стола GNOME

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

Надеюсь, что вы уже "довели до ума" свой модем и подсоединились к Паутине. Счастливого серфинга!

Читайте также: