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

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

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

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

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

Непрочитанное сообщение Olej » 01 июн 2012, 23:50

Olej писал(а):В последней версии option.c, для ядра 3.4, например:
А для проверки совместимости с любым ядром, в том числе и последним 3.4:
- делаю из ISO загрузочный LiveUSB ...
- и уже загрузившись с него - создаю в нём соединение для USB-модема...

Всё это подробно описано здесь: viewtopic.php?f=5&t=1632&p=4014#p4014

Всё это требует минимальных затрат времени!
(10 мин. на скачивание ISO + 1 мин. на создание LiveUSB + 1-2 мин. на его загрузку)

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

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

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

Olej писал(а): При втыкании модема в USB должно происходить что-то типа:
...
И должно происходить отображение устройства в /dev.
Мне для интереса ради дали поиграться совершенно дикую модель:

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

[liveuser@localhost ~]$ lsusb
...
Bus 001 Device 008: ID 1199:0120 Sierra Wireless, Inc. AC595U
Это что-то завезенное с USA + перепрошитое под оператора PEOPLEnet + оператор этот работает с карточными моделями, а этот как-то зашит жёстко без карточки...

Но модуль его благополучно распознаёт:

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

[liveuser@localhost ~]$ dmesg | tail -n30
...
[  278.741156] usb 1-4.4: new full-speed USB device number 8 using ehci_hcd
[  278.816518] usb 1-4.4: New USB device found, idVendor=1199, idProduct=0120
[  278.816525] usb 1-4.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  278.816532] usb 1-4.4: Product: Sierra Wireless AC595U Device
[  278.816537] usb 1-4.4: Manufacturer: Sierra Wireless, Incorporated
[  278.847268] USB Serial support registered for Sierra USB modem
[  278.847674] sierra 1-4.4:1.0: Sierra USB modem converter detected
[  278.848267] usb 1-4.4: Sierra USB modem converter now attached to ttyUSB0
[  278.848457] usb 1-4.4: Sierra USB modem converter now attached to ttyUSB1
[  278.848626] usb 1-4.4: Sierra USB modem converter now attached to ttyUSB2
[  278.848650] usbcore: registered new interface driver sierra
[  278.848653] sierra: v.1.7.16:USB Driver for Sierra Wireless USB modems
И в результате:

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

[liveuser@localhost ~]$ ls /dev/ttyU*
/dev/ttyUSB0  /dev/ttyUSB1  /dev/ttyUSB2
Вот к этому моменту времени - устройство встало нормально.
Теперь бы ещё разыскать учётные/регистрационные данные для PEOPLEnet :-?

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

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

Непрочитанное сообщение Olej » 03 июн 2012, 15:17

Olej писал(а):Вот к этому моменту времени - устройство встало нормально.
Теперь бы ещё разыскать учётные/регистрационные данные для PEOPLEnet :-?
Убил я время бессмысленно...
Но чтобы совсем не потерять итоги:

1. PEOPLEnet имеет регистрационные данные, которые нужно вписать в форму NM следующего вида:
login: 80922518464@people.net.ua
passwd: 000000

- в login 8092 - префикс оператора у всех одинаковый, далее 7 цифр ХХХХХХХ - № телефонный на который зарегистрирован модем/карточка.
- passwd - это 6 цифр, и кой-где в интернет утверждается, что достаточно действительно оставить 000000 ( :?: )

2. мне не удалось установить долгосрочный коннект PEOPLEnet, т.к. на модеме, который мне сосед подбросил нет ни копейки денег :-( , но, в принципе всё и так понятно, и здесь тоже всё однотипно и не отличается от любых других провайдеров-модемов.
(так что я в примере даже указал реальный № - так нагляднее, а денег там всё-равно нет и не будет)

3. кстати "МТС Коннект 3G" (Украина) в своей инструкции (для Windows) пишет:
login: mobile
passwd: internet

Но у меня замечательно получается, если оставить эти поля в NM пустыми:
login:
passwd:
Так что, похоже, они вообще не проверяют эти данные, а пользователям просто пудрят мозги :lol:

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

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

Непрочитанное сообщение Olej » 04 июл 2012, 23:23

Olej писал(а): 2. Свежая модель модема (даже при полной совместимости с предыдущими) может просто не быть прописана в коде модуля ядра, на сегодня это модуль option:

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

[olej@nvidia ~]$ lsmod | grep opt
option                 25580  2 
usb_wwan               19052  1 option

Модуль option зависит от версии ядра Linux (расширяется вместе с ним), и может просто не содержать VID:PID (вероятнее PID) для новой модели модема.
Это первейшее, что нужно проверять при втыкании в USB нового модема - поддерживается ли модулем ядра эта модель (VID:PID).
Для этого есть простейший способ (подсказали ;-) ) ... например:

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

[olej@notebook /]$ lsusb
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 002: ID 0424:2503 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 005: ID 046d:080f Logitech, Inc. Webcam C120
Bus 004 Device 002: ID 046d:c517 Logitech, Inc. LX710 Cordless Desktop Laser
Bus 001 Device 007: ID 08ff:2580 AuthenTec, Inc. AES2501 Fingerprint Sensor
Bus 001 Device 014: ID 1a40:0101 TERMINUS TECHNOLOGY INC. USB-2.0 4-Port HUB
Bus 003 Device 011: ID 1949:0004 Lab126 Amazon Kindle 3
Bus 001 Device 016: ID 16d5:6502 AnyDATA Corporation CDMA/UMTS/GPRS modem
Вот так можно посмотреть все поддерживаемые устройства Logitech (там их будет весьма много):

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

[olej@notebook /]$ modprobe -c | grep -i 046d
alias hid:b0003v0000046Dp0000C52B hid_logitech_dj
alias hid:b0003v0000046Dp0000C532 hid_logitech_dj
alias pci:v00005046d00001001sv*sd*bc*sc*i* radio_maxiradio
...
alias usb:v083Ap1046d*dc*dsc*dp*ic*isc*ip* pegasus
alias usb:v083Ap5046d*dc*dsc*dp*ic*isc*ip* pegasus
alias usb:v15C2p0046d*dc*dsc*dp*ic*isc*ip* imon
А вот так - именно то, что нам нужно - поддержка конкретной модели USB-модема:

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

[olej@notebook /]$ modprobe -c | grep -i 16d5 | grep 6502
alias usb:v16D5p6502d*dc*dsc*dp*ic*isc*ip* option
- здесь же вам и имя модуля (option), который объявляет поддержку этого устройства.


Обратим внимание на то, что не все устройства на USB поддерживаются модулями ядра, да и не все вообще требуют какую-то поддержку со стороны ядра - вот E-book (читалка) Amazon Kindle 4:

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

[olej@notebook /]$ modprobe -c | grep -i 1949 | grep 0004
[olej@notebook /]$

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

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

Непрочитанное сообщение Olej » 04 июл 2012, 23:28

Olej писал(а): А вот так - именно то, что нам нужно - поддержка конкретной модели USB-модема:

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

[olej@notebook /]$ modprobe -c | grep -i 16d5 | grep 6502
alias usb:v16D5p6502d*dc*dsc*dp*ic*isc*ip* option
- здесь же вам и имя модуля (option), который объявляет поддержку этого устройства.
Здесь вводит в заблуждение и несколько смущает (не очевидно!) использование опции -c, потому, что подсказки modprobe не знают такой опции, в чём легко убедиться:

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

[olej@notebook ~]$ modprobe --help
modprobe: unrecognized option '--help'
Usage: modprobe [-v] [-V] [-C config-file] [-d <dirname> ] [-n] [-i] [-q] [-b] [-o <modname>] [ --dump-modversions ] <modname> [parameters...]
modprobe -r [-n] [-i] [-v] <modulename> ...
modprobe -l -t <dirname> [ -a <modulename> ...]
Но зато её знает man:

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

[olej@notebook /]$ man modprobe
...
       -c --showconfig
              Dump out the effective configuration from the config directory and exit.
...

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

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

Непрочитанное сообщение Olej » 22 июл 2012, 00:34

Мне тут попались ... "заметки для себя", на форуме http://forum.lugsurguta.org/index.php (Linux в Сургуте).
Там некоторые детали протоколов, используемых для беспроводной связи.
Пусть лежит и здесь, может кому пригодится.
Вложения
GPRS.odt
(728.88 КБ) 444 скачивания

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

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

Непрочитанное сообщение Olej » 14 авг 2012, 14:24

dmitriev писал(а): Даже если допустить, что такой труд будет проделан:
1. Он устареет через полгода.
2. Никто не станет разбираться во всех вариантах, чтобы настроить свой конкретный единственный модем.
Возвращаемся в тему.

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

1. Разобраться с протоколом вашего модема, его идентификацией (VID:DID), и тем, что именно этот модем поддерживается модулем ядра Linux ... и каким конкретно модулем ядра.
Об этом, преимущественно, было всё предыдущее обсуждение в этой теме.
В конечном итоге, у вас должны появиться устройства примерно такого вида:

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

bash-4.2$ ls -l /dev | grep USB
crw-rw----. 1 root dialout 188,   0 авг.  14 13:32 ttyUSB0
crw-rw----. 1 root dialout 188,   1 авг.  14 13:32 ttyUSB1
crw-rw----. 1 root dialout 188,   2 авг.  14 13:32 ttyUSB2
Из них ttyUSB0 (обычно) и есть отображение самого линейного модема, который воспринимает традиционные AT-команды модема.

P.S. Некоторые типы модемов (точнее, IMHO, поддерживающие их модули ядра) могут создавать имена не вида ttyUSB0 ..., а вида /dev/ttyACM0 ...

2. Настроить программно коннект уже опознанного модема к провайдеру.
Здесь есть (используется народом) два совершенно разных способа:

2а. Относительно новый - используя Network Manager (NM) в Linux. И дальнейшее управление (подключение, отключение) тогда производится через NM.
Этот способ хорош, когда ... "всё получается" ;-)
Подробно вариант такой установки модема я запротоколировал в отдельной теме: Модем AnyDATA ADU-510A MTC-Коннект в Fedora 17.

2б. Более традиционный: использовавшийся десятилетиями способ для установления PPP-соединений на аналоговых модемах (или даже просто на сериальных линиях) + дальше использование разных программ диалеров для осуществления вызова. Одним из самых популярных диалеров в последнее время стал: wvdial. (Этот способ настройки и установления соединения как-раз лучше описан, чем предыдущий).
Некоторые заметки об удачных настройках wvdial:
Configure MTS Mobile Bradband on Fedora (Linux/Unix)
GPRS-интернет
Протокол того, как настраивался тот же модем AnyDATA ADU-510A, но уже не с помощью Network Manager, а для использования wvdial, приведен в той же теме (для сравнения), но уже позже: Модем AnyDATA ADU-510A MTC-Коннект в Fedora 17.

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

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

Непрочитанное сообщение Olej » 14 авг 2012, 23:11

Olej писал(а): 2. Настроить программно коннект уже опознанного модема к провайдеру.
Здесь есть (используется народом) два совершенно разных способа:
+ такие детали как ... постнастройка ;-) ... когда коннект при внимательном рассмотрении вроде уже работает:

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

bash-4.2$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 ppp0
80.255.73.34    0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
bash-4.2$ ping 80.255.64.24
PING 80.255.64.24 (80.255.64.24) 56(84) bytes of data.
64 bytes from 80.255.64.24: icmp_req=1 ttl=251 time=75.1 ms
64 bytes from 80.255.64.24: icmp_req=2 ttl=251 time=81.0 ms
64 bytes from 80.255.64.24: icmp_req=3 ttl=251 time=80.3 ms
^C
--- 80.255.64.24 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 75.175/78.852/81.030/2.635 ms
А сеть - в пользовательском понимании - не работает.

Это чаще всего бывает при настройке использованием диалеров! (способ 2б).

Неприятности, чаще всего, бывают:

1. При работающем NM, но коннекте использованием wvdial (или любым другим диалером) - это очень частый случай использования, когда в NM при использовании USB модема просто запрещают на время интерфейсы eth0, wlan0 etc.
При этом (при выключении интерфейсов) NM переписывает /etc/resolv.conf и сеть остаётся без DMS разрешения имён.
Тогда нужно попробовать переписать /etc/resolv.conf на время использования USB модема:

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

bash-4.2$ cat /etc/resolv.conf
#primary   DNS address
nameserver 80.255.64.23
#secondary DNS address
nameserver 80.255.64.24
nameserver 8.8.8.8
(адреса DNS можно переписать из вывода при старте wvdial).
И проверить:

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

bash-4.2$ nslookup rus-linux.net
Server:		80.255.64.23
Address:	80.255.64.23#53

Non-authoritative answer:
Name:	rus-linux.net
Address: 77.222.42.148
Если дело в этом, то позже нужно подумать куда записать нужные DNS при старте ppp0 (что-то из скриптов /etc/sysconfig/network-scripts).
Имейте в виду: при подъёме любого интерфейса в NM - он полностью перезапишет ваш /etc/resolv.conf.

2. Пишут, что с некоторыми моделями модемов соединение устанавливается, но через некоторое время обрывается ... и так по много раз.
Утверждается, что устранить этот эффект можно подбором более подходящего MTU для ppp0 (MTU - максимальный размер передаваемого IP пакета сетевого уровня, L2).
Делать (проверить) это можно так:

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

bash-4.2$ ifconfig ppp0
ppp0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  mtu 1500
        inet 77.52.38.122  netmask 255.255.255.255  destination 80.255.73.34
        ppp  txqueuelen 3  (Point-to-Point Protocol)
        RX packets 1770  bytes 591698 (577.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1848  bytes 235852 (230.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

bash-4.2$ sudo ifconfig ppp0 mtu 500
bash-4.2$ ifconfig ppp0 | grep mtu
ppp0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  mtu 500
При уменьшении MTU надёжность соединения возрастает, но эффективность использования трафика - падает.
P.S. Я как раз пишу это сообщение при специально заниженном таким образом MTU интерфейса pppo - для проверки (я не могу проверить "мигающее падение" интерфейса - на моём модеме такое не возникает, но могу проверить полную работоспособность при уменьшенном MTU).

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

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

Непрочитанное сообщение Olej » 17 авг 2012, 11:50

Новый виток обстоятельного обсуждения установки USB-модемов возник вот здесь: Модем AnyDATA ADU-510A MTC-Коннект в Fedora 17.

Одним из итогов того обсуждения стало то, что:

- некоторые модемы, а именно Airplus MCD-650 (CDMA), когда используется диалер wvdial (а с NetManager они и вовсе не работают), то он слетает с характерным сообщением:

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

wvdial: utils/wvtask.cc:409: static void WvTaskMan::_stackmaster(): Assertion `magic_number == -0x123678
- причина этого в баге в пакете libwvstreams ... даже в самых свежих дистрибутивах (Fedora 17) ...

- и устраняется это обновлением пакета:

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

# sudo yum update libwvstreams

dmitriev
Писатель
Сообщения: 461
Зарегистрирован: 12 янв 2009, 19:36
Контактная информация:

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

Непрочитанное сообщение dmitriev » 17 авг 2012, 11:56

Не безинтересным есть вопрос использования не одного из многих выбранного наугад диалера wvdial, а настройки классической и традиционной связки ppp+chat в качестве диалера ... Зачем? А для настройки модема в таком Linux как Android :lol: , где нет ни NM, ни wvdial ...
Вот ссылка как это делается: HSG X5A MID Android Tablet ... текст русскоязычный, не пугайтесь ... но весь на понтах и маловнятный - это бы нужно было повторять!
Давно мечтаю научиться настраивать ррр непосредственно, через скрипты. Но я весьма далек от программирования. Может быть вы, как программист, освоите этот метод и нас научите?

Ответить

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

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

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