[Pkg-voip-commits] [dahdi-tools] 48/285: dahdi_genconf: Use 'dahdi_scan' to determine span_type for B410P cards.

tzafrir at debian.org tzafrir at debian.org
Thu Jul 7 19:18:27 UTC 2016


This is an automated email from the git hooks/post-receive script.

tzafrir pushed a commit to branch master
in repository dahdi-tools.

commit 250bc06238de9fb1bd0089e0852e6577ceedc31d
Author: Shaun Ruffell <sruffell at digium.com>
Date:   Thu Sep 29 17:00:51 2011 +0000

    dahdi_genconf: Use 'dahdi_scan' to determine span_type for B410P cards.
    
    The wcb4xxp driver does not put enough information in the proc filesystem to
    determine if the ports are in TE or NT mode.  Previously the ports would
    always just setup the dahdi-channels.conf file in TE mode. After this change
    the dahdi_scan utility is used to detect if the ports are in TE or NT mode and
    setup dahdi-channels.conf appropriately.
    
    Internal-Issue-ID: DAHTOOL-54
    Signed-off-by: Shaun Ruffell <sruffell at digium.com>
    
    git-svn-id: http://svn.astersk.org/svn/dahdi/tools/trunk@10214 17933a7a-c749-41c5-a318-cba88f637d49
---
 xpp/perl_modules/Dahdi/Span.pm | 31 +++++++++++++++++++++++++++++--
 1 file changed, 29 insertions(+), 2 deletions(-)

diff --git a/xpp/perl_modules/Dahdi/Span.pm b/xpp/perl_modules/Dahdi/Span.pm
index beea6af..aeebfc1 100644
--- a/xpp/perl_modules/Dahdi/Span.pm
+++ b/xpp/perl_modules/Dahdi/Span.pm
@@ -131,7 +131,7 @@ my @bri_strings = (
 		'(?:quad|octo)BRI PCI ISDN Card.* \[(NT|TE)\]',
 		'octoBRI \[(NT|TE)\] ',
 		'HFC-S PCI A ISDN.* \[(NT|TE)\] ',
-		'(B4XXP) \(PCI\) Card', # Does not expose NT/TE type
+		'(B4XXP) \(PCI\) Card', # Use dahdi_scan to determine TE/NT mode
 		'(WCBRI)', # has selectable NT/TE modes via dahdi_cfg
 		);
 
@@ -177,6 +177,28 @@ sub init_proto($$) {
 	$self->{TYPE} = "${proto}_$self->{TERMTYPE}";
 }
 
+sub get_digital_spantype {
+	my $span_no = shift;
+	my @lines = split /\n/, `dahdi_scan`;
+	my $found_span = 0;
+	foreach my $line (@lines) {
+		if (! $found_span) {
+			if ($line =~ m/\[$span_no\]/) {
+				$found_span = 1;
+			}
+		} else {
+			if ($line !~ m/^\[/) {
+				if ($line =~ m/digital-(TE|NT)/ ){
+					return $1;
+				}
+			} else {
+				$found_span = 0;
+			}
+		}
+	}
+	die "Cannot determine digital spantype";
+}
+
 sub new($$) {
 	my $pack = shift or die "Wasn't called as a class method\n";
 	my $proc_file = shift or die "Missing a proc file parameter\n";
@@ -195,7 +217,12 @@ sub new($$) {
 	foreach my $cardtype (@bri_strings) {
 		if($head =~ m/$cardtype/) {
 			my $termtype = $1;
-			$termtype = 'TE' if ( $1 eq 'B4XXP' or $1 eq 'WCBRI' );
+			if ($1 eq 'B4XXP') {
+				$termtype = get_digital_spantype($num);
+			}
+			if ($1 eq 'WCBRI') {
+				$termtype = 'TE';
+			}
 			$self->{IS_DIGITAL} = 1;
 			$self->{IS_BRI} = 1;
 			$self->{TERMTYPE} = $termtype;

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-voip/dahdi-tools.git



More information about the Pkg-voip-commits mailing list