All,

I'm trying to set up Asterisk with an AVM C4 ISDN card, I've got stuck very early on -- I'm usually pretty good at this stuff but why is the documentation for Asterisk/CAPI/ISDN/Fedora so bad (almost non-existent)?

I have the following:

- Hardware: P3 3.2GHz, 1Gb PC3200 RAM, Intel S865WP1E mobo, Digium TDM400P and AVM C4 Controller

- Software Fedora Core 3 (all yum updates including to doday), Asterisk 1.0.7, Zaptel 1.0.7, Chan_capi 0.3.5


I have made Zaptel and Asterisk-1.0.7 - asterisk is okay - it works with my Cisco 7960 phones internally and in my VOIP wide area number plan to friends, etc.

I have done nothing with the TDM400P yet other than test I can load zaptel and the card driver -- which I can.

I have the C4 controller installed and I want to get CAPI up and working.

I have a /etc/capi.conf with the following in it:

card     file   proto io    irq mem  cardnr options
b1isa     b1.t4  DSS1  0x150 7   -    -      P2P
b1pci     b1.t4  DSS1  -     -   -    -
c4        c4.bin DSS1  -     -   -    -
c4        -      DSS1  -     -   -    -
c4        -      DSS1  -     -   -    -      P2P
c4        -      DSS1  -     -   -    -      P2P
t1isa     t1.t4  DSS1  0x340 9   -    0
t1pci     t1.t4  DSS1  -     -   -    -
fcpci     -      -     -     -   -    -
fcclassic -      -     0x300 5   -    -


I have the C4's firmware in /usr/lib/isdn.  If I do:

   modprobe c4
   modprobe capi

I get the following in /var/log/messages:

   May 29 22:11:29 pabx kernel: capifs: Rev 1.1.2.3
May 29 22:11:29 pabx kernel: capi20: Rev 1.1.2.7: started up with major 68 (middleware+capifs)
   May 29 22:12:04 pabx kernel: capi: Rev 1.1.2.7: unloaded
   May 29 22:12:14 pabx kernel: CAPI Subsystem Rev 1.1.2.8
   May 29 22:12:14 pabx kernel: b1: revision 1.1.2.2
May 29 22:12:14 pabx kernel: ACPI: PCI interrupt 0000:03:01.0[A] -> GSI 22 (level, low) -> IRQ 177 May 29 22:12:14 pabx kernel: c4: PCI BIOS reports AVM-C4 at i/o 0xbc00, irq 177, mem 0xfeafec00
   May 29 22:12:14 pabx kernel: kcapi: Controller 1: c4-bc00 attached
   May 29 22:12:14 pabx kernel: kcapi: Controller 2: c4-bc00 attached
   May 29 22:12:14 pabx kernel: kcapi: Controller 3: c4-bc00 attached
   May 29 22:12:14 pabx kernel: kcapi: Controller 4: c4-bc00 attached
May 29 22:12:14 pabx kernel: c4: AVM C4 at i/o 0xbc00, irq 177, mem 0xfeafec00
   May 29 22:12:14 pabx kernel: c4: revision 1.1.2.2
May 29 22:12:25 pabx kernel: capi20: Rev 1.1.2.7: started up with major 68 (middleware+capifs)


I've made the chan_capi code, okay I know about the file-descriptor patch for BSD and Linux kernel >= 2.6.11 and have applied it, ie. this:

     p = malloc(sizeof(struct capi_pipe));
     memset(p, 0, sizeof(struct capi_pipe));
     p->fd = fds[1];
-     c->fds[0] = fds[1];
+     c->fds[0] = fds[0];
     p->PLCI = -1;
     p->i = i;
     p->c = c;


I have the default /etc/asterisk/capi.conf which should let the chan_capi.so shared library load even though it will be the wrong config for my site.

My /etc/asterisk/modules.conf looks like this:

   ;
   ; Asterisk configuration file
   ;
   ; Module Loader configuration file
   ;

   [modules]
   autoload=yes
   ;
   ; If you want, load the GTK console right away.
   ; Don't load the KDE console since
   ; it's not as sophisticated right now.
   ;
   noload => pbx_gtkconsole.so
   ;load => pbx_gtkconsole.so
   noload => pbx_kdeconsole.so
   ;
   ; Intercom application is obsoleted by
   ; chan_oss.  Don't load it.
   ;
   noload => app_intercom.so
   ;
   ; Explicitly load the chan_modem.so early on to be sure
   ; it loads before any of the chan_modem_* 's afte rit
   ;
   load => chan_modem.so
   load => res_musiconhold.so
   ;
   ; Load either OSS or ALSA, not both
   ; By default, load OSS only (automatically) and do not load ALSA
   ;
   noload => chan_alsa.so
   ;noload => chan_oss.so

   ;
   ; CAPI
   ;
   load => res_features.so
   load => chan_capi.so

   ;
   ; Module names listed in "global" section will have symbols globally
   ; exported to modules loaded after them.
   ;
   [global]
   chan_modem.so=yes
   chan_capi.so=yes



When I start asterisk:

  asterisk -vvvgc

I get this:

[chan_capi.so] => (Common ISDN API for Asterisk)
 == Parsing '/etc/asterisk/capi.conf': Found
May 29 23:04:32 NOTICE[23261]: chan_capi.c:2636 load_module: CAPI not installed! May 29 23:04:32 WARNING[23261]: loader.c:345 ast_load_resource: chan_capi.so: load_module failed, returning -1 May 29 23:04:32 WARNING[23261]: chan_capi.c:2812 unload_module: Unable to unregister from CAPI!
 == Unregistered channel type 'CAPI'
May 29 23:04:32 WARNING[23261]: loader.c:391 load_modules: Loading module chan_capi.so failed!
[EMAIL PROTECTED] asterisk]# Warning, flexibel rate not heavily tested!
Ouch ... error while writing audio data: : Broken pipe


What am I missing or doing wrong? Do I need to use /sbin/capiinit -- it is not clear? If I try then I always get:

   [EMAIL PROTECTED] asterisk]# capiinit
   ERROR: cannot load module kernelcapi
   [EMAIL PROTECTED] asterisk]#

whether I have the modules already loaded or not...


I've even done the research on CAPI and FC3 with the device naming under udev and used the "fix it" script provided here:

   http://www.friendglow.net/en/faq/faq_kernel26_udev_en.shtml

to no avail (but I did have to change the ownership of the devices from "root.dialout" to "root.tty" because my FC3 has no group called "dialout" -- so I picked something approximate/close as a guess...


Can anyone give me some advice on what to do next to get it all going?


Regards


Mike


_______________________________________________
Asterisk-Users mailing list
[email protected]
http://lists.digium.com/mailman/listinfo/asterisk-users
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to