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

Обмен опытом по установке Линукс на разные аппаратные конфигурации

Модераторы: Olej, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Установка и настройка USB-модемов

Непрочитанное сообщение Olej » 29 авг 2016, 20:10

Попался вот такой ещё модем ... про который хозяин знает только что:
модем стандартный мтс 4G
Круто :lol:

Но на нём я попробую записать хотя бы начальную часть разборок с новой моделью USB-модема - за что можно зацепиться:

1. Выясняем точно ID производителя и продукта (девайса) этого производителя:

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

$ lsusb
Bus 001 Device 001: ID 1d6b:002
Bus 001 Device 002: ID 12d1:15e7
Это тот модем, который "стандартный мтс 4G" - 2-я строчка это модем.
И уже понятно, что это Huawei

2. Смотрим сообщения при втыкании модема в USB:

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

$ dmesg | tail -n30
Что там пишут про 12d1:15e7 ?

3. Смотрим не распознался ли модем:

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

$ ls -l /dev/ttyUSB*
not such file or directory
$ ls -l  /dev/ttyACM*
not such file or directory
Вот в том случае - нет.
Если да, то одно из устройств /dev/ttyUSB* или /dev/ttyACM* - это AT-модем, и вам остаётся только установить соединение.

4. Но если модем не распознался модулем ядра (нет /dev/ttyUSB* или /dev/ttyACM*) - самое время заглянуть в код ядра (модулей ядра) вашей версии.
- практически все модемы (по крайней мере по состоянию на 2014г.) поддерживаются только 3-мя модулями ядра: 1) usb-storage - это самые старые модели, 2) option - это наибольшее число распространённых моделей, 3) qcaux - это для самых новых.
- на Linux Cross Reference найти и открыть код этих 3-х модулей (поочерёдно) ... например, ищем здесь:
http://lxr.free-electrons.com/source/drivers/usb/serial/option.c?v=3.1
http://lxr.free-electrons.com/source/drivers/usb/serial/qcaux.c?v=3.1
- контекстным поиском в браузере найти на страницы VID и DID вашей модели модема
Находим в option.c:

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

 81 #define HUAWEI_VENDOR_ID                        0x12D1
...
156 #define HUAWEI_PRODUCT_K4511                    0x14CC
157 #define HUAWEI_PRODUCT_ETS1220                  0x1803
158 #define HUAWEI_PRODUCT_E353                     0x1506
Нет там такого DID=15e7 !

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Установка и настройка USB-модемов

Непрочитанное сообщение Olej » 29 авг 2016, 20:41

5. В таких случаях это скорее всего означает, что ваш USB-модем - это не модем, а это CD-ROM установочный вашего модема... с драйверами под Windows.
И его нужно переключить в режим модема.
Обычно, цивилизовано это должно переключаться пакетом usb_modeswitch.
Но есть и способы насильственного ручного переключения ... популярные лет 10 назад :-o :lol:
В Интернет есть множество для этого описаний.

6. Но есть в любом смысле (даже если у вас нет) посмотреть (на другом компьютере, дистрибутиве):

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

[olej@dell usb_modeswitch.d]$ cat /etc/usb_modeswitch.d/12d1:15e7
# Huawei E3531
TargetVendor=0x12d1
TargetProduct=0x1506
HuaweiNewMode=1
Это командный файл пакета usb_modeswitch для переключения в режим модема модели 12d1:15e7.
И модем становится ... модемом модели Huawei E3531 - 12d1:1506

7. Легко убеждаемся, что option.c (ссылка выше) как раз и ожидает для поддержки такой модем:

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

158 #define HUAWEI_PRODUCT_E353                     0x1506
8. После переключения у вас в системе появляется устройство модема (/dev/ttyUSB* или /dev/ttyACM*).
Остаётся установить коннект с вашим провайдером.
Для этого есть как минимум 4 альтернативы:
- использовать аплет NetManager;
- использовать какую-то популярную программу модемного диалера, wdial или любую другую;
- установить pppd и вручную устанавливать ppp-соединение (как по ссылке) ... или Подключение модемов напрямую через PPP при помощи скриптов
- использовать консольный интерфейс того NetManager - CLI Network Manager использовать: команда nmcli, через man и -h найдёте подробности.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Установка и настройка USB-модемов

Непрочитанное сообщение Olej » 31 авг 2016, 15:03

Olej писал(а): 8. После переключения у вас в системе появляется устройство модема (/dev/ttyUSB* или /dev/ttyACM*).
Остаётся установить коннект с вашим провайдером.
Для этого есть как минимум 4 альтернативы:
- использовать аплет NetManager;
- использовать какую-то популярную программу модемного диалера, wdial или любую другую;
- установить pppd и вручную устанавливать ppp-соединение (как по ссылке) ... или Подключение модемов напрямую через PPP при помощи скриптов
- использовать консольный интерфейс того NetManager - CLI Network Manager использовать: команда nmcli, через man и -h найдёте подробности.
Вот с этим моментом возникают свои всякие сложности.
Про уродства с подключением, провайдерами, переключениями между режимами 2G и 3G ... и прочие глупости ;-) - довольно любопытные подробности здесь: > Нужна помошь для подключения к интернету через 3G модем

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Установка и настройка USB-модемов

Непрочитанное сообщение Olej » 31 авг 2016, 15:49

Olej писал(а): Про уродства с подключением, провайдерами, переключениями между режимами 2G и 3G ... и прочие глупости ;-) - довольно любопытные подробности здесь: > Нужна помощь для подключения к интернету через 3G модем
Там же - напоминание некоторых нужных модемных команд AT ... но прежде нужно установить соответствующие программы для работы с терминалом/модемом:

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

[olej@dell snmp.13]$ dnf list cutecom
Последняя проверка окончания срока действия метаданных: 6 days, 16:52:15 назад, Wed Aug 24 22:22:54 2016.
Доступные пакеты
cutecom.x86_64                                                     0.22.0-10.fc23                                                     fedora

[olej@dell snmp.13]$ dnf list minicom
Последняя проверка окончания срока действия метаданных: 6 days, 16:52:24 назад, Wed Aug 24 22:22:54 2016.
Установленные пакеты
minicom.x86_64                                                      2.7-5.fc23                                                       @System

[olej@dell snmp.13]$ sudo dnf install minicom cutecom
[sudo] пароль для olej: 
Последняя проверка окончания срока действия метаданных: 0:53:45 назад, Wed Aug 31 14:22:45 2016.
Пакет minicom-2.7-5.fc23.x86_64 уже установлен, пропуск.
Зависимости разрешены.
============================================================================================================================================
 Package                         Архитектура                    Версия                                 Репозиторий                    Размер
============================================================================================================================================
Установка:
 cutecom                         x86_64                         0.22.0-10.fc23                         fedora                          62 k

Результат операции
============================================================================================================================================
Установка  1 Пакет

Объем загрузки: 62 k
Объем изменений: 155 k
Продолжить? [д/Н]: y
Загрузка пакетов:
cutecom-0.22.0-10.fc23.x86_64.rpm                                                                            77 kB/s |  62 kB     00:00    
--------------------------------------------------------------------------------------------------------------------------------------------
Общий размер                                                                                                 27 kB/s |  62 kB     00:02     
Проверка транзакции
Проверка транзакции успешно завершена.
Идет проверка транзакции
Тест транзакции проведен успешно
Выполнение транзакции
  Установка    : cutecom-0.22.0-10.fc23.x86_64                                                                                          1/1 
  Проверка     : cutecom-0.22.0-10.fc23.x86_64                                                                                          1/1 

Установлено:
  cutecom.x86_64 0.22.0-10.fc23                                                                                                             

Выполнено!
Они же - для ручного перевода USB-модема с режима CD-ROM в режим модема.

ModemManager - CLI интерфейс:

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

[olej@dell bin]$ which mmcli
/usr/bin/mmcli

[olej@dell bin]$ mmcli --help
Использование:
  mmcli [ПАРАМЕТР…] - Control and monitor the ModemManager

Параметры справки:
  -h, --help                                                  Показать параметры справки
  --help-all                                                  Показать все параметры справки
  --help-manager                                              Show manager options
  --help-common                                               Show common options
  --help-modem                                                Show modem options
  --help-3gpp                                                 Show 3GPP related options
  --help-cdma                                                 Show CDMA related options
  --help-simple                                               Show Simple options
  --help-location                                             Show Location options
  --help-messaging                                            Show Messaging options
  --help-time                                                 Show Time options
  --help-firmware                                             Show Firmware options
  --help-signal                                               Show Signal options
  --help-oma                                                  Show OMA options
  --help-sim                                                  Show SIM options
  --help-bearer                                               Show bearer options
  --help-sms                                                  Show SMS options

Параметры приложения:
  -v, --verbose                                               Run action with verbose logs
  -V, --version                                               Print version
  -a, --async                                                 Use asynchronous methods
  --timeout=[SECONDS]                                         Timeout for the operation

[olej@dell bin]$ mmcli --help-modem
Использование:
  mmcli [ПАРАМЕТР…] - Control and monitor the ModemManager

Modem options
  -w, --monitor-state                                         Monitor state of a given modem
  -e, --enable                                                Enable a given modem
  -d, --disable                                               Disable a given modem
  --set-power-state-on                                        Set full power state in the modem
  --set-power-state-low                                       Set low power state in the modem
  --set-power-state-off                                       Power off the modem
  -r, --reset                                                 Reset a given modem
  --factory-reset=[CODE]                                      Reset a given modem to its factory state
  --command=[COMMAND]                                         Send an AT command to the modem
  --list-bearers                                              List packet data bearers available in a given modem
  --create-bearer=["key=value,..."]                           Create a new packet data bearer in a given modem
  --delete-bearer=[PATH|INDEX]                                Delete a data bearer from a given modem
  --set-current-capabilities=[CAPABILITY1|CAPABILITY2...]     Set current modem capabilities.
  --set-allowed-modes=[MODE1|MODE2...]                        Set allowed modes in a given modem.
  --set-preferred-mode=[MODE]                                 Set preferred mode in a given modem (Must give allowed modes with --set-allowed-modes)
  --set-current-bands=[BAND1|BAND2...]                        Set bands to be used by a given modem.

[olej@dell bin]$ mmcli --help-cdma
Использование:
  mmcli [ПАРАМЕТР…] - Control and monitor the ModemManager

CDMA options
  --cdma-activate=[CARRIER]                                   Provision the modem to use with a given carrier using OTA settings.
  --cdma-activate-manual=["key=value,..."]                    Provision the modem with the given settings. 'spc', 'sid', 'mdn' and 'min' are mandatory, 'mn-ha-key' and 'mn-aaa-key' are optional.
  --cdma-activate-manual-with-prl=[File path]                 Use the given file contents as data for the PRL.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Установка и настройка USB-модемов

Непрочитанное сообщение Olej » 31 авг 2016, 15:56

Olej писал(а): Там же - напоминание некоторых нужных модемных команд AT ... но прежде нужно установить соответствующие программы для работы с терминалом/модемом:

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

[olej@dell ~]$ sudo cutecom
...
cc1.png
Здесь нужно:
- вписать (он сам в список не увидит) имя устройства модема ... часто это /dev/ttyUSB0
- сделать "Open device" (слева вверху)
- выбрать "CR line end" (справа внизу)
- команда ATI даст модель модема и номер прошивки.

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

[olej@dell ~]$ sudo minicom -D /dev/ttyUSB0
Добро пожаловать в minicom 2.7                                                                          
                                                                                                        
ПАРАМЕТРЫ: I18n                                                                                         
Дата компиляции Jun 17 2015, 20:54:53.                                                                  
Port /dev/ttyUSB0, 15:11:49                                                                             
                                                                                                        
Нажмите CTRL-A Z для получения подсказки по клавишам       
...

Ответить

Вернуться в «Железо для Linux»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 30 гостей