Страница 3 из 8

Re: huawei e1550 на centos

СообщениеДобавлено: 12 ноя 2010, 11:20
SVoy
Спасибо
сказалось отсутствие практики в написании диалплана, редактор добавил лишний пробел перед скобками, а астериск слишком критично все воспринял

Re: huawei e1550 на centos

СообщениеДобавлено: 25 ноя 2010, 21:10
SolarW
Yes! Вроде бы получилось.
Предистория.
chan_datacard из рук вон плохо работал на CentOS (сборки Elastix, Asterisk)
Проблема известна, описана тут.
В одну сторону (gsm -> sip) слышно нормально, в обратную (sip -> gsm) с искажениями и шумами до полной неразборчивости.
На других системах (Ubuntu) проблема лечилась обновлением ядра до 2.6.31+ - 2.6.33+
CentOS работает на ядре 2.6.18 и обновить его вроде как проблема.
Но вроде как все-таки удалось.
Итак, приступим.
Система Elastix 2.0 с последними обновлениями.
Доставим необходимые пакеты
Код: выделить все
yum install -y ncurses-devel gcc make rpm-build redhat-rpm-config

Скачаем последнее ядро
Код: выделить все
cd /usr/src
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.36.tar.bz2

Распакуем его
Код: выделить все
tar -xf linux-2.6.36.tar.bz2

Создадим ссылку на на стандартное расположение исходников ядра
Код: выделить все
ln -sf /usr/src/linux-2.6.36 /usr/src/linux

Копируем конфиг от активного ядра
Код: выделить все
cd linux
cp /boot/config-`uname -r` .config

Запускаем конфигуратор ядра
Код: выделить все
make menuconfig

И вносим небольшую корректировочку без которой новое ядро не взлетит:
- в разделе "General setup --->" активируем опцию "enable deprecated sysfs features which may confuse old userspace"
Выходим из кофигуратора
Создаем папки для сохранения результирующего rpm файла:
Код: выделить все
mkdir -p /usr/src/redhat/SRPMS
mkdir -p /usr/src/redhat/RPMS/{i386,x86_64}

Стандартный make rpm не собирает initrd автоматически и не добавляет ядро в grub.conf, поэтому надо наложить патчик.
Редактируем файл
Код: выделить все
nano scripts/package/mkspec

добавляя в его конец следующее:
Код: выделить все
echo "%post"
echo "/sbin/new-kernel-pkg --package kernel --mkinitrd --depmod --install "$KERNELRELEASE" || exit \$?"
echo ""

echo "%preun"
echo "/sbin/new-kernel-pkg --rminitrd --rmmoddep --remove "$KERNELRELEASE" || exit \$?"
echo ""

Собираем ядро (заодно контролируем время сборки):
Код: выделить все
time make rpm

У меня на Intel Atom 330 (1.6 GHz) собралось примерно за полтора часа.
По окончании устанавливаем новое свежее красивое ядро.
Код: выделить все
rpm -ihv /usr/src/redhat/RPMS/i386/kernel-2.6.36-1.i386.rpm

Проверяем правильно ли оно прописалась в настройк grub'а
Код: выделить все
[root@pbx05 ~]# cat /boot/grub/menu.lst
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
#          initrd /initrd-version.img
#boot=/dev/hdc
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.36)
        root (hd0,0)
        kernel /vmlinuz-2.6.36 ro root=/dev/VolGroup00/LogVol00
        initrd /initrd-2.6.36.img
title Elastix (2.6.18-194.3.1.el5)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-194.3.1.el5 ro root=/dev/VolGroup00/LogVol00
        initrd /initrd-2.6.18-194.3.1.el5.img

Глубоко вздыхаем и перегружаемся
Код: выделить все
reboot

После перезагрузки проверяем версию текущего ядра
Код: выделить все
[root@pbx05 ~]# uname -a
Linux pbx05 2.6.36 #1 SMP Wed Nov 24 21:13:57 EET 2010 i686 i686 i386 GNU/Linux


После этой процедуры на первый взгляд все живое.
Самый главный плюс - с нормальным качеством заработал chan_datacard.
Из замеченных минусов:
- перестал работать lm_sensors, чувствую при сборке ядра надо более пристальное внимание уделить конфигурации модулей железа
- процесс asterisk кушает постоянно до 33% CPU. Подозреваю что намекает на то, что его тоже надо пересобрать под новым ядром (хидерами)
Что еще сломалось - пока не знаю. Карт в этом астериске нет, поэтому посмотреть выжило ли DAHDI после этой операции не могу.
Если у кого-то с этим ядром эта система не взлетит - ничего не мешает откатится на предыдущее ядро.

Используемая литература
Сборка ядер с kernel.org в CentOS 5
Сборка ядра 2.6.32.x pvops

Re: huawei e1550 на centos

СообщениеДобавлено: 25 ноя 2010, 21:31
trscod
Dahdi даст о себе знать и без карт ;)
А вот для 2.6.33.7-4 в инэте точно есть готовые dahdi-modules для центоса.

Re: huawei e1550 на centos

СообщениеДобавлено: 25 ноя 2010, 21:38
SolarW
Дмитрий, ну Вы уже раз сказал "А" (выложили rpm'ку с kernel 2.6.33.7-4 у себя) то скажите уж и "Б" - выложите рядом :)
trscod писал(а):готовые dahdi-modules для центоса.

Re: huawei e1550 на centos

СообщениеДобавлено: 25 ноя 2010, 21:57
trscod
Да потер я их уже, ядро случайно осталось. Помню идея была сделать полностью пакетную сборку. Модули в инэте нашел только для этой версии ядра, так что компилить пришлось только рпм ядра. Недавно это было относительно.
А потер потомучто не понравилось.

Re: huawei e1550 на centos

СообщениеДобавлено: 29 ноя 2010, 17:39
sorgchik
SolarW спасибо за ман!
у меня правда нет такой загрузки проца, стандартно 1% :)
модем как железка работает, осталось его теперь допилить по поводу звука. Не ходит пока ни в одну - ни в другую сторону.

Re: huawei e1550 на centos

СообщениеДобавлено: 29 ноя 2010, 21:07
SolarW
Пожалуйста.

Появилось подозрение что еще кое-чего поломалось.
Перестал работать FreePBX и менюшка PBX в эластиксе.
Просмотр логов показал что куда-то испарился файл DB.php из PEAR и еще куча файликов оттуда же.
Переписал этот каталог с другой машинки - функциональность восстановилась.
Думаю может из-за того что добавил репу RPMForge оттуда левый php-pear приехал?
Надо будет во избежание yum-priorities поставить и настроить...

А что не так со звуком то?
В случае правильного прописывания ttyUSBx в datacard.conf и отсутствия проблем с натом все вроде с пол-пинка работает...
Причем работало и с оригинальным ядром - качество звука идущего из VoIP в GSM страдало только...

P.S. А тем временем chan_datacard форкнули. И новый кодер с энтузиазмом взялся пилить поддержку Call Waiting и конференц-связи...

P.P.S. Для звука важно еще чтобы порт был USB 2.0.

P.P.P.S. Ну и можно сказать что дурной пример оказался заразительным - портировали chan_datacard под Yate

Re: huawei e1550 на centos

СообщениеДобавлено: 29 ноя 2010, 21:18
trscod
Кодеры своеобразно изъясняются на русском. А что за конференция-то? Средствами сотового оператора?

Re: huawei e1550 на centos

СообщениеДобавлено: 29 ноя 2010, 23:23
SolarW
trscod писал(а):А что за конференция-то? Средствами сотового оператора?

Ага.
Вызываем первого абонента, вешаем на холд, вызываем второго, склеиваем всех троих в конференцию.

Re: huawei e1550 на centos

СообщениеДобавлено: 30 ноя 2010, 17:56
sorgchik
SolarW еще раз спасибо!
сейчас переписал конфиг заного, все заработало, видимо был ляп.
По поводу менюшки в эластиксе и freepbx - все работает без нареканий. По поводу загрузки проца я уэе отписывался, но сейчас только сообразил, что я asterisk пересобирал из исходников, потому как юзаю h323, видимо малая загрузка связана именно с этим.