Литмир - Электронная Библиотека
Содержание  
A
A

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

Системы, выполняющие udevd

В эпоху юности Linux системная папка /dev/ заполнялась списком устройств, с которыми система потенциально могла взаимодействовать. В то время в этом списке было примерно 18 000 устройств. Все изменилось с появлением devfs, обеспечившего динамическое создание файлов устройств, которые активно используются системой. Некоторые последние выпущенные дистрибутивы включают программу-демон udev для динамического заполнения папки /dev/ списками устройств. Чтобы Zaptel и другие драйверы устройств могли работать с PCI-уст- ройствами, установленными в системе, необходимо определить несколько правил. В своем любимом текстовом редакторе откройте файл правил udevd. В CentOS, например, этот файл находится по адресу /etc/udev/rules.d/50-udev.rules. В конце файла правил необходимо добавить следующие строки:

# Раздел для zaptel device

KERNEL="zapctl", NAME="zap/ctl"

KERNEL="zaptimer", NAME="zap/timer"

KERNEL="zapchannel", NAME="zap/channel"

KERNEL="zappseudo", NAME="zap/pseudo"

KERNEL="zap[0-9]*", NAME="zap/%n"

Asterisk™: будущее телефонии Второе издание - img_25.png

Сохраните файл и перезагрузите систему, чтобы настройки вступили в действие.

Возможно, вам не придется ничего редактировать в своей системе, потому что сценарий установки Zaptel попытается определить все правила сам; однако мы приводим эти рекомендации здесь для тех систем, которые конфигурируются не автоматически.

Загрузка Zaptel

Модуль zaptel должен быть загружен до того, как будут загружены и использованы все остальные модули. Следует отметить, что, если модуль zaptel будет использоваться с PCI-устройствами, перед его загрузкой необходимо выполнить конфигурирование в файле /etc/zaptel. conf. (Конфигурация zaptel.conf для использования с аппаратными средствами обсуждается в главе 4.) Если zaptel предназначен только для доступа к ztdummy, его можно загрузить с помощью команды modprobe следующим образом:

# modprobe zaptel

Если все проходит нормально, на экран ничего не выводится. Проверить успешность загрузки модуля zaptel можно с помощью команды lsmod. В результате ее выполнения должна быть возвращена строка с именем модуля и указанием занимаемого им объема оперативной памяти, например:

# lsmod | grep zaptel

zaptel 201988 0

Загрузка ztdummy

Модуль ztdummy - это интерфейс устройства, обеспечивающий генерирование временных интервалов. Благодаря ему Asterisk, в свою очередь, может предоставлять временные интервалы различным приложениям и функциям, которым это необходимо. Модуль ztdummy загружается после загрузки zaptel с помощью команды modprobe:

# modprobe ztdummy

Если загрузка ztdummy проходит успешно, на экран ничего не выводится. Проверить, что ztdummy загружен и используется модулем zaptel, можно с помощью команды lsmod. Следующий вывод получен на компьютере, выполняющем ядро 2.6:

# lsmod | grep ztdummy

Module Size Used by

ztdummy 3796 0

zaptel 201988 1 ztdummy

На компьютере, на котором выполняется ядро 2.4, в выводе, полученном в результате выполнения lsmod, будет показано, что ztdummy использует модуль usb-uhci:

# lsmod | grep ztdummy

Module Size Used by

ztdummy 3796 0

zaptel 201988 0 ztdummy

usb-uhci 24524 0 ztdummy

Загрузка libpri без использования сценария

Библиотеки libpri не требуется загружать, как модули. Asterisk ищет libpri во время компиляции и, если находит их, конфигурируется на использование библиотек самостоятельно.

Запуск Asterisk без использования сценариев

Asterisk может быть загружена по-разному. Самый простой способ - выполнение двоичного файла прямо из интерфейса командной строки

Linux. Точно так же Asterisk можно запускать и перезапускать и в системе, использующей сценарии init.d. Однако предпочтительнее запускать Asterisk с помощью сценария safe_asterisk.

22
{"b":"282856","o":1}