Страницы

пятница, 10 августа 2012 г.

WWAN 3g модем и Intel DN2800MT

Подключение 3g модема Toshiba Ericsson f3607gw к материнской плате Intel DN2800MT

Подключение производилось для тестирования связки и выявления тонких особенностей. Задумка описана в другой заметке : 3g Интернет в деревне.
Здесь практическая работа, журнал подключения.

Итак, первое подключение.
Для тестирования использовался дистрибутив Ubuntu 11.10 (рабочая система) и Ubuntu 12.04 LiveCD.

К модему обязательно должна быть подключена SIM-карта, без  нее он не работает.

#lsusb

...
Bus 001 Device 002: ID 0930:130c Toshiba Corp. F3607gw Mobile Broadband Module
...

Модуль по сути является usb-устройством, только в исполнении mini PCI-e.

Устройство видится какToshiba Corp. F3607gw Mobile Broadband Module.
Его PID VID 0930:130c.

в каталоге /dev нашлись файлы, относящиеся к устройству. /dev/ttyACM0 (модем), /dev/ttyACM1, /dev/ttyACM2 (gps)


Устройства, созданные модулем, в каталоге /dev:
# for n in `ls /sys/class/*/*{ACM,wdm,usb0}*/device/interface`;do echo $(echo $n|awk -F '/' '{print $5}') : $(cat $n);done

ttyACM0 : TOSHIBA F3607gw Mobile Broadband Data Modem
ttyACM1 : TOSHIBA F3607gw Mobile Broadband Modem
ttyACM2 : TOSHIBA F3607gw Mobile Broadband GPS Port
cdc-wdm0 : TOSHIBA F3607gw Mobile Broadband Device Management
cdc-wdm1 : TOSHIBA F3607gw Mobile Broadband USIM Port


Также устройством (его драйвером) формируется интерфейс wwan0
#ifconfig -a

wwan0     Link encap:Ethernet  HWaddr 02:80:37:ec:02:00  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:6863 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6665 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:5651645 (5.6 MB)  TX bytes:1563007 (1.5 MB)



#dmesg | grep wwan
[   22.565216] cdc_ether 1-1:1.6: wwan0: register 'cdc_ether' at usb-0000:00:1d.7-1, Mobile Broadband Network Device, 02:80:37:ec:02:00



Первое подключение неудачное. NetworkManager определил устройство, но соединения не устанавливалось. "И так и сяк, ни в какую". Это при том, что была подключена рабочая внешняя антенна и рабочая сим-карта, использовавшиеся в роутере Bigpond.
Следующим шагом было повторная проверка соединений и установлена обычная круговая антенна от роутера и другая сим-карта. Запуск и попытка подключения. Удалось соединится в режиме EDGE. По крайней мере, хоть как-то работает. Провайдер Мегафон.
Как я предполагаю, дело было в контактах между модулем usim, он особенно точно должен ставиться в разъеме. Также важно, чтобы антенные пигтейлы были плотно посажены на разъемы.
Далее, подключил более мощную направленную антенну, правда диапазона Wi-Fi. Загрузка, попытка подключения. Не подключается.
Вернул предыдущую антенну. Подключается в режиме EDGE. Скорость около 21 кб/c.
Дело в том, что в деревне, вышка сотовой связи находится в 5 километрах от места приема и на обычные антенны прием 3g сигнала оказывается невозможным.

Антенны я подключаю после полного обесточивания оборудования.

И наконец, подключение 3g антенны. Загрузка, попытка подключения. Не работает. Что навело на мысль пересмотреть контакты.
Проблема оказалась, что был использован обычный SMA-U.FL пигтейл от старой антенны, а нужен был реверсивный SMA-U.FL. После замены, все решилось. 3g заработал. Скорость составила 6 МБит на загрузку, 0.85 МБит на выгрузку. Да, такие скорости никогда не достигались в этом месте. Бинго.



Включение модуля
Для проверки будет использоваться программа minicom. Установить ее пакет:
#sudo apt-get install minicom

Порт модема /dev/ttyACM1 - контрольный порт, используется для подачи разных команд, снятия состояния сети и пр.

Запуск из под суперпользователя.
#minicom -D /dev/ttyACM1
Параметры порта 115200 8 N 1. Выход из программы - последовательное нажатие CTRL-A X.
В процессе работы через этот порт периодически сыпятся разнобразные сообщения, понять которые, без тщательного изучения AT команд, невозможно.

Проверка того, защищена ли sim-карта pin-кодом.

Запрос: AT+CPIN?
Ответ: +CPIN: READY
Что свидетельствует что sim-карта разблокирована.
Если ответ:
+CPIN: SIM PIN
Для разблокировки sim-карты
Запрос: AT+CPIN="Ваш PIN"
Ответ: OK

Проверка уровня сигнала.
Запрос: AT+CSQ
Ответ:
 11,99
OK
Ответ состоит из двух цфир: +CSQ: 11,99. С помощью первой определяем уровень сигнала в дБ по форумуле: [-113 + Х * 2]. Второе число - количнство ошибок в процентах. 99 - не определено.
Итак уровень получается -91 dB. Например, уровень на направленной 3g антенне -86 dB. В лучшие моменты -79 dB.
Мое предположение, непроверенное пока, что уровень сигнала сообщается для 2G, а не 3G, потому что при разных антеннах, выдается одно и тоже значение. Позже уточню.

Список сетей. Долго думает, но всё же выводит.

AT+COPS=?
+COPS: (2,"MegaFon RUS","MegaFon RUS","25002",0),(2,"MegaFon RUS","MegaFon RUS",
OK
Внутренние часы модуля
Запрос: AT+CCLK?
Ответ: +CCLK: "2000/01/01,03:48:02+00"

OK
Время не установлено, надо установить:
AT+CCLK=«yy/mm/dd,hh:mm:ss+zz» — установить время. Обязательно в таком формате и с ведущими нулями.
Пример:
Запрос: AT+CCLK="2012/08/10,18:28:00+03"
Ответ: OK

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

Карта включается командой:
Запрос: AT+CFUN=1
Ответ: +PACSP0

Установить только 2g подключение
AT+CFUN=5

Установить только 3g подключение
AT+CFUN=6

Можно это не делать, это всё делает NetworkManager входящий в поставку Ubuntu.

Просмотреть индикатор-состояние:
Запрос: AT+CIND?
Ответ: +CIND: 0,3,1,0,1,0,1,0,0,0,0,0
Вторая цифра показывает уровень сигнала в диапазоне 0-5.


Просмотреть CellID возможно в следующем ответе:
AT+CREG?
+CREG: 2,1,"0E11","01693912"

"01693912" - 2 байта cell id в шестнадцатиричном формате
"0E11" - код местоположения

Просмотр температурной информации

Запрос: AT*E2OTR?
Ответ: *E2OTR: 0,75,80,85,1,57

OK

Проверка баланса 3g модема

Для проверки баланса использовать специальные USSD AT-команды.
Если выполнить на терминале /dev/ttyACM1 ( это управляющий порт) команду:
AT+CUSD=1,"*100#",15

то симка мегафона вернёт текущий баланс счёта.

+CUSD - это префикс для выполнения команд USSD.
*100# - код для запроса баланса у провайдера Мегафон.


Выключение модуля

Для перевода модуля в энергосберегающий режим:
Запрос: AT+CFUN=4
Ответ: OK

Для обесточивания карты (опасная команда, потом потребуется перезагрузка), Карта не будет способна принимать команды.
Запрос: AT+CFUN=0
Ответ: ОК

Использование модуля Ericsson f3607gw как GPS приемника

В модуль Ericsson f3607gw встроена функция GPS - глобального определения координат. Грех ее будет не использовать.
GPS данные поставляются по протоколу NMEA через порт /dev/ttyACM2. По умолчанию, порт выключен и его надо включить отправив AT-команды.

Первый шаг. Отправка строки вида  AT*E2GPSCTL=X,Y,Z в контрольный порт /dev/ttyACM1.
где

X -  0 (выключены NMEA сообщения) или 1 (включены NMEA сообщения)
Y - частота в секундах появления NMEA сообщений (от 1 до 60 сек)
Z -  0 (DGPS выключена) или 1 (DGPS включена)

Запрос: AT*E2GPSCTL=1,5,1
Второй шаг. Отправка в порт /dev/ttyACM2 команды AT*E2GPSNPD. После получения и отработки команды, порт /dev/ttyACM2 перестанет получать команды, до отключения питания. Управление потоком NMEA сообщений сохраниться через контрольный порт /dev/ttyACM1.


Просмотреть, все ли получилось можно обычной командой cat /dev/ttyACM2.

#cat /dev/ttyACM2

$GPGGA,,,,,,0,00,0.5,,M,0.315099,M,0.0000199,0000*7B
$GPRMC,002408.38,V,,,,,,,060180,,,N*77

GPS требует собственной антенны, расчитанной на диапазон около 1.5 ГГц.

Существует стандартный демон gpsd, который позволяет разделять 1 последовательный порт с сообщениями NMEA между нескольким программами.

Выводы
Модем оправдал свои вложения. Не без трудностей, но удалось улучшить Интернет-подключение.


Ресурсы
AT-команды аналогичного устройства. http://www.natisbad.org/E4300/Dell_Wireless_5530_AT_cmd_ref.html
Подробное описание модуля SIM900D. http://we.easyelectronics.ru/part/gsm-gprs-modul-sim900-chast-vtoraya.html

Комментариев нет: