summaryrefslogtreecommitdiff
path: root/kernel/xpp/utils/xpp_sync
diff options
context:
space:
mode:
authortzafrir <tzafrir@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2009-03-19 20:08:29 +0000
committertzafrir <tzafrir@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2009-03-19 20:08:29 +0000
commitd8562c778088ff6ab3383df5ceead41eff4bf124 (patch)
tree43e394ae225fd7183018c2ae08d3fb1e5bcb12cb /kernel/xpp/utils/xpp_sync
parentb6b3226735f5e3b3fb000fa92daa7a574265c817 (diff)
xpp: a massive backport from DAHDI. From Xorcom branch-rel-6839-r6908 .
Sun Mar 1 2009 Oron Peled <oron@actcom.co.il> - xpp.r6795 * Fix cases where the command_queue overflowed during initialization. - Also add a 'command_queue_length' parameter to xpp.ko * More migrations to sysfs: - Add a 'transport' attribute to our astribank devices which points to the usb device we use. E.g: /sys/bus/astribanks/devices/xbus-00/transport is symlinked to ../../../../../../devices/pci0000:00/0000:00:10.4/usb5/5-4 - Move /proc/xpp/XBUS-??/XPD-??/span to /sys/bus/xpds/devices/??:?:?/span - Migrate from /proc/xpp/sync to: /sys/bus/astribanks/drivers/xppdrv/sync - New 'offhook' attribute in: /sys/bus/xpds/devices/??:?:?/offhook * PRI: change the "timing" priority to match the convention used by other PRI cards -- I.e: lower numbers (not 0) have higher priority. * FXO: - Power denial: create two module parameters instead of hard-coded constants (power_denial_safezone, power_denial_minlen). For sites that get non-standard power-denial signals from central office on offhook. - Don't hangup on power-denial, just notify Dahdi and wait for - Fix caller-id detection for the case central office sends it before first ring without any indication before. Asterisk's desicion. Mon, Dec 8 2008 Oron Peled <oron@actcom.co.il> - xpp.r6430 * PRI: - Match our span clocking priorities (in system.conf) to Digium -- this is a reversal of the previous state. Now lower numbers (greater than 0) are better. - Synchronization fixes for PRI ports other than 0. - Fix T1 CRC for some countries (e.g: China). * FXS: fix bug in VMWI detection if using old asterisk which does not provide ZT_VMWI ioctl(). * FXO: - Improve caller_id_style module parameter. This provide a workaround for countries that send this information without any notification (reverse polarity, ring, etc.) - Don't force on-hook upon power-denial. So, loopstart devices would ignore these as expected. * Implement a flow-control to prevent user space (init_card_* scripts) from pressuring our command queue. git-svn-id: http://svn.digium.com/svn/zaptel/branches/1.4@4631 5390a7c7-147a-4af0-8ec9-7488f05a26cb
Diffstat (limited to 'kernel/xpp/utils/xpp_sync')
-rwxr-xr-xkernel/xpp/utils/xpp_sync26
1 files changed, 7 insertions, 19 deletions
diff --git a/kernel/xpp/utils/xpp_sync b/kernel/xpp/utils/xpp_sync
index d5b340a..2840271 100755
--- a/kernel/xpp/utils/xpp_sync
+++ b/kernel/xpp/utils/xpp_sync
@@ -51,21 +51,9 @@ sub get_sorted_xpds() {
push(@good_xpds, $xpd);
}
}
- my @pri_nt_xpds = grep { $_->type =~ /(E1|T1|J1)_NT/; } @good_xpds;
- my @pri_te_xpds = grep { $_->type =~ /(E1|T1|J1)_TE/; } @good_xpds;
- my @bri_nt_xpds = grep { $_->type eq 'BRI_NT'; } @good_xpds;
- my @bri_te_xpds = grep { $_->type eq 'BRI_TE'; } @good_xpds;
- my @fxo_xpds = grep { $_->type eq 'FXO'; } @good_xpds;
- my @fxs_xpds = grep { $_->type eq 'FXS'; } @good_xpds;
-
- # Sync Priority
- return
- @pri_te_xpds,
- @bri_te_xpds,
- @fxo_xpds,
- @pri_nt_xpds,
- @bri_nt_xpds,
- @fxs_xpds;
+ my @xpd_prio = Zaptel::Xpp::Xpd::xpds_by_rank(@good_xpds);
+ #Zaptel::Xpp::Xpd::show_xpd_rank(@xpd_prio);
+ return @xpd_prio;
}
sub do_select(@) {
@@ -108,7 +96,7 @@ sub show_sync() {
my $xpdstr = '[ ' . $xbus->pretty_xpds . ' ]';
my $label = '[' . $xbus->label() . ']';
my $connector = '(' . $xbus->connector . ')';
- my $mark = ($curr_sync =~ /\d+/ and $xbus->num == $curr_sync)?"+":"";
+ my $mark = ($curr_sync =~ /^\d+$/ and $xbus->num == $curr_sync)?"+":"";
my $padding = ' ' x (40 - length $xpdstr);
printf " %1s %s %-25s %-14s %s\n", $mark, $xbus->name, $connector, $label, $xpdstr;
}
@@ -131,7 +119,7 @@ END
}
}
-if($sync) {
+if(defined $sync) {
if($autoselect) {
do_select(@sync_xpds);
} else {
@@ -207,8 +195,8 @@ In this example we see that the recommended xpp sync master is XBUS-02 -
it is the first on the list. It is also the actual syncer, as we can see
from the '+' beside it.
-xpp_sync is normally called from both the zaptel init.d script and the
-the Astribank udev script. The parameter it is called with defaults to
+xpp_sync is normally called from the zaptel init.d script.
+The parameter it is called with defaults to
I<auto>, but it is possible to override that parameter (e.g: set it to
I<zaptel>) through the value of XPP_SYNC in either /etc/defualt/zaptel
or /etc/sysconfig/zaptel .