Установка и настройка серверов Linux,создание сайтов, установка и настройка Asterisk PBX, Linux для начинающих и не только.
Получать статьи этого сайта на почту:

 

20
Feb 2012
sergldom
автор
24
комментариев
Рейтинг статьи:
1
Average: 1 (1 vote)

Установка Asterisk на роутер dir320, скачать chan_dongle и chan_datacard либо собрать самостоятельно для Huawei E173 и Asterisk 1.6.2.22, архитектура mipsel

Телефон Asterisk - логотип            DIR-320 установка Asterisk и настройка Huawei E1550

 

Здравствуйте уважаемый посетитель.

Так как я купил модем  Huawei e173 (аналогично работает и с Huawei E1550) и имеется маршрутизатор dir-320, решил выложить инструкцию как установить Asterisk 1.6.2.22 и собрать chan_dongle и chan_datacard для работы с Huawei e173 установленном на роутер dir-320, а также может работать на любых роутерах поддерживающих альтернативную прошивку на архитектуре mipsel, например OpenWRT, DD-WRT и т.д.
В связи с тем, что Asterisk, что устанавливается с репозитория Олега обновлен до последней стабильной версии 1.6.2.22 (огромная благодарность майнтейнерам) и все бинарники, что были ранее выложены хорошими людьми на просторах интернета для подключения Huawei модема к Asterisk в dir-320, на новом Астериск не работали, так как были собраны на более старую версию, пришлось собирать chan_dongle, а заодно и chan_datacard для нового Asterisk.

Инструкция по прошивке, а также ссылка на прошивку с модулями ядра находится по адресу:  Прошивка роутера dir-320 прошивкой rtn-r3015M от Олега с ядром 2.6.19, с помощью программы TFTP

Необходимо отключить у модема e173 виртуальный cdrom через программу minicom под Debian Squeeze

Установка minicom осуществляется коммандой:

aptitude install minicom
Запускаем программу:
minicom -s

При открытии программы выбираем Настройка последовательного порта

Minicom настройка модема Huawei E1550 или другой какой

Необходимо изменить Последовательный порт  нажав большую букву А (Shift a)  и исправив на /dev/ttyUSB0 нажать два раза ENTER

Minicom настройка модема Huawei E1550 или Huawei E173

Далее нажимаем на Выход

Minicom настройка модема Huawei E1550 или Huawei E173

После этого попадаем в терминал Вашего модема вводим команду:

AT^U2DIAG=256

После этого необходимо нажать CTRL + a  и нажимаем Shift + q и выходим с модема.

Отключаем, подключаем модем.

 

Это основные комманды для модемма:

Только GPRS/EDGE - AT^SYSCFG=13,1,3FFFFFFF,2,4
Только 3G/WCDMA - AT^SYSCFG=14,2,3FFFFFFF,2,4
Предпочитать GPRS/EDGE - AT^SYSCFG=2,1,3FFFFFFF,2,4
Предпочитать 3G/WCDMA - AT^SYSCFG=2,2,3FFFFFFF,2,4
Устройство в режиме только модем - AT^U2DIAG=0
Устройство в режиме модем + CD-ROM - AT^U2DIAG=1
Устройство в режиме модем + CD-ROM + Card Reader - AT^U2DIAG=255 или AT^U2DIAG=276
Устройство в режиме модем + Card Reader - AT^U2DIAG=256

 

Далее необходимо прошить роутер прошивкой Олега с ядром 2.6,  так как Asterisk на ядре 2.4 с модулем chan_dongle и chan_datacard работать не будут.
Из-за своей лени, я не настраиваю все руками, а пользуюсь скриптом (этот скрипт рассчитан на прошивку от Олега) устанавливающим весь основной софт на флешку модема, и затем, то чем не пользуюсь - удаляю.

 

После прошивки роутера, меняем имя пользователя с admin на root, заходим под пользователем root по telnet и выполняем комманды:

wget http://rung.narod.ru/start
chmod +x start
./start

 

Можно скачать скрипт с этого сайта (но лучше естественно скачивать с оффициального, я тут выложил на всякий случай) он актуален на 20.02.2012 выполнив комманды:

wget http://softnastroy.com/downloads/asterisk/install_all_progs_08.07.2012 -O start
chmod +x start
./start

 

DIR320 автоматическая установка программ на флешку или винчестер

 

И тут вместо rtorrent устанавливаем transmission: нажимаем - (тире) и нажимаем Enter,  после того как rtorrent изменен на transmission начинаем инсталяцию введя команду ! (восклицательный знак) и нажимаем Enter, соглашаемся с форматированием флешки нажав y когда запросит скрипт.

DIR-320 автоматическая установка программ на флешку или винчестер 2

После установки всех программ посредством скрипта устанавливающем основные программы необходимо удалить (если Вы не используете) не нужные программы, в моем случае мне не нужен ни качальщик торентов, ни поддержка веб сервером php, поэтому я удаляю не нужные программы командой:

ipkg remove transmission eaccelerator php-fcgi

Также удаляю скрипты запуска этих пограмм из автозагрузки, что находится по пути /opt/etc/init.d/

Далее устанавливаем на наш маршрутизатор Asterisk 1.6.2.22 командой:

ipkg install asterisk16

Команда выполнит установку Asterisk 1.6.2.22

Настраиваем загрузку модулей Asterisk

В файл /opt/etc/asterisk/modules.conf необходимо вставить этот набор загружаемых модулей, его в процессе работы будете подстраивать под свои нужды:

[modules]
autoload=no
load => format_pcm.so
load => codec_ulaw.so
load => codec_alaw.so
load => app_dial.so
load => app_macro.so
load => app_playback.so
load => app_setcallerid.so
load => app_disa.so
load => app_transfer.so
load => func_timeout.so
load => func_callerid.so
load => func_logic.so
load => func_strings.so
load => pbx_config.so
load => pbx_spool.so
load => chan_sip.so
load => res_musiconhold.so
load => func_shell.so
load => func_channel.so
load => chan_dongle.so
load => chan_oss.so

 

Для настройки автозагрузки Asterisk, необходимо добавить в файл /tmp/local/sbin/post-mount

было:

#!/bin/sh
/opt/etc/init.d/rc.unslung start

rm /opt/var/run/*.pid

стало:

#!/bin/sh
/opt/etc/init.d/rc.unslung start

/opt/sbin/asterisk

rm /opt/var/run/*.pid

 

После этого необходимо записать изменения на флешке роутера выполнив такую комманду:

flashfs save && flashfs commit && flashfs enable

 

Сборка chan_dongle и chan_datacard для работы модема HUAWEI e173

 

Я собрал два модуля chan_dongle и chan_datacard просто для того, чтобы кто-то кому необходимо, мог скачать любой готовый собранный модуль не городя огород со сборкой.

!!! Использовать нужно только один модуль

 

Скачать chan_dongle.so собранный для Asterisk 1.6.2.22

Скачать архив с собранным модулем. Содержимое архива: chan_dongle.so, dongle.conf, extensions.conf

Скачать командой из консоли собранный модуль chan_dongle.so:

wget http://softnastroy.com/downloads/asterisk/chan_dongle.so
wget http://softnastroy.com/downloads/asterisk/chan_dongle_so.tgz

 

Скачать chan_datacard.so собранный для Asterisk 1.6.2.22

Скачать архив с собранным модулем. Содержимое архива: chan_datacard.so, datacard.conf, extensions.conf

Скачать командой из консоли собранный модуль chan_datacard:

wget http://softnastroy.com/downloads/asterisk/chan_datacard.so
wget http://softnastroy.com/downloads/asterisk/chan_datacard-1.0.r310_so.tgz

 

Самостоятельная сборка из исходников:

Для сборки chan_dongle и chan_datacard необходимо установить необходимые инструменты и зависимости коммандой:

ipkg install buildroot optware-devel make -force-overwrite

Добавил параметр -force-overwrite из-за того, что у меня не устанавливался buildroot и я не мог сконфигурировать пакет.

Создаем папку в которую мы будем качать и в которой будем проводить конфигурирование и сборку программы:

mkdir -p /opt/usr/src/asterisk/
cd /opt/usr/src/asterisk/

 

Качаем, распаковываем и переходим в папку с исходниками модуля chan_dongle:

cd /opt/usr/src/asterisk/
wget http://asterisk-chan-dongle.googlecode.com/files/chan_dongle-1.1.r10.tgz
tar xvfz chan_dongle-1.1.r10.tgz
cd chan_dongle-1.1.r10

 

Запускаем конфигурирование и сборку и установку модуля chan_dongle:

mkdir -p /opt/local/include
ln -s /opt/include/asterisk.h /opt/local/include/
./configure --target=mipsel-linux --build=mipsel-linux
make
cp chan_dongle.so /opt/lib/asterisk/modules/
cp etc/dongle.conf /opt/etc/asterisk/

 

Качаем, распаковываем и переходим в папку с исходниками модуля chan_datacard:

cd /opt/usr/src/asterisk/
wget http://datacard.googlecode.com/files/chan_datacard-1.0.r310.tgz
tar xvfz chan_datacard-1.0.r310.tgz
cd chan_datacard-1.0.r310

 

Запускаем конфигурирование и сборку и установку модуля chan_datacard:

mkdir -p /opt/local/include
ln -s /opt/include/asterisk.h /opt/local/include/
./configure --target=mipsel-linux --build=mipsel-linux 
make
cp chan_datacard.so /opt/lib/asterisk/modules/
cp etc/datacard.conf /opt/etc/asterisk/

Коммандой:

ls /dev/ttyUSB*
/dev/ttyUSB0  /dev/ttyUSB1  /dev/ttyUSB2

мы смотрим видит или не видит Linux роутер DIR-320 наш модем HUAWEY E173.

 

В файл /etc/asterisk/dongle.conf необходимо добавить настройки для нашего модема

было:

[dongle0]
audio=/dev/ttyUSB1              ; tty port for audio connection;        no default value
data=/dev/ttyUSB2               ; tty port for AT commands;             no default value

; or you can omit both audio and data together and use imei=123456789012345 and/or imsi=123456789012345
;  imei and imsi must contain exactly 15 digits !
;  imei/imsi discovery is available on Linux only
imei=123456789012345
imsi=123456789012345

; if audio and data set together with imei and/or imsi audio and data has precedence
;   you can use both imei and imsi together in this case exact match by imei and imsi required

стало:

;[dongle0]
;audio=/dev/ttyUSB1             ; tty port for audio connection;        no default value
;data=/dev/ttyUSB2              ; tty port for AT commands;             no default value

; or you can omit both audio and data together and use imei=123456789012345 and/or imsi=123456789012345
;  imei and imsi must contain exactly 15 digits !
;  imei/imsi discovery is available on Linux only
;imei=123456789012345
;imsi=123456789012345

; if audio and data set together with imei and/or imsi audio and data has precedence
;   you can use both imei and imsi together in this case exact match by imei and imsi required



[dongle0]
audio=/dev/ttyUSB1 ; tty for audio connection
data=/dev/ttyUSB2 ; tty for AT commands
context=datacard-incoming ; context for incoming calls
group=1 ; calling group
rxgain=3 ; increase the incoming volume
txgain=3 ; increase the outgoint volume
resetdatacard=yes ; reset datacard during initialization
u2diag=256 ; set U2DIAG parameter (256 = modem+card_reader)
usecallingpres=yes ; use the caller ID presentation or not
callingpres=allowed_passed_screen ; set caller ID presentation

 

Для модуля chan_datacard отличие от chan_dongle в конфигурационном файле /etc/asterisk/datacard.conf только в [dongle0] который нужно изменить на [datacard0]

 

После установки запускаем консоль командой:

rasterisk

И выполняем  в консоли две комманды:

module reload
dongle show devices

module reload - тут мы перегрузили установленные модули.
dongle show devices - этой командой мы смотрим видит ли модуль наш модем. Вот мой вывод этой комманды:

(none)*CLI> dongle show devices
ID           Group State      RSSI Mode Submode Provider Name  Model      Firmware          IMEI             IMSI             Number
dongle0      1     Free       21   3    3       life:)         E173       11.126.85.00.209  874965201353496  248063553293180  Unknown

Инструкция по установке и настройке Asterisk, chan_dongle, chan_datacard в роутере dir-320 c прошивкой Олега (работает на любой прошивке поддерживающей optware) закончена. Теперь необходимо только настраивать наш VOIP сервер на Asterisk.

      P.S. Если на новой прошивке при подключении модема Huawei, он не определяется в системе, не появляется /dev/ttyUSB*  добавьте в файл /usr/local/sbin/post-mount:

vi /tmp/local/sbin/pre-mount
#!/bin/sh

swapon -a
kernel="$(uname -r)"
kernel=${kernel:0:3}
 
if [ "$kernel" = "2.4" ]; then
acm_mod="acm"
else
acm_mod="cdc-acm"
fi
 
usbserial="$(lsmod | grep usbserial)"
acm="$(lsmod | grep $acm_mod)"
option="$(lsmod | grep option)"
 
[ -z "$usbserial" ] && insmod usbserial;
[ -z "$acm" ] && insmod $acm_mod;
[ -z "$option" ] && insmod option;

Сохраняем все изменения в энергонезависимой памяти выполнив команду:

flashfs save && flashfs commit && flashfs enable

 

P.S.

У меня с моим модемом Huawei e173 не заладилась совместная жизнь, потому поменял на Huawei e1550. После установки на флешку софта, сама флешка за ночь такое ощущение перемонтировалась самостоятельно по 8-10 раз. И каждое перемонтирование создавало новую точку монтирования. Отчего весь софт установленный на флешку переставал работать. Модем покупал на aukro и продавец модема согласился на обмен на Huawei e1550 с доплатой разницы, за что ему огромное спасибо.  С новым модемом никаких проблем, все определяется и работает безотказно. Может конечно проблема в самом модеме либо в прошивке, но у меня получилось обменять и я рад, что не пришлось мучиться с его прошивкой.

Рейтинг статьи: 

1
Average: 1 (1 vote)

Вам понравилась статья? Хотите получать уведомления о выходе новых статей с этого сайта на свой почтовый адрес? Подписывайтесь пожалуйста. Введите свой почтовый адрес и нажмите кнопку Хочу получать статьи!

<![CDATA[]]><![CDATA[]]>

 

*Адреса электронной почты не разглашаются и не предоставляются третьим лицам для коммерческого или некоммерческого использования.

 

 
 

 

24 комментария:
Yaitskiy
12/03/2012 - 07:58
Большое спасибо! Благодаря этой инструкции удалось собрать chan_dongle на маршрутизаторе Linksys WRT610N v1 с прошивкой DD-WRT 17990 K26. Без этой статьи не догадался добавить ключи --target=mipsel-linux --build=mipsel-linux. На DD-WRT с Optware пути немного поменять надо. Кто оптварь поставил - разберётся. Ещё добавил --with-asterisk=/opt/include. Для тех кто будет повторять на DD-WRT - нужно одну переменную окружения удалить, а то библиотеки по неправильным путям ищутся, и configure заканчивается ошибкой "C compiler cannot create executables". В переменной окружения LD_LIBRARY_PATH есть нужные пути, но директории начинающиется с /opt идут в конце, и ничего не работает. Нужно дать команду unset LD_LIBRARY_PATH - и тогда всё работает. Модем у меня тоже E173. Купил Мегафоновский, голос там уже был разблокированный, а unlock code не принимался. Прошил другой прошивкой, и тогда ввёл код и отвязал от Мегафона. К сожалению не удалось запустить модем в том режиме, когда кардридер в модеме работает - не вышло у меня ничего с usb_modeswitch, а так хотелось в качестве носителя использовать microSD карту в модеме. Пришлось купить USB хаб, Optware поставить как и раньше на флешку, а модем переключить в режим "только модем": AT^U2DIAG=0
UM
06/06/2012 - 12:35
chan_dongle -ом не поделитесь? )
06/06/2012 - 13:23
В статье есть эта ссылка: Скачать chan_dongle.so собранный для Asterisk 1.6.2.22
UM
08/06/2012 - 11:44
Он подходит для Линксиса на DD-WRT?
08/06/2012 - 12:21
Конечно подойдет, но нужно установить на DD-WRT optware и далее устанавливаете стандартно командой: ipkg install asterisk16
Deem_On
13/02/2013 - 07:59
Спасибо большое за мануал! надо только дописать вот это: "res_rtp_asterisk.so" в /opt/lib/asterisk/modules/  для RTP.
Николай
12/03/2014 - 11:32
Здравствуйте. Есть в наличии dir320, e1551, sd 2GB. Раньше пользовался маршрутизатором с подмонтированой USB flash, но после создания идентычных трех разделов на SD карте, openWRT отказывается его распознавать - видит только как sdb устройство (в /dev), а разделов нет. В ubuntu 12.04 распознается как sdb: sdb1 sdb2 sdb3 На dir320: dmesg | grep sd sd 16:0:0:0: [sdb] Attached SCSI removable disk Как вытащить из ubuntu, то чего не хватает в openwrt?
12/03/2014 - 23:23
Здравствуйте. Попробуйте переразбить данную флешку из под роутера используя програму fdisk  
Николай
14/03/2014 - 10:53
После перезагрузки маршрутизатора: root@OpenWrt:~# dmesg | grep sd //т.е. подключенных дисков нет root@OpenWrt:~# dmesg | grep sd //после того как подключил модем [  186.144000] sd 3:0:0:0: [sda] Attached SCSI removable disk //я так понимаю обнаружена флешка как sda root@OpenWrt:~# ls /dev | grep sd //проверяю наличие устройства в /dev sda root@OpenWrt:~# fdisk /dev/sda Welcome to fdisk (util-linux 2.21.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. fdisk: unable to open /dev/sda: No medium found //не понятна причина этой ошибки После этого подключаю к ubuntu 12.04 и запускаю Disk utility: в поле Volumes - No media detected Есть кнопка Format drive - жму. Выбераю Scheme - Master Boot Record. Ответ: Error creating partition table: helper exited with exit code 1: cannot open /dev/sdb: No medium found Model: HUAWEI MMC Storage Firmware version: 2.31 - так распознается устройство в Disk utility Какой картой памяти пользуетесь Вы?
Николай
14/03/2014 - 12:22
Спасибо за помощь - скорее всего отходил контак при подключении карты памяти. На данном этапе имеется модем с картой памяти (распознаной) с препозитория установлен asterisk18 - 1.8.10.1-2. Не хочется компилировать chan_dongle - если я скачаю Ваш для 16-ой весрии, то он подойдойдет для более новой?
14/03/2014 - 17:04
Здравствуйте. Cкомпиленный мной модуль chan_dongle для dir320 версии Asterisk 1.6 не подойдет для Asterisk 1.8. Скомпилируйте пожалуйста по инструкции с сайта, если пришлете мне скомпилированный файл, я выложу на сайте рядом с chan_dongle для Asterisk 1.6.
Николай
27/03/2014 - 19:53
Здравствуйте. Перенес на sd карту в модеме / раздел  по примеру от сюда http://dipcore.com/?p=296 Ранее проделывал данную операцию с обычным usb flash и все работает отлично. Самое интересное, что после перезагрузки не обрабатываются dns запросы маршрутизатором, т.е. если пропинговать ya.ru то пишет 'bad address', а с 8.8.8.8 никаких проблем нет. Ума не приложу в чем может быть проблема с этой карочкой?! Пробовал карту памяти другого производителя - результат тот же... У Вас такого не было после переноса системы на sd?
Николай
03/04/2014 - 13:06
Здарвствуйте. Удалось пока только скачать исходники установленой версии asterisk 1.8.10.1 и chan_dongle-1.1.r14 (распаковал). После этого у Вас написано несколько команд которые я не понимаю: mkdir -p /opt/local/include ln -s /opt/include/asterisk.h /opt/local/include/   Для чего эта папка и ссылка на файл? У меня нет каталога /opt. Так же не хватает как минимум компилятора установленного - не могли бы Вы выложить список пакетов которые понадобились для компиляции?
03/04/2014 - 14:42
Здравствуйте. Читайте внимательно инструкцию. Установка пакетов для сборки: Самостоятельная сборка из исходников: Для сборки chan_dongle и chan_datacard необходимо установить необходимые инструменты и зависимости коммандой: ipkg install buildroot optware-devel make -force-overwrite Добавил параметр -force-overwrite из-за того, что у меня не устанавливался buildroot и я не мог сконфигурировать пакет. Папка нужна для сборки пакета, и ссылка на файл также.    
Николай
04/04/2014 - 11:44
Здравствуйте. Вот тут у Вас http://softnastroy.com/content/ustanovka-na-router-dir-320-novoy-proshivki-ot-vampirik-takzhe-podklyuchenie-repozitoriya-entware.html описано как подглючить репозиторий Entware, в котором есть chan_dongle для asterisk18. Насколько я понял то этот репозиторий только для ядра 2.6? C более новым ядром не удастся установить модуль?
Chif
03/07/2014 - 17:28
Уважаемый автор, а какая ревизия роутера подходит? А1 или В1? тоесть старый или новый NRU?
04/07/2014 - 10:21
Ревизия роутера DIR-320 A1
Chif
04/07/2014 - 12:05
По мимо dir-320 A1 какие еще возможно использовать роутеры? можете огласить список? на данный момент тяжело найти старенький dir-320. заранее спасибо.
04/07/2014 - 15:53
Любой роутер на который вы можете установить систему управления пакетами optware или entware. Это в основном прошивки от энтузиастов. К тому же предпочтительнее брать роутер с флешкой на 8МБ и наличием USB. Так как на 8мб флешку возможно установить астериск и еще что нибудь без использования дополнительного ЮСБ если получится прошить OpenWRT(проверено)  или на прошивку от энтузиастов (не проверено без ЮСБ)
Chif
12/07/2014 - 23:26
Так получается что только ADSL интернет у меня постоянно доступен без каких либо проблем 365 дней D-Link DSL2640B / DSL2740B / DSL2741B смогут фуккционировать в полном обьёме + asteriks?
12/07/2014 - 23:49
На сколько я знаю, прошивок для dsl модема c полноценной поддержкой entware, optware нет. Поищите в интернете, может кто-то прошивал DSL модем и у него работает как opkg так и dsl. Еще один вариант - установить флешку и нажать установить торент клиент в веб интерфейсе, потом зайти на роутер по SSH и проверить вдруг работает  ipkg или opkg.
19/10/2014 - 00:07
Доброго дня.  Обзавёлся я DIR-825 h/w B2, модемом пока что одним ​Huawei E1550, но хочу догнать до 6-ти устройств, модем разлочил через DC-Unlocker client, через его же ввёл команду AT^U2DIAG=256, разлачивать под операторов не понадобилось. На роутер установил open wrt, если не ошибаюсь то 2,81 МБ, а дальше приплыли. я чайник))) дайте мануал плиз. или скайп лучше напишите на [email protected] p.s. какой посоветуете usb активный хаб?
19/10/2014 - 00:33
Здравствуйте. Мой скайп есть на странице о сайте.
Виктор
29/12/2014 - 00:34
Тоже интересна тема установки множества модемов. Пишите сюда

Add new comment

Filtered HTML

  • Search Engines will index and follow ONLY links to allowed domains.

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

Plain text

  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
  • Search Engines will index and follow ONLY links to allowed domains.

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.