Разработка электронных устройств

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

Прототипы и серийное производство

Разработка и изготовление корпусов и передних панелей. Разработка и изготовление печатных платы любой сложности. Монтаж печатных плат.

Написание программного обеспечения

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

Разработка механизмов различной степени сложности

Проектирование и прототипирование подвижных и неподвижных механизмов и узлов устройств и агрегатов. Полное сопровождение проекта и написание технической литературы

Создание, продвижение и обслуживание сайтов

Написание php/perl/c кода или использование cms. Собственный сервер для размещения Ваших проектов под любые нагрузки. Поддержание сайта в актуальности и продвижение в поисковых системах.

 
 

OpenWrt + ZTE MF170 3G модем

Автор: от 27 Сентябрь 2013 года, просмотров 8813

Google

Подключаем роутер на openwrt с любым 3g модемом. Сегодня на операционном столе оказались роутр TP-Link WR842ND и юсб модем от beeline ZTE MF170. А впрочем как позже выяснилось пойдёт любой модем и любой роутер на который ставится OpenWrt. ;)

1. Устанавливаем и настраиваем OpenWRT

Первым делом устанавливаем OpenWrt на роутер, сам процесс описывать не буду всё прекрассно расписано на официальном сайте. Единственное что хотелось бы добавить прошивку выбирайте squarefs. 

Далее запускаем cmd, подключаемся и задаём пароль для доступа по ssh

1
2
telnet 192.168.1.1
passwd toor

закрываем, скачиваем putty и снова подключаемся 192.168.1.1 только уже по ssh протоколу

Логин root

Пароль toor (вы его только что установили)

Устанавливаем необходимые пакеты:

1
2
3
4
5
6
7
opkg update
opkg install comgt lsusb
opkg install kmod-usb2 kmod-usb-ohci kmod-usb-uhci
opkg install kmod-usb-serial kmod-usb-serial-option kmod-usb-serial-wwan kmod-usb-acm
opkg install usb-modeswitch usb-modeswitch-data sdparm
opkg install luci luci-i18n-russian luci-proto-3g
reboot

Паралельно смотрим VID и PID своего модема.

Определение VID и PID устройства

Данное изображение скрин свойств веб камеры и приведено как пример, ваши значения будут отличаться. Так же вы можете посмотреть vid:pid модема подключив его к роутеру и набрав комманду:

1
2
3
root@mynetbynet:/etc/usb_modeswitch.d# lsusb
Bus 001 Device 002: ID 19d2:0016 ZTE WCDMA Technologies MSM
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

 

Пока роутер перезагружается немного объясненю что же мы установили. Под номером один обновляем список доступных пакетов. 2 устанавливаем программу которая работает с AT коммандами, соответственно с нашим модемом. 3 модули ядра, поддержка юсб устройств, а так же юсб-концентраторов (в простанородии хабов). 4 драйвера usb-serial (com-ports) так как модем использует переходник usb-com. 5 Самое интерестное на мой взгляд, в нашем модеме по сути 4 устройства (по крайней мере в моём) это Юсб-хаб, сам модем подключнный к ком - порту с переходником на юсб, виртуальный cd-rom и флешка. Так вот modeswitch переключает устройство для работы именно с модемом. 6 вэб интерфейс роутера, русский язык и поддержка 3g протокола.

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# dmesg
 
Есть? Идём дальше
 
---
 
usbcore: registered new interface driver usbserial
USB Serial support registered for generic
usbserial_generic 1-1.3:1.0: generic converter detected
usb 1-1.3: generic converter now attached to ttyUSB0
usbserial_generic 1-1.3:1.1: generic converter detected
usb 1-1.3: generic converter now attached to ttyUSB1
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial Driver core
 
---
 
Нет то:
 
# rmmod usbserial 
# insmod /lib/modules/`uname -r`/usbserial.ko vendor=0x product=0x

 

Теперь у нас есть интерфейс /dev/ttyUSBx не совсем модема, это контроллер принимающий управляющие комманды. А вот для того чтоб его перевести в режим модема надо подать соответствующую комманду. Для каждого модема она разная. Этим занимается программа usb-modeswitch, у неё есть своя база модемов в виде VID:PID :

1
ls -la /etc/usb_modeswitch.d/*

 Вот если там нет файла с вашим vid:pid то берём самый ближайший по PID, vid должен совпадать и копируем в свой VID:PID

Пример для ZTE MF170:

1
2
root@mynetbynet:/etc/usb_modeswitch.d# lsusb
Bus 001 Device 002: ID 19d2:0016 ZTE WCDMA Technologies MSM

 Видим что мой модем имеет vid 19d2 и pid 0016. В папке близжайший файл это 19d2:0013, поэтому копируем его

1
2
cd /etc/usb_modeswitch.d
cp 19d2:0013 19d2:0016

 Теперь открываем и приводим к такому виду:

1
2
3
4
5
6
7
8
root@mynetbynet:/etc/usb_modeswitch.d# cat 19d2:0016
# ZTE 170
 
TargetVendor=  0x19d2
TargetProduct= 0x0016
 
MessageContent="5553424312345678000000000000061b000000020000000000000000000000"
NeedResponse=1

 Всё наш модем установлен.

Разблокируем 3g модем

Для разблокировки вашего модема обращаемся к гуглу. А конкретно моего Beeline ZTE MF170 необходимо послать две AT комманды

1
2
3
4
5
6
# echo "AT+ZCDRUN=8" > /dev/ttyUSB0
# echo "AT+ZCDRUN=8" > /dev/ttyUSB1
# echo "AT+ZCDRUN=8" > /dev/ttyUSB2
# echo "AT+ZCDRUN=E" > /dev/ttyUSB0
# echo "AT+ZCDRUN=E" > /dev/ttyUSB1
# echo "AT+ZCDRUN=E" > /dev/ttyUSB2

 Я посылал на все найденные ttyUSB. Конечно может и это перебор, достаточно на ttyUSB0. Первая отключает виртуальный cd-rom, а вторая отключает проверку на использование оригинального ПО от билайна. Суть в том что программа и модем друг друга раз в 2 минуты пингуют, если ктото из них не отвечает то модем рвёт соединение. Вот это мы и отключаем второй коммандой.

 

Подключаем 3G

Заходим на свой роутер теперь через web интерфейс: http://192.168.1.1/

Сеть - Интерфейсы - Добавить новый интерфейс

 создание 3g соединения

 

Заморгал светодиод значит подключились:

Зелёный цвет GPRS

Синий 3G

 пс. Роутер с данным модемом на даче проработал уже год и за всё время ни разу не подвел.

Всем спасибо за терпение, ставим оценку и отписываемся в коменты :)

Метки: openwrt, usb, modem, zte 170, mf170, 3G

Категория: