Instalar placas Intelbras PXE 445 e PSO 800 no CentOS 5.7

Este artigo tem o objetivo de demonstrar minha experiência e dificuldades em instalar uma placa PXE e PSO da Intelbras na distribuição CentOS.

[ Hits: 24.795 ]

Por: Ivan Paes José em 25/11/2011


Preparando a distribuição e instalando o DAHDI



Versão do pacotes utilizados:
  • Kernel 2.6.18-274.7.1.el5;
  • Asterisk: 1.6.2.20;
  • DAHDI: 2.1.0.4 (antigo, mas é a melhor opção para as placas);
  • Dahdi-tools: 2.2.0;
  • Openr2: 1.3.0;
  • Libpri: 1.4.12.

Passos

1. Atualize o sistema:

# yum update
# yum upgrade

2. Crie um link simbólico para os headers em "/usr/src/linux":

# ln -s /usr/src/ linux-headers-`uname -r` /usr/src/linux

Obs.: Caso o sistema reclame (ln: o destino `/usr/src/linux' não é uma pasta), realizar o seguinte:

# mkdir /usr/src/linux

E repita o passo 2.

3. Instale os pacotes necessários para o Asterisk e DAHDI:

# yum install bison openssl libssl-dev libasound2-dev libc6-dev libnewt-dev libncurses5-dev zlib1g-dev gcc make libusb-dev fxload automake libtermcap-devel kernel-devel.i686 gcc-c++ gnutls-devel openssl-devel ncurses-devel bison-devel libxml2-devel.i386

4. Baixe os pacotes 'dahdi-linux', 'dahdi-tools', 'libpri', 'openr2-1.3.0', 'linux-2.6.33.tar.gz', 'driver-pxe-dahdi.tar.gz' e Asterisk. Execute a linha abaixo no terminal para download dos arquivos:

# wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.6.2.20.tar.gz; wget http://downloads.asterisk.org/pub/telephony/dahdi-tools/releases/dahdi-tools-2.2.0.tar.gz; wget http://downloads.asterisk.org/pub/telephony/dahdi-linux/releases/dahdi-linux-2.1.0.4.tar.gz; wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4-current.tar.gz; wget http://openr2.googlecode.com/files/openr2-1.3.0.tar.gz; wget http://www.intelbras.com.br/ecenter/downloads/gerais/driver-pxe-dahdi.tar.gz; wget http://www.intelbras.com.br/ecenter/downloads/gerais/driver-pso800- dahdi.tar.gz; wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.33.tar.gz

5. Descompacte os pacotes. Sugiro que entre no diretório '/usr/src/', mas fica a seu critério:

# tar xzfv dahdi-linux-2.1.0.4.tar.gz; tar xzfv driver-pso800-dahdi.tar.gz; tar xzfv driver-pxe-dahdi.tar.gz; tar xzfv dahdi-tools-2.2.0.tar.gz; tar xzfv linux- 2.6.33.tar.gz; tar xzfv openr2-1.3.0.tar.gz; tar xzfv libpri-1.4-current.tar.gz; tar xzfv asterisk-1.6.2.20.tar.gz

6. Instalar o dahdi-linux (utilizando o OSLEC para cancelamento de eco):

# mv dahdi-linux-2.1.0.4 dahdi
# mkdir dahdi/drivers/staging
# cp -fR linux-2.6.33/drivers/staging/echo dahdi/drivers/staging
# sed -i "s|#obj-m += dahdi_echocan_oslec.o|obj-m += dahdi_echocan_oslec.o|" dahdi/drivers/dahdi/Kbuild
# sed -i "s|#obj-m += ../staging/echo/|obj-m += ../staging/echo/|" dahdi/drivers/dahdi/Kbuild
# echo 'obj-m += echo.o' > dahdi/drivers/staging/echo/Kbuild
# cp pxe.* dahdi/drivers/dahdi/
# mv pxe.* dahdi
# cd dahdi
# make clean
# make MODULES_EXTRA="pxe pso800"
# make install MODULES_EXTRA="pxe pso800"


7. Compile o dahdi-tools

Vá para o diretório /usr/src/dahdi-tools-2.2.0 e:

# ./configure
# make
# make install
# make config


# vi /etc/dahdi/modules

Escreva:

pxe
pso800

Salve e saia do editor.

Então carregue o módulo:

# depmod -a
# /etc/init.d/dahdi restart


Verifique se o driver foi carregado na memória:

# lsmod | grep pxe

Caso esteja carregado, como exemplo deve aparecer:
pxe 26912 60
dahdi 192804 123 pxe

Para não haver problema com o módulo 'tor2', sugiro que coloque as linhas abaixo no arquivo '/etc/modprobe.d/blacklist':

blacklist tor2
blacklist tor

    Próxima página

Páginas do artigo
   1. Preparando a distribuição e instalando o DAHDI
   2. Configurar os canais no DAHDI
   3. Instalando os pacotes libpri, openr2 e Asterisk
   4. Arquivos extensions.conf e sip.conf utilizados nessa atividade
Outros artigos deste autor

Instalação da placa PXE Intelbras

Leitura recomendada

InputClass no X server aplicada as configs do synaptics (touchpad)

Usando o seu módulo IRDA no Linux

ATI Catalyst Radeon Graphics no Sabayon Linux - Instalando e configurando drivers proprietários

Firmware dd-wrt em Linksys WRT54G

Instalando placa de captura de TV no Linux

  
Comentários
[1] Comentário enviado por ivan.joose em 25/11/2011 - 14:09h

ATUALIZANDO O ARTIGO.

Instalação no debian Lenny e Squeeze.

Debian Lenny.

Utilizar o dahdi 2.1.0.4 e no arquivo pso800.c modificar a linha 2600 conforme abaixo:

de:

if (request_irq(pdev->irq, pso800_interrupt, SA_SHIRQ, "pso800", wc)) {

para:

if (request_irq(pdev->irq, pso800_interrupt, DAHDI_IRQ_SHARED, "pso800", wc)) {

Após essas modificações a compilação correrá sem problemas.

Debian Squeeze.

Utilizar dahdi 2.3.0 e realizar alterações nos arquivos pxe.c e pso800.

Arquivo pxe.c

de:

Linha 1509: wc->tspans[x]->span.bpvcount += (cnt_tmp>>(8*x))&0xff;
Linha 1512: wc->tspans[x]->span.crc4count += (cnt_tmp>>(8*x))&0xff;
Linha 2152: rw_proc_file->owner = THIS_MODULE;

para:

Linha 1509: wc->tspans[x]->span.count.bpv += (cnt_tmp>>(8*x))&0xff;
Linha 1512: wc->tspans[x]->span.count.crc4 += (cnt_tmp>>(8*x))&0xff;
Linha 2152: comentar ou apagar essa linha.

OBS: Pode ser que as linhas modifiquem, então observe se a informação confere.

Arquivo pso800.c

de:

1 if (request_irq(pdev->irq, pso800_interrupt, SA_SHIRQ, "pso800", wc)) {
2 rw_proc_file->owner = THIS_MODULE;

para:

1 if (request_irq(pdev->irq, pso800_interrupt, DAHDI_IRQ_SHARED, "pso800", wc)) {
2 comentar ou apagar a linha.

Após essas modificações a compilação correrá sem problemas.

[2] Comentário enviado por brunosdf em 04/11/2012 - 13:49h

Olá,

Estou seguindo seu tutorial para tentar instalar as placas da Intelbras, mas infelizmente quando inicio o Asterisk aparecem as seguintes mensagens:
WARNING[1040] loader.c: Error loading module 'chan_dahdi.so': libpri.so.1.4: cannot open shared object file: No such file or directory
WARNING[1040] loader.c: Error loading module 'chan_dahdi.so': libpri.so.1.4: cannot open shared object file: No such file or directory
WARNING[1040] loader.c: Module 'chan_dahdi.so' could not be loaded.

Você sabe o que pode ser isso?
Estou utilizando as mesmas versões que você utilizou no tutorial, também instalei o Centos 5.7 x86_64.
Tudo compilou normalmente, sem nenhuma mensagem de erro. Segui o tutorial na ordem.

Obrigado!

[3] Comentário enviado por ivan.joose em 04/11/2012 - 22:39h

Olá Bruno,


Tente os passos abaixo:

Execute o comando:

# ldd /usr/lib/asterisk/modules/chan_dahdi.so
linux-gate.so.1 => (0xb78d6000)
libtonezone.so.2.0 => /usr/lib/libtonezone.so.2.0 (0xb782b000)
libpri.so.1.4 => /usr/lib/libpri.so.1.4 (0xb77bd000) - Verifique se aparece desta forma ou como not found.
libopenr2.so.3 => /usr/lib/libopenr2.so.3 (0xb77a4000)
libpthread.so.0 => /lib/i686/cmov/libpthread.so.0 (0xb778b000)
libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb7644000)
libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb761e000)
/lib/ld-linux.so.2 (0xb78d7000)

Caso apareça not found, verifique se a libpri.so.1.4 está no diretório /usr/lib:

# ls -ltrh /usr/lib/libpri.so*
-rwxr-xr-x 1 root root 1,6M Fev 17 2012 libpri.so.1.4
lrwxrwxrwx 1 root root 13 Fev 17 2012 libpri.so -> libpri.so.1.4

Caso não tenha a libpri no diretório, coloque no diretório ou recompile o pacote libpri.

Essa a minha dica.

abraço!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts