Подробное практическое руководство по подключению USB модемов (донглов) Huawei e173

И так. Приступим.

yum install zip unzip usbutils libusb-devel tcl  autoconf automake

cd /tmp

rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

или в зависимости от разрядности ситемы

rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686.rpm

yum install usb_modeswitch

wget https://github.com/jstasiak/asterisk-chan-dongle/archive/asterisk11.zip

unzip asterisk11

cd asterisk-chan-dongle-asterisk11/

yum install asterisk-devel

yum install minicom

yum install usbutils

aclocal

autoconf

automake -a

./configure

make

make install

cp etc/dongle.conf /etc/asterisk/

cp chan_dongle.so /usr/lib64/asterisk/modules/

или в зависимости от разрядности ситемы

cp chan_dongle.so /usr/lib/asterisk/modules/

asterisk -r

CLI> module load chan_dongle

выгрузка модуля делается следующим образом

CLI> module unload chan_dongle

CLI> dongle show devices

CLI> dongle show device settings <dongle-name>

 

Управление донглом прямо из интерфейса уже подключенного донгла не подключаясь к миником

pbx*CLI> dongle cmd <dongle_name> AT+CPMS=\"SM\",\"SM\",\"SM\"


vim /etc/asterisk/dongle.conf

Приведем к виду:

[general]

interval=15                     ; Количество секунд между попытками подключения к устройствам

 

[defaults]

context=dongle-incoming                       ; контекст для входящих вызовов

rxgain=4                        ; увеличить громкость входящих; может быть отрицательным

txgain=4                        ; увеличить громкость исходящих; может быть отрицательным

usecallingpres=yes              ;использовать АОН

callwaiting=no          ; Ожидающие вызовы включены 'yes'

dtmf=relax

 

[GSM1]

;Для определения модема можно использовать 2 типа. Определение по imei предпочтительнее, ;тк после перезагрузки моде может инициализироваться как другой USB интерфейс.

;Нужное раскоментировать

;Определение по USB;audio=/dev/ttyUSB1 ; определить модем по USB устройству

;data=/dev/ttyUSB2 ; определить модем по USB устройству

;Определение по imei;imei=012345678901234 ; определить модем по imei

 

vim /etc/asterisk/extensions_custom.conf

Приведем к виду:


[from-gsm]
exten => s,1,Set(CALLERID(all)=${CALLERID(num)})
exten => s,n,Set(CALLERID(num)=${CALLERID(num)})
exten => s,n,goto(from-trunk,${DONGLEIMEI},1)
 
exten => sms,1,Verbose(Incoming SMS from ${CALLERID(num)} ${SMS})
exten => sms,n,System(echo '${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} - ${DONGLENAME} - ${CALLERID(num)}: ${SMS}' >> /var/log/asterisk/sms.txt)
exten => sms,n,Hangup()
 
exten => ussd,1,Verbose(Incoming USSD: ${USSD})
exten => ussd,n,System(echo '${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} - ${DONGLENAME}: ${USSD}' >> /var/log/asterisk/ussd.txt)
exten => ussd,n,Hangup()

 

service asterisk restart

 

Во FreePBX создаем кастомный транк, где указываем imei модема:

dongle/i:imei-номер/$OUTNUM$

 

Создаем исходящий маршрут, подключаем внутренние номера и звоним.

 


Подключенные USB устройства (смотрим примонтированные в папке dev)

ls -la /dev/ttyUSB*

Если пустой вывод, то устройство не инициализировалось автоматически. Делаем следующее:

chmod 666 /dev/ttyUSB*

lsusb

Вы увидите на экране строки, подобные этим:
Bus 001 Device 003: ID 12d1:155b Huawei Technologies Co., Ltd.:

где:

ID xxxx:yyyy - это как раз и есть vid и pid модема. xxxx - это vid, а yyyy - это pid нашего 3g модема

Инициализация для Huawei e173 по умолчанию не нужна если мы переключилие гоу же через миником

usb_modeswitch -I -v 0x12d1 -p 0x1446 -V 0x12d1 -P 0x1436 -M "55534243123456780000000000000011062000000100000000000000000000"

В случае, если команда выполнена успешно, Вы увидите сообщение типа:
insmod /lib/modules/2.6.32-431.17.1.el6.i686/kernel/drivers/usb/serial/usbserial.ko vendor=0x12d1 product=0x1506

Подробнее информацию о подключенном устройстве можно получить lsusb -v -d VID:PID


Для работы с модемом через minicom потребуется список AT команд для модема. Их можно посмотреть по ссылке:

AT команды для 3g модемов

Далее работаем строго по порядку:

  1. Запустите команду:
    minicom -s

  2. Выберите пункт "Serial port setup" ("Настройка последовательного порта")

  3. Нажмите "A" для выбора имени устройства COM порта

  4. Введите название устройства: /dev/ttyUSB...

  5. Нажмите Enter 2 раза

  6. Выберите пункт "Save setup as .." ("Сохранить настройки как")

  7. Введите название профиля

  8. Дождитесь сохранения профиля и выберите пункт "Exit from minicom" (Выход из minicom)

  9. Теперь запустите из командной строки:
    minicom имя-профиля

  10. Если программа "вылетит" с ошибкой, значит проблема в драйвере (либо драйвере модема, либо драйвере COM порта - usbserial, и т.д.). Далее мы предполагаем, что программа открылась нормально, и отобразила пустое (или непустое) окошко.

  11. Введите команду:
    ATI
    После чего нажмите Enter. Обратите внимание: символы, которые Вы вводите, могут не отображаться на экране! Однако, после ввода команды и нажатия Enter, модем должен отобразить результат.

  12. Выполните нужные Вам AT команды для модема.

  13. Для выхода в меню программы нажмите Ctrl+A, затем Z

  14. Для выхода из программы (находясь в меню) нажмите Q и подтвердите выход нажатием Enter.

  15. Если программа не выдает никакой информации (или выдает абракадабру) в ответ на AT команды, значит неверно указано имя устройства, на котором находится часть 3G модема, принимающая AT-команды. Попробуйте другое имя (обычно это ttyUSBx, где x - цифра от 0 до 2).


#minicom –s

Выбираем настройку последовательного порта, нажимаем А и редактируем порт — /dev/ttyUSB0 после этого жмем два раза Enter и нажимаем Выход. После подключения вводим AT команду AT^U2DIAG=0 и выходим нажав Ctrl-A а потом Q

AT^U2DIAG=0 (девайс в режиме только модем)
AT^U2DIAG=1 (девайс в режиме модем + CD-ROM)
AT^U2DIAG=255 (девайс в режиме модем + CD-ROM + Card Reader)
AT^U2DIAG=256 (девайс в режиме модем + Card Reader)

 

 

Получите бесплатную консультацию

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