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: 23.262 ]

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

Instalação do Linux em dual boot com Windows 10 em notebook Samsung

DSLink 180 em GNU/Linux

Conexão wireless ad-hoc no Ubuntu - relato de experiência

Placa Intel PRO/Wireless 3945ABG no Debian Linux

Tim-Web - Insigne Momentum 5.0

  
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