Asterisk™: будущее телефонии Второе издание
Шрифт:
(Не удалось выполнить ZT_CHANCONFIG для канала 1: Такое устройство или адрес не обнаружены (6) ФАТАЛЬНАЯ ОШИБКА: Модуль wctdm не найден) Единственный способ исправить эти ошибки - использовать более новую системную плату, которая поддерживает PCI версии 2.2:
• Также эти ошибки могут возникнуть, если блок питания не подключен в разъем Molex на плате TDM400P.
Неразрешимая
Драйвер ztdummy требует наличия доступного контроллера UHCI USB в ядрах Linux 2.4 (USB-котроллер не является обязательным требованием для ядер Linux 2.6, потому что они способны генерировать опорный синхросигнал частотой 1 кГц). Существуют контроллеры вторичного типа, известные как OHCI-контроллеры [51] , которые несовместимы с драйвером ztdummy. Если контроллер UHCI USB недоступен в ядрах Linux 2.4, возникнет следующая ошибка:
/lib/modules/2.4.22/misc/ztdummy.o: /lib/modules/2.4.22/misc/ztdummy.o: unresolved symbol unlink_td
51
Open Host Controller Interface - открытый интерфейс хост-контроллера.
– Примеч. науч. ред.
/lib/modules/2.4.22/misc/ztdummy.o: /lib/modules/2.4.22/misc/ztdummy.o: unresolved symbol alloc_td
/lib/modules/2.4.22/misc/ztdummy.o: /lib/modules/2.4.22/misc/ztdummy.o: unresolved symbol delete_desc
/lib/modules/2.4.22/misc/ztdummy.o: /lib/modules/2.4.22/mlsc/ztdummy.o: unresolved symbol uhci_devices
/lib/modules/2.4.22/misc/ztdummy.o: /lib/modules/2.4.22/misc/ztdummy.o: unresolved symbol uhci_interrupt
/lib/modules/2.4.22/misc/ztdummy.o: /lib/modules/2.4.22/misc/ztdummy.o: unresolved symbol fill_td
/lib/modules/2.4.22/misc/ztdummy.o: /lib/modules/2.4.22/misc/ztdummy.o: unresolved symbol insert_td_horizontal
/lib/modules/2.4.22/misc/ztdummy.o: insmod /lib/modules/2.4.22/misc/ ztdummy.o failed
/lib/modules/2.4.22/misc/ztdummy.o: insmod ztdummy failed Убедиться в наличии соответствующего USB-контроллера и связанных с ним драйверов можно с помощью команды lsmod:
# lsmod
Module Size Used by
usb_uhci 26412 0
usbcore 79040 1 [hid usb-uhci]
Как можно увидеть в приведенном выше примере, мы проверяем, загружены ли модули usbcore и usb_uhci. Если эти модули не загружены, необходимо убедиться, что USB в BIOS активирован и что эти модули есть в наличии.
Если драйверы USB не загружены, все равно с помощью команды dmesg есть возможность проверить тип имеющегося USB-контроллера:
# dmesg | grep -i usb
Наличие контроллера UHCI USB подтвердят следующие строки:
uhci_hcd 0000:00:04.2: new USB bus registered, assigned bus number 1 hub 1-0:1.0: USB hub found
uhci_hcd 0000:00:04.3: new USB bus registered, assigned bus number 2 hub 2-0:1.0: USB hub found
(uhci hcd 0000:00:04.2: зарегистрирована новая USB-шина, присвоенный номер шины - 1 hub 1-0: обнаружен концентратор USB
uhci hcd 0000:00:04.3: зарегистрирована новая USB-шина, присвоенный номер шины - 2 hub 2-0:1.0: обнаружен концентратор USB)
Ошибки depmod во время компиляции
Если во время компиляции возникают ошибки depmod, вероятнее всего, отсутствует символическая ссылка на исходные файлы ядра Linux.
(depmod: *** Неразрешимые символы в /lib/modules/2.4.22/kernel/ drivers/block/loop.o)
Быстрая загрузка Asterisk и Zaptel
Если команда make config выполняется в папках исходного кода Asterisk или Zaptel, сценарии запуска, используемые для управления Asterisk или Zaptel, будут скопированы в папку /etc/rc.d/init.d/. Используя сценарии, можно упростить загрузку Asterisk и Zaptel. Эти сценарии также выполнят команду chkconfig, что обеспечит автоматический запуск Asterisk и Zaptel при загрузке системы. Ниже представлен пример их использования:
# service zaptel start
# service asterisk start
Каждый сценарий запуска имеет несколько опций, с помощью которых можно управлять офисной АТС или драйверами. В табл. 3.2 и 3.3 приведены команды, выполняемые сценарием (но их можно было бы вводить самостоятельно в интерфейсе командной строки (Command- Line Interface, CLI)).
Таблица 3.2. Опции сценария запуска Asterisk
service asterisk <опция> | Эквивалент для ввода вручную |
start | asterisk |
stop | killproc asterisk |
restart | stop; start |
reload | asterisk -rx "reload" |
status | ps aux | grep [a]sterisk |
Таблица 3.3. Опции сценария запуска Zaptel
service zaptel <опция> | Эквивалент для ввода вручную |
start | modprobe zaptel; modprobe <модуль>; /sbin/ztcfg |
stop | rmmod ztdummy; rmmod zaptel |
restart | stop; start |
reload | /sbin/ztcfg |
Загрузка модулей Zaptel без использования сценариев
В данном разделе будет кратко рассмотрена загрузка модулей zaptel и ztdummy без сценария запуска CentOS. Если модуль zaptel будет использоваться только для модуля ztdummy, он не требует никакой конфигурации. Если планируется загружать модуль ztdummy в качестве источника временных интервалов (и таким образом, в системе не будут использоваться никакие PCI-устройства), самое время загрузить оба драйвера.