Форумы » Эксплуатация » Подключение устройств и микросхем к Raspberry Pi

Подключение промышленного USB-3G модема

djbond07


Сообщений: 15

отправлено 18 Июль 2016 в 12:27

Добрый день! Столкнулся с необходимостью подключения промышленного USB-3G модема IRZ TU31.



При подключении к малине определяется вот так



pi@raspberrypi:~ $ dmesg|tail

[ 263.120079] usb 1-1.3.7: Manufacturer: Cinterion Wireless Modules

[ 263.224591] cdc_acm 1-1.3.7:1.0: ttyACM0: USB ACM device

[ 263.230784] cdc_acm 1-1.3.7:1.2: ttyACM1: USB ACM device

[ 263.246707] cdc_acm 1-1.3.7:1.4: ttyACM2: USB ACM device

[ 263.250942] cdc_acm 1-1.3.7:1.6: ttyACM3: USB ACM device

[ 263.259152] cdc_acm 1-1.3.7:1.8: ttyACM4: USB ACM device

[ 263.262997] cdc_acm 1-1.3.7:1.10: ttyACM5: USB ACM device

[ 263.267387] cdc_acm 1-1.3.7:1.12: ttyACM6: USB ACM device

[ 263.269203] usbcore: registered new interface driver cdc_acm

[ 263.269219] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters



Вроде всё нормально, хотя странно, что ttyACM, а не ttyUSB, ну да ладно.

Далее смотрю список подключённых USB устройств



pi@raspberrypi:~ $ lsusb

Bus 001 Device 008: ID 1e2d:0058

Bus 001 Device 006: ID 046d:c52e Logitech, Inc.

Bus 001 Device 005: ID 046d:c52e Logitech, Inc.

Bus 001 Device 004: ID 1a40:0201 Terminus Technology Inc. FE 2.1 7-port Hub

Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter

Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub



Вот тут первый вопрос. Почему вендор ID есть, и определяется как модем, а названия нет?

Проверяю через minicom командами, получаю такой результат:



ati0

Cinterion

EHS5-E

REVISION 03.001



OK

Вроде определил, но ни IMEI, ни диапазонов частот нет… что-то не так.



Ну и собственно при подключении через umtskeeper выдаёт такую ошибку



pi@raspberrypi:~ $ tail /var/log/umtskeeper.log -f

2016-07-18 12:22:18 Start: ver. 2.07 20151004; PID = 10757; Python v. 2.7.9

2016-07-18 12:22:18 Sending SIGTERM signal to running program instance with PID=553.

2016-07-18 12:22:18 (PID: 553): Caught signal 15 (SIGTERM)

2016-07-18 12:22:18 (PID: 553): Program terminated cleanly.

stats period = 8s, connection check period = 32s

Internet status:

Cell network: No modem plugged or modem not set up.

2016-07-18 12:22:35 Program startup. Calling Sakis3G connect, to be sure…

Sakis3G cmdLine: nice /home/pi/3g/sakis3g connect --sudo --console --noprobe USBINTERFACE='0' OTHER='USBMODEM' USBMODEM='1e2d:0058' APN='CUSTOM_APN' CUSTOM_APN='static.beeline.ru' SIM_PIN='0000' APN_USER='beeline' APN_PASS='beeline'

Sakis3G says…

Failed to connect.

2016-07-18 12:23:53 Failed to connect (wvdial or pppd failed to connect)

2016-07-18 12:23:53 Testing connection…

2016-07-18 12:24:00 Unable to establish Internet connection. Will keep trying…

Sakis3G info:

Cell network: No modem plugged or modem not set up.

2016-07-18 12:24:19 Internet connection is DOWN. Calling Sakis3G connect…

Trying disconnect-reconnect…



Самая важная строчка здесь — Cell network: No modem plugged or modem not set up.



Понимаю, что как-то не до конца определился модем, или что-то в этом роде, но не совсем понимаю, как это исправить. Очень надеюсь на вашу помощь.



PS: До этого подключал USB модем MF100 от билайн, всё отлично работало.

raspiman


Сообщений: 0

отправлено 18 Июль 2016 в 17:01

А не с Raspberry этот модем тестировался?



А то может он только под китайский 3G стандарт заточен и с российскими ОпСоСами работать не может в принципе?

djbond07


Сообщений: 15

отправлено 18 Июль 2016 в 17:08

raspiman (2016-07-18 17:01:26):
А не с Raspberry этот модем тестировался?



А то может он только под китайский 3G стандарт заточен и с российскими ОпСоСами работать не может в принципе?
 
Я тестировал на обычном настольном компе, всё работает отлично.



В общем я подключился к интернету через wvdial, теперь думаю, как настроить автозапуск и реконнект при дропе. Что-то добавление кода в /etc/rc.local не сработало, может нужно будет лезть в init.d.

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

freeneutron


Сообщений: 0

отправлено 18 Июль 2016 в 18:57

Может он определяется как mass storage? Не знаю, как это определить. Но мне в похожей ситуации помогла утилита usb-modeswitch. Надо скачать с сайта производителя саму утилиту и базу устройств, распаковать архивы и установить по инструкции. Потом можно просто переключать режимы.

djbond07


Сообщений: 15

отправлено 18 Июль 2016 в 23:44

freeneutron (2016-07-18 18:57:52):
Может он определяется как mass storage? Не знаю, как это определить. Но мне в похожей ситуации помогла утилита usb-modeswitch. Надо скачать с сайта производителя саму утилиту и базу устройств, распаковать архивы и установить по инструкции. Потом можно просто переключать режимы.
 
Нет, он определяется как модем. sakis3g его определяет как модем, да и в итоге я смог подключить интернет, значит он изначально определялся как модем. Утилита usb-modeswitch у меня установлена, но я её даже не запускал. Она скорей всего сама в фоне переключает всё, что нужно =)



Так что остался вопрос по автозапуску только. Основная проблема rc.local в том, что скрипты в нём выполняются по ходу загрузки системы (что вполне логично), но прикол в том, что мой модем определяется в системе одним их последних (судя по dmesg), так что либо нужно поднимать сеть после того, как система полностью загружена, либо сделать так, чтобы можем сразу определялся. Я думаю первый способ больше подходит.



И неплохо бы сделать реконнект при дропе сети, так как нужно постоянное соединение. Может в wvdial встроена такая опция? как настроить?

freeneutron


Сообщений: 0

отправлено 19 Июль 2016 в 06:31

И неплохо бы сделать реконнект при дропе сети, так как нужно постоянное соединение. Может в wvdial встроена такая опция? как настроить? 
А может она уже включена… Попробуйте инициировать разрыв соединения.

djbond07


Сообщений: 15

отправлено 19 Июль 2016 в 17:21

В общем замутил автозапуск так:

добавил в /etc/rc.local строчку

/usr/bin/wvdial beeline & (собственно инициализирует wvdial с профилем beeline, так как у меня симка beeline), и всё заработало.

В конфиге /etc/wvdial.conf добавил строчку Auto reconnect = on. Вроде должно сработать, пока не проверял.

djbond07


Сообщений: 15

отправлено 06 Апрель 2017 в 11:38

Решил проблему так
https://habrahabr.ru/post/188886/
Первая часть статьи. Тему можно закрывать

Для того, чтобы написать сообщение в тему, необходимо авторизоваться!