AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

Проблемы с установкой zaptel

Newbies/FAQ Forum 5 сообщений -
#1

Проблемы с установкой zaptel


Ребят, у меня следующая проблема:

Установил Digium-плату TDM02B в свободный PCI-слот, скачал последнюю стабильную версию драйверов zaptel (1.4.4), распаковал их (исходники) в /usr/src/zaptel и запустил rebuild_zaptel (на всякий случай код скрипта приведён в конце моего сообщения):


# rebuild_zaptel
-------------------------------------------
Rebuilding zaptel drivers
-------------------------------------------


STOPPING ASTERISK

Disconnected from Asterisk server
Asterisk Stopped

STOPPING FOP SERVER
FOP Server Stopped
Notice: Configuration file is /etc/zaptel.conf
line 0: Unable to open master device '/dev/zap/ctl'

1 error(s) detected

Unloading zaptel hardware drivers:.
Removing zaptel module: ERROR: Module zaptel does not exist in /proc/modules
[FAILED]
-------------------------------------------
Kernel setup
-------------------------------------------
Kernel version: 2.6.18-8.el5
Kernel directory: 2.6.18-8.el5-i686
Modules directory: /lib/modules/2.6.18-8.el5/extra

-----------------------------------------------------
Seting up links to kernel sources
-----------------------------------------------------

ln: creating symbolic link `/usr/src/linux' to `/usr/src/kernels/2.6.18-8.el5-i6

86': File exists
ls: linux: No such file or directory
Link linux:
ln: creating symbolic link `/usr/src/linux-2.6' to `/usr/src/kernels/2.6.18-8.el

5-i686': File exists
ls: linux-2.6: No such file or directory
Link linux-2.6:


...
...
...


Вообщем, прихожу к выводу, что в моём дистрибутиве отсутствуют исходники ядра, необходимые для компиляции zaptel-драйверов, которые rebuild_zaptel ожидает увидеть в директории /usr/src/kernels/2.6.18-8.el5-i686 (версия моего ядра - 2.6.18-8.el5).

Я скачал 50 Mb исходников ядра для моей версии вот отсюда - http://www.eu.kernel.org/pub/linux/kerne ... 8.8.tar.gz - хотя, признаться честно, не совсем уверен, что это именно то, что нужно. Вообщем, распаковал я эти исходники в директории /usr/src/kernels/2.6.18-8.el5-i686 как и хотел rebuild_zaptel и запустил его снова:


# rebuild_zaptel
-------------------------------------------
Rebuilding zaptel drivers
-------------------------------------------


STOPPING ASTERISK

Disconnected from Asterisk server
Asterisk Stopped

STOPPING FOP SERVER
FOP Server Stopped
Notice: Configuration file is /etc/zaptel.conf
line 0: Unable to open master device '/dev/zap/ctl'

1 error(s) detected

Unloading zaptel hardware drivers:.
Removing zaptel module: ERROR: Module zaptel does not exist in /proc/modules
[FAILED]
-------------------------------------------
Kernel setup
-------------------------------------------
Kernel version: 2.6.18-8.el5
Kernel directory: 2.6.18-8.el5-i686
Modules directory: /lib/modules/2.6.18-8.el5/extra

-----------------------------------------------------
Seting up links to kernel sources
-----------------------------------------------------

ls: linux: No such file or directory
Link linux:
ls: linux-2.6: No such file or directory
Link linux-2.6:
grep: /lib/modules/2.6.18-8.el5/build/include/linux/autoconf.h: No such file or directory
install -d /etc/udev/rules.d
build_tools/genudevrules > /etc/udev/rules.d/zaptel.rules
grep: /lib/modules/2.6.18-8.el5/build/include/linux/autoconf.h: No such file or directory
make[1]: Entering directory `/usr/src/zaptel/menuselect'
rm -f menuselect gmenuselect *.o
make[2]: Entering directory `/usr/src/zaptel/menuselect/mxml'
/bin/rm -f mxmldoc.o testmxml.o mxml-attr.o mxml-entity.o mxml-file.o mxml-index.o mxml-node.o mxml-search.o mxml-set.o

mxml-private.o mxml-string.o libmxml.a mxmldoc doc/mxml.3 doc/mxmldoc.1 testmxml mxml.xml
/bin/rm -f mxmldoc-static libmxml.a
/bin/rm -f *.bck *.bak
/bin/rm -f config.cache config.log config.status config.h
/bin/rm -f -r autom4te*.cache
make[2]: Leaving directory `/usr/src/zaptel/menuselect/mxml'
make[1]: Leaving directory `/usr/src/zaptel/menuselect'
rm -f torisatool makefw tor2fw.h radfw.h
rm -f fxotune fxstest sethdlc-new ztcfg ztdiag ztmonitor ztspeed zttest zttool
rm -f *.o ztcfg tzdriver sethdlc sethdlc-new
rm -f libtonezone.so libtonezone.a *.lo
make -C /lib/modules/2.6.18-8.el5/build SUBDIRS=/usr/src/zaptel clean
make[1]: Entering directory `/usr/src/kernels/2.6.18-8.el5-i686'
grep: /lib/modules/2.6.18-8.el5/build/include/linux/autoconf.h: No such file or directory
cc1: error: include/linux/autoconf.h: No such file or directory
CLEAN /usr/src/zaptel/.tmp_versions
make[1]: Leaving directory `/usr/src/kernels/2.6.18-8.el5-i686'
make -C xpp/utils clean
make[1]: Entering directory `/usr/src/zaptel/xpp/utils'
rm -f *.o init_fxo_modes print_modes zt_registration.8 xpp_sync.8 lszaptel.8 xpp_blink.8 zapconf.8 zaptel_hardware.8
make[1]: Leaving directory `/usr/src/zaptel/xpp/utils'
make -C firmware clean
make[1]: Entering directory `/usr/src/zaptel/firmware'
rm -f zaptel-fw-*.o
make[1]: Leaving directory `/usr/src/zaptel/firmware'
rm -rf .tmp_versions
rm -f gendigits tones.h
rm -f libtonezone*
rm -f tor2ee
rm -f fxotune
rm -f core
rm -f ztcfg-shared fxstest
rm -rf misdn*
rm -rf mISDNuser*
grep: /lib/modules/2.6.18-8.el5/build/include/linux/autoconf.h: No such file or directory
make[1]: Entering directory `/usr/src/zaptel/menuselect'
make[2]: Entering directory `/usr/src/zaptel/menuselect'
make[3]: Entering directory `/usr/src/zaptel/menuselect/mxml'
if test -f config.status; then \
./config.status --recheck; \
./config.status; \
else \
./configure; \
fi
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking for ranlib... ranlib
checking for ar... /usr/bin/ar
checking for cp... /bin/cp
checking for ln... /bin/ln -s -s -s -s -s
checking for mkdir... /bin/mkdir
checking for nroff... /usr/bin/nroff
checking for rm... /bin/rm
checking for strdup... yes
checking for vsnprintf... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating mxml.list
config.status: creating mxml.pc
config.status: creating config.h
touch config.h
gcc -O -Wall -O -Wall -O -Wall -O -Wall -O -Wall -c mxml-attr.c
gcc -O -Wall -O -Wall -O -Wall -O -Wall -O -Wall -c mxml-entity.c
gcc -O -Wall -O -Wall -O -Wall -O -Wall -O -Wall -c mxml-file.c
gcc -O -Wall -O -Wall -O -Wall -O -Wall -O -Wall -c mxml-index.c
gcc -O -Wall -O -Wall -O -Wall -O -Wall -O -Wall -c mxml-node.c
gcc -O -Wall -O -Wall -O -Wall -O -Wall -O -Wall -c mxml-search.c
gcc -O -Wall -O -Wall -O -Wall -O -Wall -O -Wall -c mxml-set.c
gcc -O -Wall -O -Wall -O -Wall -O -Wall -O -Wall -c mxml-private.c
gcc -O -Wall -O -Wall -O -Wall -O -Wall -O -Wall -c mxml-string.c
/bin/rm -f libmxml.a
/usr/bin/ar crvs libmxml.a mxml-attr.o mxml-entity.o mxml-file.o mxml-index.o mxml-node.o mxml-search.o mxml-set.o

mxml-private.o mxml-string.o
a - mxml-attr.o
a - mxml-entity.o
a - mxml-file.o
a - mxml-index.o
a - mxml-node.o
a - mxml-search.o
a - mxml-set.o
a - mxml-private.o
a - mxml-string.o
ranlib libmxml.a
make[3]: Leaving directory `/usr/src/zaptel/menuselect/mxml'
gcc -Wall -o menuselect.o -g -c -D_GNU_SOURCE menuselect.c
gcc -Wall -o menuselect_curses.o -g -c -D_GNU_SOURCE menuselect_curses.c
gcc -Wall -o strcompat.o -g -c -D_GNU_SOURCE strcompat.c
gcc -g -Wall -o menuselect menuselect.o menuselect_curses.o strcompat.o mxml/libmxml.a -lncurses
make[2]: Leaving directory `/usr/src/zaptel/menuselect'
make[1]: Leaving directory `/usr/src/zaptel/menuselect'
grep: /lib/modules/2.6.18-8.el5/build/include/linux/autoconf.h: No such file or directory
make: *** No rule to make target `linux26'. Stop.
grep: /lib/modules/2.6.18-8.el5/build/include/linux/autoconf.h: No such file or directory
gcc -g -c -DSTANDALONE_ZAPATA -DBUILDING_TONEZONE -DHOTPLUG_FIRMWARE -I. -O4 -g -Wall -DBUILDING_TONEZONE

-DSTANDALONE_ZAPATA -DZAPTEL_CONFIG=\"/etc/zaptel.conf\" -o zttool.o zttool.c
gcc zttool.o -lnewt -o zttool
grep: /lib/modules/2.6.18-8.el5/build/include/linux/autoconf.h: No such file or directory
grep: /lib/modules/2.6.18-8.el5/build/include/linux/autoconf.h: No such file or directory
make[1]: Entering directory `/usr/src/zaptel'
gcc gendigits.c -lm -o gendigits
./gendigits > tones.h
gcc -o makefw makefw.c
./makefw tormenta2.rbt tor2fw > tor2fw.h
Loaded 69900 bytes from file
./makefw pciradio.rbt radfw > radfw.h
Loaded 42096 bytes from file
make -C /lib/modules/2.6.18-8.el5/build SUBDIRS=/usr/src/zaptel modules
make[2]: Entering directory `/usr/src/kernels/2.6.18-8.el5-i686'

ERROR: Kernel configuration is invalid.
include/linux/autoconf.h or include/config/auto.conf are missing.
Run 'make oldconfig && make prepare' on kernel src to fix it.


WARNING: Symbol version dump /usr/src/kernels/2.6.18-8.el5-i686/Module.symvers
is missing; modules will have no dependencies and modversions.

grep: /lib/modules/2.6.18-8.el5/build/include/linux/autoconf.h: No such file or directory
CC [M] /usr/src/zaptel/pciradio.o
cc1: error: include/linux/autoconf.h: No such file or directory


+

ещё куча всякого барахла...


После этого запустил 'make oldconfig && make prepare' в директории исходников ядра и снова запустил rebuild_zaptel:



# rebuild_zaptel
-------------------------------------------
Rebuilding zaptel drivers
-------------------------------------------


STOPPING ASTERISK

STOPPING FOP SERVER
Notice: Configuration file is /etc/zaptel.conf
line 0: Unable to open master device '/dev/zap/ctl'

1 error(s) detected

Unloading zaptel hardware drivers:.
Removing zaptel module: ERROR: Module zaptel does not exist in /proc/modules
[FAILED]
-------------------------------------------
Kernel setup
-------------------------------------------
Kernel version: 2.6.18-8.el5
Kernel directory: 2.6.18-8.el5-i686
Modules directory: /lib/modules/2.6.18-8.el5/extra

-----------------------------------------------------
Seting up links to kernel sources
-----------------------------------------------------

ls: linux: No such file or directory
Link linux:
ls: linux-2.6: No such file or directory
Link linux-2.6:
install -d /etc/udev/rules.d
build_tools/genudevrules > /etc/udev/rules.d/zaptel.rules
make[1]: Entering directory `/usr/src/zaptel/menuselect'
rm -f menuselect gmenuselect *.o
make[2]: Entering directory `/usr/src/zaptel/menuselect/mxml'
/bin/rm -f mxmldoc.o testmxml.o mxml-attr.o mxml-entity.o mxml-file.o mxml-index.o mxml-node.o mxml-search.o mxml-set.o

mxml-private.o mxml-string.o libmxml.a mxmldoc doc/mxml.3 doc/mxmldoc.1 testmxml mxml.xml
/bin/rm -f mxmldoc-static libmxml.a
/bin/rm -f *.bck *.bak
/bin/rm -f config.cache config.log config.status config.h
/bin/rm -f -r autom4te*.cache
make[2]: Leaving directory `/usr/src/zaptel/menuselect/mxml'
make[1]: Leaving directory `/usr/src/zaptel/menuselect'
rm -f torisatool makefw tor2fw.h radfw.h
rm -f fxotune fxstest sethdlc-new ztcfg ztdiag ztmonitor ztspeed zttest zttool
rm -f *.o ztcfg tzdriver sethdlc sethdlc-new
rm -f libtonezone.so libtonezone.a *.lo
make -C /lib/modules/2.6.18-8.el5/build SUBDIRS=/usr/src/zaptel clean
make[1]: Entering directory `/usr/src/kernels/2.6.18-8.el5-i686'
CLEAN /usr/src/zaptel/.tmp_versions
make[1]: Leaving directory `/usr/src/kernels/2.6.18-8.el5-i686'
make -C xpp/utils clean
make[1]: Entering directory `/usr/src/zaptel/xpp/utils'
rm -f *.o init_fxo_modes print_modes zt_registration.8 xpp_sync.8 lszaptel.8 xpp_blink.8 zapconf.8 zaptel_hardware.8
make[1]: Leaving directory `/usr/src/zaptel/xpp/utils'
make -C firmware clean
make[1]: Entering directory `/usr/src/zaptel/firmware'
rm -f zaptel-fw-*.o
make[1]: Leaving directory `/usr/src/zaptel/firmware'
rm -rf .tmp_versions
rm -f gendigits tones.h
rm -f libtonezone*
rm -f tor2ee
rm -f fxotune
rm -f core
rm -f ztcfg-shared fxstest
rm -rf misdn*
rm -rf mISDNuser*
make[1]: Entering directory `/usr/src/zaptel/menuselect'
make[2]: Entering directory `/usr/src/zaptel/menuselect'
make[3]: Entering directory `/usr/src/zaptel/menuselect/mxml'
if test -f config.status; then \
./config.status --recheck; \
./config.status; \
else \
./configure; \
fi
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking for ranlib... ranlib
checking for ar... /usr/bin/ar
checking for cp... /bin/cp
checking for ln... /bin/ln -s -s -s -s -s -s -s
checking for mkdir... /bin/mkdir
checking for nroff... /usr/bin/nroff
checking for rm... /bin/rm
checking for strdup... yes
checking for vsnprintf... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating mxml.list
config.status: creating mxml.pc
config.status: creating config.h
touch config.h
gcc -O -Wall -O -Wall -O -Wall -O -Wall -O -Wall -O -Wall -O -Wall -c mxml-attr.c
gcc -O -Wall -O -Wall -O -Wall -O -Wall -O -Wall -O -Wall -O -Wall -c mxml-entity.c
gcc -O -Wall -O -Wall -O -Wall -O -Wall -O -Wall -O -Wall -O -Wall -c mxml-file.c
gcc -O -Wall -O -Wall -O -Wall -O -Wall -O -Wall -O -Wall -O -Wall -c mxml-index.c
gcc -O -Wall -O -Wall -O -Wall -O -Wall -O -Wall -O -Wall -O -Wall -c mxml-node.c
gcc -O -Wall -O -Wall -O -Wall -O -Wall -O -Wall -O -Wall -O -Wall -c mxml-search.c
gcc -O -Wall -O -Wall -O -Wall -O -Wall -O -Wall -O -Wall -O -Wall -c mxml-set.c
gcc -O -Wall -O -Wall -O -Wall -O -Wall -O -Wall -O -Wall -O -Wall -c mxml-private.c
gcc -O -Wall -O -Wall -O -Wall -O -Wall -O -Wall -O -Wall -O -Wall -c mxml-string.c
/bin/rm -f libmxml.a
/usr/bin/ar crvs libmxml.a mxml-attr.o mxml-entity.o mxml-file.o mxml-index.o mxml-node.o mxml-search.o mxml-set.o

mxml-private.o mxml-string.o
a - mxml-attr.o
a - mxml-entity.o
a - mxml-file.o
a - mxml-index.o
a - mxml-node.o
a - mxml-search.o
a - mxml-set.o
a - mxml-private.o
a - mxml-string.o
ranlib libmxml.a
make[3]: Leaving directory `/usr/src/zaptel/menuselect/mxml'
gcc -Wall -o menuselect.o -g -c -D_GNU_SOURCE menuselect.c
gcc -Wall -o menuselect_curses.o -g -c -D_GNU_SOURCE menuselect_curses.c
gcc -Wall -o strcompat.o -g -c -D_GNU_SOURCE strcompat.c
gcc -g -Wall -o menuselect menuselect.o menuselect_curses.o strcompat.o mxml/libmxml.a -lncurses
make[2]: Leaving directory `/usr/src/zaptel/menuselect'
make[1]: Leaving directory `/usr/src/zaptel/menuselect'
make: *** No rule to make target `linux26'. Stop.
gcc -g -c -DSTANDALONE_ZAPATA -DBUILDING_TONEZONE -DHOTPLUG_FIRMWARE -I. -O4 -g -Wall -DBUILDING_TONEZONE

-DSTANDALONE_ZAPATA -DZAPTEL_CONFIG=\"/etc/zaptel.conf\" -o zttool.o zttool.c
gcc zttool.o -lnewt -o zttool
make[1]: Entering directory `/usr/src/zaptel'
gcc gendigits.c -lm -o gendigits
./gendigits > tones.h
gcc -o makefw makefw.c
./makefw tormenta2.rbt tor2fw > tor2fw.h
Loaded 69900 bytes from file
./makefw pciradio.rbt radfw > radfw.h
Loaded 42096 bytes from file
make -C /lib/modules/2.6.18-8.el5/build SUBDIRS=/usr/src/zaptel modules
make[2]: Entering directory `/usr/src/kernels/2.6.18-8.el5-i686'

WARNING: Symbol version dump /usr/src/kernels/2.6.18-8.el5-i686/Module.symvers
is missing; modules will have no dependencies and modversions.

CC [M] /usr/src/zaptel/pciradio.o
CC [M] /usr/src/zaptel/tor2.o
CC [M] /usr/src/zaptel/torisa.o
CC [M] /usr/src/zaptel/wcfxo.o
CC [M] /usr/src/zaptel/wct1xxp.o
CC [M] /usr/src/zaptel/wctdm.o
CC [M] /usr/src/zaptel/wctdm24xxp.o
CC [M] /usr/src/zaptel/wcte11xp.o
CC [M] /usr/src/zaptel/wcusb.o
CC [M] /usr/src/zaptel/zaptel-base.o
/bin/sh: scripts/genksyms/genksyms: No such file or directory
make[3]: *** [/usr/src/zaptel/zaptel-base.o] Error 1
make[2]: *** [_module_/usr/src/zaptel] Error 2
make[2]: Leaving directory `/usr/src/kernels/2.6.18-8.el5-i686'
make[1]: *** [modules] Error 2
make[1]: Leaving directory `/usr/src/zaptel'
make: *** [all] Error 2

Loading zaptel framework: FATAL: Could not open '/lib/modules/2.6.18-8.el5/misc/zaptel.ko': No such file or directory
[FAILED]
Waiting for zap to come online...Error: missing /dev/zap!

SETTING FILE PERMISSIONS
Permissions OK

STARTING ASTERISK
Asterisk Started

STARTING FOP SERVER
FOP Server Started
Done.
#


Вообщем, на этом этапе у меня нет никаких идей что может быть не так... Sad


P.S. Код скрипта rebuild_zaptel:


#!/bin/sh

echo "-------------------------------------------"
echo "Rebuilding zaptel drivers"
echo "-------------------------------------------"

amportal stop
/etc/init.d/zaptel stop

echo "-------------------------------------------"
echo "Kernel setup"
echo "-------------------------------------------"

SOURCE_DIRECTORY=/usr/src
KERNEL_VERSION=`uname -r`
MODULES_DIRECTORY=/lib/modules/$KERNEL_VERSION/extra

if [ Psmp = P`uname -r|grep -o smp` ]
then
KERNEL_DIRECTORY=${KERNEL_VERSION%%smp}-smp-`uname -m`
KERNEL_CPU=smp
else
KERNEL_DIRECTORY=$KERNEL_VERSION-`uname -m`
KERNEL_CPU=one
fi

echo -e "Kernel version:\t\t$KERNEL_VERSION"
echo -e "Kernel directory:\t$KERNEL_DIRECTORY"
echo -e "Modules directory:\t$MODULES_DIRECTORY"


# check that the kernel libraries for the currently running kernel are present
# if not try and install or update them

echo ""
echo "-----------------------------------------------------"
echo "Seting up links to kernel sources"
echo "-----------------------------------------------------"
echo ""

### If the links exist, remove them in case they are pointing to another version of the kernel.

if [ -d /usr/src/linux/ ]
then
rm -f /usr/src/linux
fi
ln -s $SOURCE_DIRECTORY/kernels/$KERNEL_DIRECTORY /usr/src/linux
echo -e "Link linux:\t\t`ls -l linux`"

if [ -d /usr/src/linux-2.6/ ]
then
rm -f /usr/src/linux-2.6
fi
ln -s $SOURCE_DIRECTORY/kernels/$KERNEL_DIRECTORY /usr/src/linux-2.6
echo -e "Link linux-2.6:\t\t`ls -l linux-2.6`"

cd /usr/src/zaptel
make install-udev
make clean
make linux26
make zttool
make install

/etc/init.d/zaptel start
amportal start

echo "Done."
#2

Настоятельно рекомендую, в случае, если у вас в системе ядро от производителя дистрибутива, а не самосборное, устанавливать исходники ядра с репозитариев разработчика дистрибутива.
Если RedHat, то yum'ом, если Mandriva - urpmi.
Что-то в духе urpmi kernel-source.

Тогда в /usr/src поставятся все необходимые исходники ядра со всеми патчами от производителя дистрибутива, отконфигурированные именно так, как оно сейчас работает в вашей системе, и будут созданы все необходимые симлинки.
#3

yum install kernel-devel -y
#4

Большое всем спасибо! Правда просто yum install kernel-devel не прокатило, а вот когда закачал rpm package kernel-devel для своего ядра руками и выполнил rpm -ihv всё установилось Smile Ещё раз всем большре спасибо!
#5

yum уж тогда настройте...
Rolling Eyes