Чтение онлайн

ЖАНРЫ

Asterisk™: будущее телефонии Второе издание
Шрифт:

Для плат TDM400P необходима PCI-шина версии 2.2. При попытке загрузить драйверы телефонии Zapata с более старой версией могут возникать следующие ошибки:

• При попытке загрузить драйвер wctdm может появиться такое сообщение об ошибке:

FATAL: Module wctdm not found

(ФАТАЛЬНАЯ ОШИБКА: Модуль wctdm не найден)

• При попытке загрузить драйвер wctdm или wcfxo может появиться такое сообщение об ошибке:

ZT_CHANCONFIG failed on channel 1: No such device or address (6) FATAL: Module wctdm not found

(Не удалось выполнить ZT_CHANCONFIG для канала 1: Такое

устройство или адрес не обнаружены (6) ФАТАЛЬНАЯ ОШИБКА: Модуль wctdm не найден) Единственный способ исправить эти ошибки - использовать более новую системную плату, которая поддерживает PCI версии 2.2:

• Также эти ошибки могут возникнуть, если блок питания не подключен в разъем Molex на плате TDM400P.

Неразрешимая символическая ссылка при загрузке ztdummy

Драйвер 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. Если исходные файлы используемого ядра Linux не установлены, необходимо скачать их в Интернете c сайтаhttp://kernel.org, установить и создать символическую ссылку на /usr/src/linux-2.4. Ниже представлен пример ошибки depmod: depmod: *** Unresolved symbols in /lib/modules/2.4.22/kernel/drivers/block/ loop.o

(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-устройства), самое время загрузить оба драйвера.

Поделиться с друзьями: