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

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

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

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

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

Непрочитанное сообщение Olej » 21 ноя 2012, 22:55

Olej писал(а): - где мне нужно устройство СD-ROM PID=0x0065 перевести в /dev/ttyUSB0 PID=0x0044 (в Windows установочной их программе подсмотрел).
Но откуда берут hex-строки переконфигурации -M ...?
Попалась на глаза хорошая заметка в тему: Установка и настройка модемов 3G USB (это из ALT-Linux).
Там конкретно под usb-modeswitch содержимое для конф. файлов нескольких типов модемов.
Это сильно интересно не только для этих конкретных модемов, но и для сравнения, с тем, чтобы это сделать для любого!
Вот как в usb-modeswitch переключается пара моделей из CD-ROM в модем:

Huawei E1550
В файл /etc/usb_modeswitch.conf. Добавляем. Или отдельным файлом в каталог /etc/usb_modeswitch.d:

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

######################################################## 
# Huawei E1550
# 
# Contributor: Bogomips
DefaultVendor= 0x12d1
DefaultProduct= 0x1446
MessageContent="55534243000000000000000000000011060000000000000000000000000000"
MessageEndpoint=0x01
CheckSuccess=5
Добавляем правило udev (создавая любой файл, типа /etc/udev/rules.d/45-huawei-e1550.rules с):

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

ACTION=="add" SUBSYSTEM=="usb", SYSFS{idProduct}=="1446", SYSFS{idVendor}=="12d1", RUN+="/usr/sbin/usb_modeswitch"
И VID:PID=12d1:1446 должно перейти в 12d1:1001:

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

$ lsusb
Bus 005 Device 002: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Modem
Huawei E1750
В файл /etc/usb_modeswitch.conf. Добавляем. Или отдельным файлом в каталог /etc/usb_modeswitch.d:

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

########################################################
DefaultVendor=0x12d1
DefaultProduct=0x1446
TargetVendor=0x12d1
TargetProduct=0x1001
DetachStorageOnly=30
HuaweiMode=3
MessageContent="55534243000000000000000000000011060000000000000000000000000000"
Добавляем правило udev :

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

ACTION=="add" SUBSYSTEM=="usb", SYSFS{idProduct}=="1446", SYSFS{idVendor}=="12d1", RUN+="/usr/sbin/usb_modeswitch"
Чтоб перевести VID:PID=12d1:1446 в 12d1:1001:

Логика работы usb_modeswitch совершенно понятна.
Кроме одного вопроса: как? где? взять строку MessageContent для произвольного типа модема?
Или как по тех.описаниям на сайте производителя составить такую строку MessageContent?

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

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

Непрочитанное сообщение Olej » 27 дек 2012, 22:41

Попал в руки мне ещё один модем (попросили разобраться):

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

bash-4.2$ lsusb
Bus 001 Device 002: ID 0424:2503 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 012: ID 106c:3716 Curitel Communications, Inc.
Bus 004 Device 002: ID 046d:c517 Logitech, Inc. LX710 Cordless Desktop Laser
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 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 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 005: ID 03f0:171d Hewlett-Packard Wireless (Bluetooth + WLAN) Interface [Integrated Module]
Bus 001 Device 006: ID 08ff:2580 AuthenTec, Inc. AES2501 Fingerprint Sensor
Вот 106c:3716 - это он и есть.
Больше я про него ничего не знаю!
... ах да, оператор, для которого он куплен: InterTelecom, Украина, CDMA, тариф "свободный доступ" (посуточный).

Вот попробую ещё на нём ещё раз разобраться с общим алгоритмом разборок с USB-модемами.

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

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

Непрочитанное сообщение Olej » 27 дек 2012, 22:48

Olej писал(а):Вот попробую ещё на нём ещё раз разобраться с общим алгоритмом разборок с USB-модемами.
Модуль поддержки загрузился:

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

bash-4.2$ ls -l /dev/*USB*
crw-rw---- 1 root dialout 188, 0 дек.  27 21:27 /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 1 дек.  27 21:27 /dev/ttyUSB1

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

bash-4.2$ ls -l /dev/*ACM*
crw-rw---- 1 root dialout 166, 0 дек.  27 23:03 /dev/ttyACM0
... такого я ещё не видел! :-o :

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

bash-4.2$ modprobe -c | grep -i 106c | grep 3716
alias usb:v106Cp3716d*dc*dsc*dp*icFFiscFEipFF* qcaux
alias usb:v106Cp3716d*dc*dsc*dp*icFFiscFFipFF* qcaux
Поддерживающий модуль qcaux.ko ? :

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

bash-4.2$ lsmod | grep qcaux
qcaux                  12529  0 

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

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

Непрочитанное сообщение Olej » 27 дек 2012, 23:18

Смотрю исходники модуля ядра - http://lxr.free-electrons.com/source/dr ... al/qcaux.c (ядро 3.7):

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

1 /*
2  * Qualcomm USB Auxiliary Serial Port driver
...
31 /* UTStarcom/Pantech/Curitel devices */
32 #define UTSTARCOM_VENDOR_ID                     0x106c
...
34 #define UTSTARCOM_PRODUCT_PC5750                0x3702 /* aka Pantech PX-500 */
35 #define UTSTARCOM_PRODUCT_UM150                 0x3711
36 #define UTSTARCOM_PRODUCT_UM175_V1              0x3712
37 #define UTSTARCOM_PRODUCT_UM175_V2              0x3714
38 #define UTSTARCOM_PRODUCT_UM175_ALLTEL          0x3715
39 
40 /* CMOTECH devices */
Как он подхватил устройство с PID=0x3716 я как-то не пойму.
У меня runtime ядро

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

bash-4.2$ u_n_a_m_e -r
3.5.2-1.fc17.i686.PAE
Вот оно:

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

bash-4.2$ cat /etc/usb_modeswitch.d/106c:3b05  
# Pantech / UTStarcom UMW190 (Verizon)

TargetVendor=  0x106c
TargetProduct= 0x3716

MessageContent="555342431234567824000000800008ff020000000000000000000000000000"
Это, по идее, usb_modeswitch подхватил устройство CD-ROM 106c:3b05 и переинициализировал его в USB-модем 106c:3716

Это самый он и есть:
Изображение

3g модем Pantech (Verizon) UMW190
Технические характеристики Pantech (Verizon) UMW190
- Поддержка стандартов: 3G
- Версии протоколов: CDMA 1x EV–DO Rev. A/Rev. 0; UMTS/HSDPA/HSUPA; GSM/GPRS/EDGE
- Антенна: Внутренняя
- Максимальная скорость приема данных: до 7,2 Мбит/с
- Частотный диапазон: 800/1900 МГц; 850/1900/2100 МГц; 850/900/1800/1900 МГц
- Поддержка R-UIM карты: нет
- Слот для карт памяти microSD с возможностью горячей замены: да, MicroSD до 4 GB
Модем многостандартный (http://www.svs-technology.com/modems/11 ... 0-usb.html): CDMA 800/1900 Mhz, GSM/GPRS/EDGE 850/900/1800/1900 Mhz, HSUPA/HSDPA/UMTS 900/1900/2100 Mhz.

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

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

Непрочитанное сообщение Olej » 27 дек 2012, 23:42

Попытка подключить через Network Manager...
Как видно, NM понимает и модем, и провайдера, соединение создаётся, но активировать его не удаётся (пока). Как я понимаю, это связано с учётными данными ... которые и провайдер и продавец дают, естественно, в рассчёте на Windows-подключение, и которые оттуда придётся доставать.
Вложения
мобильное соединение_015.png
(54.29 КБ) 5407 скачиваний
мобильное соединение_016.png
(39.62 КБ) 5407 скачиваний
мобильное соединение_017.png
(39.08 КБ) 5407 скачиваний
InterTelecom connection 1_018.png
InterTelecom connection 1_018.png (33.63 КБ) 6534 просмотра

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

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

Непрочитанное сообщение Olej » 28 дек 2012, 00:15

Olej писал(а):Как я понимаю, это связано с учётными данными ... которые и провайдер и продавец дают, естественно, в рассчёте на Windows-подключение, и которые оттуда придётся доставать.
Всё оказалось (на этот раз) проще ;-) :
- на сайте InterTelecom оказалась всё-таки страница с PDF-файлами, описывающими настройку коннекта...
- описания как и у всех операторов - совершенно кондовые ... но из их Windows-картинок удалось извлечь нужную учётную информацию, и переложить её в Linux:
InterTelecom connection 1_020.png
InterTelecom connection 1_020.png (32.94 КБ) 6533 просмотра
- дальше всё просто: в NM подключаем новое соединение + отключаем проводное соединение eth0...
о текущем соединении_019.png
о текущем соединении_019.png (50.62 КБ) 6533 просмотра
Вот из него я сейчас и пишу:

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

bash-4.2$ ifconfig ppp0
ppp0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  mtu 1500
        inet 95.111.144.33  netmask 255.255.255.255  destination 195.128.182.26
        ppp  txqueuelen 3  (Point-to-Point Protocol)
        RX packets 1593  bytes 447614 (437.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1723  bytes 383374 (374.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

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

bash-4.2$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         195.128.182.26  0.0.0.0         UG    0      0        0 ppp0
195.128.182.26  *               255.255.255.255 UH    0      0        0 ppp0
P.S. В принципе, собрать бы регистрационные данные, требуемые разными операторами с разных странах (Россия, Украина, Белоруссия, ...), такие "номер", "имя пользователя", "пароль" в одно место для сравнения как всё это образуется, да ещё в зависимости от используемого тарифного плана ... так это тоже очень любопытно было бы посмотреть.

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

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

Непрочитанное сообщение Olej » 28 дек 2012, 00:23

Olej писал(а): Вот из него я сейчас и пишу:
http://2ip.ru/speed/ :
Скорость интернет соединения
IP 95.111.144.33
Провайдер Интертелеком
Пинг 115.289 мсек
Время проведения 28 декабря 2012 01:20
Скорость
входящая ↓0.48 Mбит/сек
иcходящая ↑0.15 Mбит/сек
Для а). этого тарифного плана, б). и его стоимости (эконом-класс), в). в не позднее вечернее время буднего дня - можно считать, что совершенно прилично.
(вообще то, InterTelecom в своих рекламных роликах называет скорость "до 3.1 Mb/sec", но это, как я понимаю, технический предел для используемого стандарта обмена ... и ни один беспроводной оператор, сколько я видел, не обеспечивает больше 20-35% от технического предела)

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

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

Непрочитанное сообщение Olej » 28 дек 2012, 02:00

Olej писал(а):Вот попробую ещё на нём ещё раз разобраться с общим алгоритмом разборок с USB-модемами.
Что толку дал разбор ещё одного модема?

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

2. эта частная модель: Pantech (Verizon) UMW190 - в принципе, очень неплохой выбор, в Linux легко поднялся; его хозяин купил его сегодня (при некоторых скидках со стороны оператора) за 250 укр. грн. - это ~$31, вполне бюджетный вариант.

3. я впервые видел модем, который поддерживается ещё одним модулем ядра qcaux.ko, в принципе, не так много моделей поддерживается этим модулем, для моего ядра 3.5 это 16 модемов:

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

bash-4.2$ modprobe -c | grep qcaux
alias usb:v0474p0754d*dc*dsc*dp*icFFiscFFip00* qcaux
alias usb:v04E8p6640d*dc*dsc*dp*icFFisc00ip00* qcaux
alias usb:v1004p6000d*dc*dsc*dp*icFFiscFFip00* qcaux
alias usb:v106Cp3701d*dc*dsc*dp*icFFisc00ip00* qcaux
alias usb:v106Cp3702d*dc*dsc*dp*icFFisc00ip00* qcaux
alias usb:v106Cp3711d*dc*dsc*dp*icFFisc00ip00* qcaux
alias usb:v106Cp3712d*dc*dsc*dp*icFFisc00ip00* qcaux
alias usb:v106Cp3714d*dc*dsc*dp*icFFisc00ip00* qcaux
alias usb:v106Cp3715d*dc*dsc*dp*icFFisc00ip00* qcaux
alias usb:v106Cp3716d*dc*dsc*dp*icFFiscFEipFF* qcaux
alias usb:v106Cp3716d*dc*dsc*dp*icFFiscFFipFF* qcaux
alias usb:v106Cp3718d*dc*dsc*dp*icFFiscFDipFF* qcaux
alias usb:v106Cp3718d*dc*dsc*dp*icFFiscFEipFF* qcaux
alias usb:v106Cp3718d*dc*dsc*dp*icFFiscFFipFF* qcaux
alias usb:v16D8p5553d*dc*dsc*dp*icFFiscFFip00* qcaux
alias usb:v16D8p6512d*dc*dsc*dp*icFFiscFFip00* qcaux
Любопытно то, что именно этот модуль создаёт для модема одновременно:

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

bash-4.2$ ls -l /dev/*USB*
crw-rw---- 1 root dialout 188, 0 дек.  28 00:57 /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 1 дек.  27 21:27 /dev/ttyUSB1

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

bash-4.2$ ls -l /dev/*ACM*
crw-rw---- 1 root dialout 166, 0 дек.  27 23:03 /dev/ttyACM0
Тут не всё так очевидно - обратите внимание на а). разные major номера устройств (188 и 166), б). различия в датах (это всё от единожды воткнутого модема).

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

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

Непрочитанное сообщение Olej » 28 дек 2012, 02:30

Olej писал(а):Тут не всё так очевидно - обратите внимание на а). разные major номера устройств (188 и 166), б). различия в датах (это всё от единожды воткнутого модема).
А вот как видится в системном журнале подключение модема - это для любителей покопаться "что происходит":

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

bash-4.2$ dmesg | tail -n30
...
[38033.758065] usb 1-4: new high-speed USB device number 12 using ehci_hcd
[38033.886493] usb 1-4: New USB device found, idVendor=106c, idProduct=3716
[38033.886502] usb 1-4: New USB device strings: Mfr=2, Product=1, SerialNumber=0
[38033.886508] usb 1-4: Product: Pantech Configuration
[38033.886513] usb 1-4: Manufacturer: Pantech, Incorporated
[38033.891563] scsi8 : usb-storage 1-4:1.5
[38033.995865] usbcore: registered new interface driver qcaux
[38033.995909] USB Serial support registered for qcaux
[38033.995949] qcaux 1-4:1.2: qcaux converter detected
[38033.996399] usb 1-4: qcaux converter now attached to ttyUSB0
[38033.996447] qcaux 1-4:1.4: qcaux converter detected
[38033.997421] usb 1-4: qcaux converter now attached to ttyUSB1
[38034.046533] cdc_acm 1-4:1.0: ttyACM0: USB ACM device
[38034.050769] usbcore: registered new interface driver cdc_acm
[38034.050774] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[38034.895427] scsi 8:0:0:0: CD-ROM            UMW190   CD-ROM           2.31 PQ: 0 ANSI: 2
[38034.903272] sr1: scsi3-mmc drive: 24x/24x xa/form2 caddy
[38034.903574] sr 8:0:0:0: Attached scsi CD-ROM sr1
[38034.904614] sr 8:0:0:0: Attached scsi generic sg2 type 5
[43813.615966] PPP generic driver version 2.4.2
[43815.648667] PPP BSD Compression module registered
[43815.680304] PPP Deflate Compression module registered
А в файле event.lst (там много чтобы показывать) выписана последовательность асинхронных сообщений, посылаемых ядром при пошаговых изменениях в /sys при подключении к USB этого устройства, файл получен командой

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

bash-4.2$ udevadm monitor --env > event.lst
^C
bash-4.2$ 
Этих событий (в текстовом виде) вполне достаточно для формирования правил udev при установке устройства, см: асинхронные уведомления и udev.
(это я пишу только для тех, кто хочет копаться с тем, как динамически подключается устройство ... ну и себе для памятки ;-) , остальным копаться в этом незачем)
Вложения
event.lst
(22.02 КБ) 385 скачиваний

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

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

Непрочитанное сообщение Olej » 28 дек 2012, 03:20

Olej писал(а): http://2ip.ru/speed/ :
Скорость интернет соединения
IP 95.111.144.33
Провайдер Интертелеком
Пинг 115.289 мсек
Время проведения 28 декабря 2012 01:20
Скорость
входящая ↓0.48 Mбит/сек
иcходящая ↑0.15 Mбит/сек
А вот в ночное время (как IP гуляет?!):
Скорость интернет соединения
IP 130.185.49.62
Провайдер Интертелеком
Пинг 112.464 мсек
Время проведения 28 декабря 2012 04:17
Скорость
входящая ↓0.61 Mбит/сек
иcходящая ↑0.26 Mбит/сек
Так что похоже, что это их "крейсерская" скорость.

Ответить

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

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

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