[asterisk-bugs] [DAHDI-linux 0017018]: Motherboards with Intel ICH7 Family and ICH5 Family dont know when pstn is ring...

Asterisk Bug Tracker noreply at bugs.digium.com
Thu Mar 18 00:37:50 CDT 2010


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=17018 
====================================================================== 
Reported By:                skyzer
Assigned To:                
====================================================================== 
Project:                    DAHDI-linux
Issue ID:                   17018
Category:                   wcfxo
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     acknowledged
JIRA:                        
Reviewboard Link:            
====================================================================== 
Date Submitted:             2010-03-13 00:09 CST
Last Modified:              2010-03-18 00:37 CDT
====================================================================== 
Summary:                    Motherboards with Intel ICH7 Family and ICH5 Family
dont know when pstn is ring...
Description: 
Excuse me if this topic has been addressed. But I have had constant
problems since the driver was merged into zaptel to dahdi involving X100P
cards and motherboards with intel chipsets.

What happens is that in any way chan_dahdi don't receives any signals that
the line is ringing.

In the same way that it is not possible to make a call to the pstn line.

This is happening only with motherboards with Intel chipset of the
families described. Mothermoards withs Sis, Nvidia, Via chipsets dont show
this particular probleman... if a put the same hard disk, and the same
board in another machine, with sis, nvidia, via chipset's, this works
perfect.... its happen ONLY with intel boards...

(PS: i use slackware 13.0)

Do i make some debugging in wcfxo driver and not found anywhere in the
driver becomes aware that the line is ringing.

Could someone help me? I do not believe I'm doing something wrong, because
the same device works perfectly with the asterisk 1.4.x Zaptel driver.
====================================================================== 

---------------------------------------------------------------------- 
 (0119532) skyzer (reporter) - 2010-03-18 00:37
 https://issues.asterisk.org/view.php?id=17018#c119532 
---------------------------------------------------------------------- 
Ok, I'll explain.

First, i have the same board, working in another systems.
the vast majority of motherboards have a Sis, Via or nvidia.
The probleman aways happen in some Intel machines.

I attached one file (lspci_verbose_nvidia.txt) from on old machine (AMD
Athlon XP 2200+). on this machine, everything works fine.

look, when i call to my pstn number, asterisk give-me this message (this
is in the system who works fine):

[Mar 18 00:47:20]     -- Starting simple switch on 'DAHDI/1-1'
[Mar 18 00:47:21]     -- Executing [s at from-pstn:1] Wait("DAHDI/1-1", "1")
in new stack

So, i put some debug messages on chan_dahdi.c, on the ss_thread function.
On the good machine, the debug message is showed..
On the the machine who use intel chipset, the message is not showed..

i not know if I'm right, but if ring tone is detected, the processing will
pass through this function. Right?

So, after this, i decide to test wcfxo.c driver and has put some messagens
on wcxfs.c from dahdi driver.

I put one debug message on this part of code..

-------------------------------------------------
static int wcfxo_hooksig(struct dahdi_chan *chan, enum dahdi_txsig txsig)
{
        struct wcfxo *wc = chan->pvt;
        int reg=0;

        printk(KERN_INFO "FXO: HOOK event detected on wcfxo_hooksig\n");

---------------------------------------------------------------------------
note that the debug message is just the beginning of the function. so, in
the some system, they should be showed right?

So, when (on the system who works) recive a ring tone, this message has
showed on the syslog and chan_dahdi.c of asterisk knows about a new call is
coming and show the debug message...

Sorry, I have over 15 years as a C programmer and I'm degree in computer
engineering. However, never worked with drivers for Linux kernel.
The question is, what is the first function who is called when a public
pstn call incoming on dahdi driver? in case of wcfxo.c

When i do the same test on the system who  does not work, this message is
not showed..
Nothing happen!!! 

I put some debug messages on the registration funcion, and the board is
correctly registred on the system..

this is the output of /proc/interruptions from the system with intel
board.
-------------------------------------------------------
root at asterisk:~# cat /proc/interrupts
           CPU0
  0:        314   IO-APIC-edge      timer
  1:          8   IO-APIC-edge      i8042
  4:          2   IO-APIC-edge
  8:          1   IO-APIC-edge      rtc0
  9:          0   IO-APIC-fasteoi   acpi
 14:      16070   IO-APIC-edge      ide0
 15:          0   IO-APIC-edge      ide1
 16:        146   IO-APIC-fasteoi   HDA Intel
 19:          0   IO-APIC-fasteoi   ata_piix
 23:         29   IO-APIC-fasteoi   wcfxo
 26:      51307   PCI-MSI-edge      eth0
NMI:          0   Non-maskable interrupts
LOC:     471435   Local timer interrupts
RES:          0   Rescheduling interrupts
CAL:          0   Function call interrupts
TLB:          0   TLB shootdowns
TRM:          0   Thermal event interrupts
SPU:          0   Spurious interrupts
------------------------------------------------------------------
I attached a file called lspci_verbose_intel.txt with lspci from intel
system.



A timely question that maybe I can help investigate this problem.

In that role really wcfxo driver learns that there is an event occurring
with the line?

ok, the second question, Yes, when i call to my pstn, the standard analog
phone rings... but asterisk dont take knowledge about this...


one more thing that occurred to me after looking carefully dmesg system
intel
This message is displayed during the boot process and believe it has to do
with the reason not to function


dahdi: Telephony Interface Registered on major 196
dahdi: Version: 2.2.0.2
wcfxo 0000:03:02.0: PCI INT A -> GSI 23 (level, low) -> IRQ 23
FXO PCI Master abort
wcfxo: DAA mode is 'FCC'
Found a Wildcard FXO: Wildcard X100P
dahdi_echocan_mg2: Registered echo canceler 'MG2'
dahdi_transcode: Loaded.


look.. we say: FXO PCI Master abort

what is the condiction who makes ints variable asume 0x10 value?

this is the part of code

        if (ints & 0x10) {
                printk(KERN_INFO "FXO PCI Master abort\n");
                /* Stop DMA andlet the watchdog start it again */
                wcfxo_stop_dma(wc);
                return IRQ_RETVAL(1);
        }

even with this message, the card appears as configured

root at asterisk:~# dahdi_cfg -vvv
DAHDI Tools Version - 2.2.0

DAHDI Version: 2.2.0.2
Echo Canceller(s): MG2
Configuration
======================


Channel map:

Channel 01: FXS Kewlstart (Default) (Echo Canceler: mg2) (Slaves: 01)

1 channels to configure.

Setting echocan for channel 1 to mg2


root at asterisk:~# dahdi_hardware
pci:0000:03:02.0     wcfxo+       1057:5608 Wildcard X100P

Ok. is all information I have now ... 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2010-03-18 00:37 skyzer         Note Added: 0119532                          
======================================================================




More information about the asterisk-bugs mailing list