Подключение промышленного USB-3G модема
-
Добрый день! Столкнулся с необходимостью подключения промышленного 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 от билайн, всё отлично работало.
-
А не с Raspberry этот модем тестировался?
А то может он только под китайский 3G стандарт заточен и с российскими ОпСоСами работать не может в принципе?
-
raspiman (2016-07-18 17:01:26):А не с Raspberry этот модем тестировался?
А то может он только под китайский 3G стандарт заточен и с российскими ОпСоСами работать не может в принципе? Я тестировал на обычном настольном компе, всё работает отлично.
В общем я подключился к интернету через wvdial, теперь думаю, как настроить автозапуск и реконнект при дропе. Что-то добавление кода в /etc/rc.local не сработало, может нужно будет лезть в init.d.
Есть у кого-нибудь идеи по этому поводу? может как-то проще сделать? Грубо говоря есть прога wvdial, которую нужно запустить при запуске распи, но после того, как можем определился в системе, а то ругаться будет. -
Может он определяется как mass storage? Не знаю, как это определить. Но мне в похожей ситуации помогла утилита usb-modeswitch. Надо скачать с сайта производителя саму утилиту и базу устройств, распаковать архивы и установить по инструкции. Потом можно просто переключать режимы.
-
freeneutron (2016-07-18 18:57:52):Может он определяется как mass storage? Не знаю, как это определить. Но мне в похожей ситуации помогла утилита usb-modeswitch. Надо скачать с сайта производителя саму утилиту и базу устройств, распаковать архивы и установить по инструкции. Потом можно просто переключать режимы. Нет, он определяется как модем. sakis3g его определяет как модем, да и в итоге я смог подключить интернет, значит он изначально определялся как модем. Утилита usb-modeswitch у меня установлена, но я её даже не запускал. Она скорей всего сама в фоне переключает всё, что нужно
Так что остался вопрос по автозапуску только. Основная проблема rc.local в том, что скрипты в нём выполняются по ходу загрузки системы (что вполне логично), но прикол в том, что мой модем определяется в системе одним их последних (судя по dmesg), так что либо нужно поднимать сеть после того, как система полностью загружена, либо сделать так, чтобы можем сразу определялся. Я думаю первый способ больше подходит.
И неплохо бы сделать реконнект при дропе сети, так как нужно постоянное соединение. Может в wvdial встроена такая опция? как настроить?
-
И неплохо бы сделать реконнект при дропе сети, так как нужно постоянное соединение. Может в wvdial встроена такая опция? как настроить?А может она уже включена… Попробуйте инициировать разрыв соединения.
-
В общем замутил автозапуск так:
добавил в /etc/rc.local строчку/usr/bin/wvdial beeline &
(собственно инициализирует wvdial с профилем beeline, так как у меня симка beeline), и всё заработало.
В конфиге /etc/wvdial.conf добавил строчку
Auto reconnect = on.
Вроде должно сработать, пока не проверял.
-
Решил проблему так https://habrahabr.ru/post/188886/ Первая часть статьи. Тему можно закрывать