В одну сторону (gsm -> sip) слышно нормально, в обратную (sip -> gsm) с искажениями и шумами до полной неразборчивости.
chan_datacard из рук вон плохо работал на CentOS (сборки Elastix, Asterisk)
Попробуем решить пробелму.
Система Elastix 2.3.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.39.tar.bz2
Распакуем его
tar -xf linux-2.6.39.tar.bz2
Создадим ссылку на на стандартное расположение исходников ядра
ln -sf /usr/src/linux-2.6.39 /usr/src/linux
Копируем конфиг от активного ядра
cd linux
cp /boot/config-`uname -r` .config
Запускаем конфигуратор ядра
make menuconfig
И вносим небольшую корректировочку без которой новое ядро не взлетит:
- в разделе "General setup --->" активируем опцию "enable deprecated sysfs features which may confuse old userspace tools"
Выходим из кофигуратора
Создаем папки для сохранения результирующего 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 ""
Сохраняемся {CLTR} X Подтверждаем Y и наконец {ENTER}
Собираем ядро (заодно контролируем время сборки):
time make rpm
У меня на Intel Atom D2700 @ 2.13 GHz собрака длилась
real 48m26.328s
user 135m54.842s
sys 8m25.492s
По окончании устанавливаем новое свежее красивое ядро.
rpm -ihv /usr/src/redhat/RPMS/i386/kernel-2.6.39-1.i386.rpm
Проверяем правильно ли оно прописалась в настройк grub'а
[root@voip ~]# 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.39)
root (hd0,0)
kernel /vmlinuz-2.6.39 ro root=/dev/VolGroup00/LogVol00
initrd /initrd-2.6.39.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}
reboot
После перезагрузки проверяем версию текущего ядра
[root@voip ~]# uname -a
Linux voip 2.6.39 #1 SMP Wed Nov 24 21:13:57 EET 2010 i686 i686 i386 GNU/Linux
После этой процедуры на первый взгляд все живое.
До
Details of package versions
Name Package Name Version Release
Kernel
Linux(i386) 2.6.18 238.12.1.el5
После
Name Package Name Version Release
Kernel
Linux(i386) 2.6.39 undefined