Digium b410p with i4b

Hans Petter Selasky hselasky at c2i.net
Wed Jun 6 07:16:57 UTC 2007


On Tuesday 05 June 2007 22:43, Mikael Batard wrote:
> Hi,
>
> i'm trying to get the Digium b410p card (quadbri) working with i4b (svn
> trunk revision 510) on FreeBSD 6.2.
>
> I've added the vendor hardware code to the
> i4b/trunk/i4b/src/sys/i4b/layer1/ihfc2/i4b_hfc4s8s.h file :
> I4B_PCI_DRIVER(/* HFC-4S B410P */
>                 .vid = 0xb410d161,
>                 .sub = 0xb410d161);

Thanks for the ID, I've added it to the SVN repo. Maybe you want to do a "svn 
revert trunk/i4b/src/sys/i4b/layer1/ihfc2/i4b_hfc4s8s.h" then "svn update".

This entry should be under "double_clock" = 0.

>
> The card is detected with pciconf :
> $ pciconf -vl
> ihfc0 at pci6:1:0: class=0x020400 card=0xb410d161 chip=0xb410d161 rev=0x01
> hdr=0x00
>      class    = network
>      subclass = ISDN
>
> and isdnconfig :
> $ isdnconfig
> controller 8 = {
>    Layer 1:
>      description : HFC-4S PCI ISDN adapter
>      type        : passive ISDN (Basic Rate, 2xB)
>      channels    : 0x3
>      serial      : 0xabd5
>      power_save  : on
>      dialtone    : enabled
>      attached    : yes
>      PH-state    : F3: Deactivated
>    Layer 2:
>      driver_type : DRVR_DSS1_TE
> }
>
> If I insert the isdn cable in the card the PH-state change to this:
>      PH-state    : F7: Activated
>
> But if I call my isdn number (which is sent through the cable to the
> card), it doesn't work, i get no tone on my phone (which is external
> from this isdn network).
>
> I've tried to do some tests with capitest and isdndecode, and I've got
> lots of lines like this one :

First you must ensure that you have set the correct protocol 
using "isdnconfig". For example:

isdnconfig -u 8 -p DRVR_DSS1_TE

Then according to "man isdnconfig" it is also required to set "pcm_master" 
mode before the card will operate. That is printed out in the "dmesg". This 
is to avoid problems when you connect your HFC-4S to another clock source.

From "man isdnconfig":

           isdnconfig -m 0 pcm_64 \
                      -m 1 pcm_64 \
                      -u 8 pcm_64 pcm_map 0 1 end pcm_master te_mode \
                                    -p DRVR_DSS1_TE \
                      -u 9 pcm_64 pcm_map 0 1 end pcm_master nt_mode \
                           power_on -p DRVR_DSS1_NT

>
> Asterisk 1.2.17, zaptel 1.4.1, libpri 1.4.0 and libpri-bristuff 1.2.3
> are installed.
> There are 2 other cards installed : 1 Digium TDM400p (with 2 FXO ports)
> and 1 Passive ISDN BRI card (which works perfectly except for echo
> cancellation).

You need to use "chan_capi" from the SVN repo, and not "zaptel", to get the 
ISDN cards detected under Asterisk. Also I4B has a new Fast Fourier Transform 
Based Acoustic Echo Canceller. Did you try that?

Look at the "chan_capi/extensions.conf" and "chan_capi/capi.conf" example 
files.

--HPS


More information about the freebsd-isdn mailing list