wanpipe-3.5.4.tgz

This commit is contained in:
Harald Welte 2021-12-29 18:39:53 +01:00
parent 2f2fa503b2
commit 1f8d7b100d
13 changed files with 105 additions and 54 deletions

View File

@ -8,6 +8,19 @@ Copyright (c) 1995-2009 Sangoma Technologies Inc.
For more info visit: http://wiki.sangoma.com For more info visit: http://wiki.sangoma.com
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
* Tue Jun 29 2009 Nenad Corbic <ncorbic@sangoma.com> - 3.5.4
===================================================================
- E1 Voice Bug fix introduced in 3.5.3
- Removed NOISE REDUCTION enabled by default.
The noise reduction is disabled by default and should be
enabled using HWEC_NOISE_REDUCTION = YES
- Fixed libsangoma enable dtmf events functionality
* Tue Jun 25 2009 Nenad Corbic <ncorbic@sangoma.com> - 3.5.3 * Tue Jun 25 2009 Nenad Corbic <ncorbic@sangoma.com> - 3.5.3
=================================================================== ===================================================================

2
Setup
View File

@ -7200,7 +7200,7 @@ KERNEL_UNAME=`uname -r`
PKG_NAME=wanpipe PKG_NAME=wanpipe
DISTR_NAME="WANPIPE" DISTR_NAME="WANPIPE"
PROD=wanrouter PROD=wanrouter
PROD_VER=3.5.3 PROD_VER=3.5.4
PROD_HOME=`pwd` PROD_HOME=`pwd`
META_CONF=$PROD_HOME/$PROD.rc META_CONF=$PROD_HOME/$PROD.rc
WAN_INTR_DIR=$PROD_HOME/interfaces WAN_INTR_DIR=$PROD_HOME/interfaces

View File

@ -1,5 +1,5 @@
Package: wanpipe Package: wanpipe
Version: 3.5.3-0 Version: 3.5.4-0
Section: networking Section: networking
Priority: optional Priority: optional
Architecture: all Architecture: all

View File

@ -10,7 +10,7 @@
#define WANPIPE_COMPANY "Sangoma Technologies Inc" #define WANPIPE_COMPANY "Sangoma Technologies Inc"
/********** LINUX **********/ /********** LINUX **********/
#define WANPIPE_VERSION "3.5.3" #define WANPIPE_VERSION "3.5.4"
#define WANPIPE_SUB_VERSION "0" #define WANPIPE_SUB_VERSION "0"
#define WANPIPE_LITE_VERSION "1.1.1" #define WANPIPE_LITE_VERSION "1.1.1"

View File

@ -312,13 +312,17 @@ static int aft_request_logical_channel_num (sdla_t *card, private_area_t *chan,
} }
if (force_lch) { if (force_lch) {
if (!wan_test_and_set_bit(chan->first_time_slot,&card->u.aft.logic_ch_map)){
logic_ch=(char)chan->first_time_slot; /* NOTE This section is not used and should be take out after B601 code is done */
} else { DEBUG_EVENT("%s: Error, request logical channel - internal error - unsupported mode!\n",card->devname);
return -1;
logic_ch=(char)chan->first_time_slot;
if (wan_test_and_set_bit(logic_ch,&card->u.aft.logic_ch_map)){
DEBUG_EVENT("%s: Error, request logical ch=%d map busy (map 0x%08lX)\n", DEBUG_EVENT("%s: Error, request logical ch=%d map busy (map 0x%08lX)\n",
card->devname,chan->first_time_slot,card->u.aft.logic_ch_map); card->devname,chan->first_time_slot,card->u.aft.logic_ch_map);
return -1; return -1;
} }
} else { } else {
for (i=0;i<card->u.aft.num_of_time_slots;i++){ for (i=0;i<card->u.aft.num_of_time_slots;i++){
@ -1127,9 +1131,12 @@ int a104_chan_dev_config(sdla_t *card, void *chan_ptr)
#else #else
#if 0
#warning "FORCE_LCH Should not be used and should be removed after B601 code"
if (card->u.aft.global_tdm_irq) { if (card->u.aft.global_tdm_irq) {
force_lch=1; force_lch=0;
} }
#endif
chan_num=aft_request_logical_channel_num(card, chan, force_lch); chan_num=aft_request_logical_channel_num(card, chan, force_lch);
if (chan_num < 0){ if (chan_num < 0){
@ -1137,6 +1144,8 @@ int a104_chan_dev_config(sdla_t *card, void *chan_ptr)
} }
chan->logic_ch_num = chan_num; chan->logic_ch_num = chan_num;
DEBUG_TEST("%s: LOGIC CH NUM %i\n", card->devname, chan_num);
dma_ram_reg=AFT_PORT_REG(card,AFT_DMA_CHAIN_RAM_BASE_REG); dma_ram_reg=AFT_PORT_REG(card,AFT_DMA_CHAIN_RAM_BASE_REG);
dma_ram_reg+=(chan->logic_ch_num*4); dma_ram_reg+=(chan->logic_ch_num*4);

View File

@ -2464,29 +2464,17 @@ static int new_if_private (wan_device_t* wandev, netdevice_t* dev, wanif_conf_t*
} }
/*Set the actual logic ch number of this chan /*Set the actual logic ch number of this chan
*as the dchan. Due to HDLC security issue, the *as the dchan. Due to HDLC security issue, the
*HDLC channels are mapped on first TWO logic channels */ *HDLC channels are mapped on first TWO logic channels */
if (chan->common.usedby == TDM_VOICE_DCHAN){ if (chan->common.usedby == TDM_VOICE_DCHAN){
card->u.aft.tdmv_dchan=chan->logic_ch_num+1; card->u.aft.tdmv_dchan=chan->logic_ch_num+1;
} }
if (wan_test_bit(WP_ZAPTEL_DCHAN_OPTIMIZATION,&card->u.aft.tdmv_zaptel_cfg)) {
int ch=chan->logic_ch_num;
if (IS_E1_CARD(card)) {
ch++;
}
if (!wan_test_bit(ch,&chan->time_slot_map)) {
DEBUG_EVENT("%s: Error: Logic channel %i does not map to timeslot map 0x%08X\n",
card->devname,chan->logic_ch_num,chan->time_slot_map);
goto new_if_error;
}
}
/* Configure the DCHAN on LAST Master interface. /* Configure the DCHAN on LAST Master interface.
* We will use the master interface information, until * We will use the master interface information, until
* the next interface with the current DCHAN info is * the next interface with the current DCHAN info is
* configured. This must be done in order to register * configured. This must be done in order to register
* the DCHAN in zaptel. */ * the DCHAN in zaptel. */
if (card->u.aft.tdmv_dchan_cfg_on_master && if (card->u.aft.tdmv_dchan_cfg_on_master &&
card->u.aft.tdmv_dchan){ card->u.aft.tdmv_dchan){
int dchan=card->u.aft.tdmv_dchan; int dchan=card->u.aft.tdmv_dchan;
@ -10481,17 +10469,16 @@ static int aft_dma_rx_tdmv(sdla_t *card, private_area_t *chan)
if (wan_test_bit(AFT_TDM_RING_BUF,&card->u.aft.chip_cfg_status)) { if (wan_test_bit(AFT_TDM_RING_BUF,&card->u.aft.chip_cfg_status)) {
rx_offset= AFT_TDMV_CIRC_BUF * card->u.aft.tdm_rx_dma_toggle[chan->logic_ch_num]; rx_offset= AFT_TDMV_CIRC_BUF * card->u.aft.tdm_rx_dma_toggle[chan->first_time_slot];
tx_offset= AFT_TDMV_CIRC_BUF * card->u.aft.tdm_tx_dma_toggle[chan->logic_ch_num]; tx_offset= AFT_TDMV_CIRC_BUF * card->u.aft.tdm_tx_dma_toggle[chan->first_time_slot];
card->u.aft.tdm_rx_dma_toggle[chan->first_time_slot]++;
card->u.aft.tdm_rx_dma_toggle[chan->logic_ch_num]++; if (card->u.aft.tdm_rx_dma_toggle[chan->first_time_slot] >= AFT_TDMV_CIRC_BUF_LEN) {
if (card->u.aft.tdm_rx_dma_toggle[chan->logic_ch_num] >= AFT_TDMV_CIRC_BUF_LEN) { card->u.aft.tdm_rx_dma_toggle[chan->first_time_slot]=0;
card->u.aft.tdm_rx_dma_toggle[chan->logic_ch_num]=0;
} }
card->u.aft.tdm_tx_dma_toggle[chan->logic_ch_num]++; card->u.aft.tdm_tx_dma_toggle[chan->first_time_slot]++;
if (card->u.aft.tdm_tx_dma_toggle[chan->logic_ch_num] >= AFT_TDMV_CIRC_BUF_LEN) { if (card->u.aft.tdm_tx_dma_toggle[chan->first_time_slot] >= AFT_TDMV_CIRC_BUF_LEN) {
card->u.aft.tdm_tx_dma_toggle[chan->logic_ch_num]=0; card->u.aft.tdm_tx_dma_toggle[chan->first_time_slot]=0;
} }
rxbuf = (unsigned char*)rx_dma_chain->dma_virt+rx_offset; rxbuf = (unsigned char*)rx_dma_chain->dma_virt+rx_offset;

View File

@ -141,7 +141,6 @@ static void wp_tdmapi_init_buffs(wanpipe_tdm_api_dev_t *tdm_api, int option)
wan_smp_flag_t flags; wan_smp_flag_t flags;
int lock=1; int lock=1;
/* FIXME: Cause random crashes */
return; return;
card = (sdla_t*)tdm_api->card; card = (sdla_t*)tdm_api->card;
@ -2201,7 +2200,7 @@ wanpipe_tdm_api_event_ioctl(wanpipe_tdm_api_dev_t *tdm_api, wanpipe_api_cmd_t *t
case WP_API_EVENT_DTMF: case WP_API_EVENT_DTMF:
event_ctrl.type = WAN_EVENT_EC_DTMF; event_ctrl.type = WAN_EVENT_EC_DTMF;
if (!card->wandev.ec_enable || card->wandev.ec_enable_map == 0){ if (!card->wandev.ec_enable || card->wandev.ec_enable_map == 0){
if (card->wandev.config_id == WANCONFIG_AFT_ANALOG) { if (card->wandev.config_id == WANCONFIG_AFT_ANALOG) {
@ -2214,7 +2213,7 @@ wanpipe_tdm_api_event_ioctl(wanpipe_tdm_api_dev_t *tdm_api, wanpipe_api_cmd_t *t
} }
} else { } else {
DEBUG_EVENT("%s: %s HW EC DTMF event %X %p !\n", DEBUG_TEST("%s: %s HW EC DTMF event %X %p !\n",
tdm_api->name, tdm_api->name,
WP_API_EVENT_MODE_DECODE(tdm_event->wp_api_event_mode), WP_API_EVENT_MODE_DECODE(tdm_event->wp_api_event_mode),
tdm_api->active_ch,card->wandev.ec_enable); tdm_api->active_ch,card->wandev.ec_enable);
@ -2227,12 +2226,16 @@ wanpipe_tdm_api_event_ioctl(wanpipe_tdm_api_dev_t *tdm_api, wanpipe_api_cmd_t *t
}else{ }else{
event_ctrl.mode = WAN_EVENT_DISABLE; event_ctrl.mode = WAN_EVENT_DISABLE;
} }
if(tdm_event->channel < 1 || tdm_event->channel > NUM_OF_E1_CHANNELS - 1/* 31 */){
DEBUG_TDMAPI("%s(): %s: Warning: DTMF control requested on invalid channel %u!\n", event_ctrl.mode = WAN_EC_CHANNEL_PORT_SOUT;
__FUNCTION__, tdm_api->name, tdm_event->channel); #if 0
tdm_event->channel = 1;/* */ if(tdm_event->channel < 1 || tdm_event->channel > NUM_OF_E1_CHANNELS - 1){
DEBUG_EVENT("%s: Error: DTMF control requested on invalid channel %u!\n",
tdm_api->name, tdm_event->channel);
return -EINVAL;
} }
event_ctrl.channel = tdm_event->channel; #endif
event_ctrl.channel = tdm_api->tdm_chan;
break; break;

View File

@ -680,7 +680,7 @@ int wanec_ChannelOpen(wan_ec_dev_t *ec_dev, INT ec_chan, int verbose)
"MULAW":"ALAW"); "MULAW":"ALAW");
DEBUG_EVENT("%s: Opening HW Echo Canceller (NoiseRed=%s)\n", DEBUG_EVENT("%s: Opening HW Echo Canceller (NoiseRed=%s)\n",
ec->name,card->hwec_conf.noise_reduction_disable?"Off":"On"); ec->name,card->hwec_conf.noise_reduction?"On":"Off");
Oct6100ChannelOpenDef( &EchoChannelOpen ); Oct6100ChannelOpenDef( &EchoChannelOpen );
@ -732,10 +732,10 @@ int wanec_ChannelOpen(wan_ec_dev_t *ec_dev, INT ec_chan, int verbose)
EchoChannelOpen.VqeConfig.ulToneDisablerVqeActivationDelay); EchoChannelOpen.VqeConfig.ulToneDisablerVqeActivationDelay);
} }
if (card->hwec_conf.noise_reduction_disable) { if (card->hwec_conf.noise_reduction) {
EchoChannelOpen.VqeConfig.fSoutAdaptiveNoiseReduction = FALSE;
} else {
EchoChannelOpen.VqeConfig.fSoutAdaptiveNoiseReduction = TRUE; EchoChannelOpen.VqeConfig.fSoutAdaptiveNoiseReduction = TRUE;
} else {
EchoChannelOpen.VqeConfig.fSoutAdaptiveNoiseReduction = FALSE;
} }
EchoChannelOpen.VqeConfig.ulComfortNoiseMode = EchoChannelOpen.VqeConfig.ulComfortNoiseMode =

View File

@ -1975,11 +1975,11 @@ static int wanec_event_ctrl(void *arg, void *pcard, wan_event_ctrl_t *event_ctrl
case WAN_EVENT_EC_DTMF: case WAN_EVENT_EC_DTMF:
{ {
wanec_tone_config_t tone; wanec_tone_config_t tone;
tone.id = (u8)event_ctrl->type; tone.id = WP_API_EVENT_TONE_DTMF;
tone.port_map = WAN_EC_CHANNEL_PORT_SOUT|WAN_EC_CHANNEL_PORT_ROUT; tone.port_map = WAN_EC_CHANNEL_PORT_SOUT;
tone.type = WAN_EC_TONE_PRESENT; tone.type = WAN_EC_TONE_PRESENT;
enable = (event_ctrl->mode == WAN_EVENT_ENABLE) ? WAN_TRUE : WAN_FALSE; enable = (event_ctrl->mode == WAN_EVENT_ENABLE) ? WAN_TRUE : WAN_FALSE;
wanec_channel_tone(ec_dev, event_ctrl->channel, enable, &tone, wanec_verbose); err=wanec_channel_tone(ec_dev, event_ctrl->channel, enable, &tone, wanec_verbose);
} }
break; break;
case WAN_EVENT_EC_H100_REPORT: case WAN_EVENT_EC_H100_REPORT:

View File

@ -1,6 +1,6 @@
%define WANPIPE_VER wanpipe-modules %define WANPIPE_VER wanpipe-modules
%define name %{WANPIPE_VER} %define name %{WANPIPE_VER}
%define version 3.5.3 %define version 3.5.4
%define release 0 %define release 0
%define serial 1 %define serial 1
%define MODULES_DIR /lib/modules %define MODULES_DIR /lib/modules
@ -51,6 +51,19 @@ echo "Wanpipe Modules located in %{MODULES_DIR}/%{KVERSION}"
%changelog %changelog
* Tue Jun 29 2009 Nenad Corbic <ncorbic@sangoma.com> - 3.5.4
===================================================================
- E1 Voice Bug fix introduced in 3.5.3
- Removed NOISE REDUCTION enabled by default.
The noise reduction is disabled by default and should be
enabled using HWEC_NOISE_REDUCTION = YES
- Fixed libsangoma enable dtmf events functionality
* Tue Jun 25 2009 Nenad Corbic <ncorbic@sangoma.com> - 3.5.3 * Tue Jun 25 2009 Nenad Corbic <ncorbic@sangoma.com> - 3.5.3
=================================================================== ===================================================================

View File

@ -1,7 +1,7 @@
%define KERNEL_VERSION %{?kern_ver} %define KERNEL_VERSION %{?kern_ver}
%define WANPIPE_VER wanpipe-util %define WANPIPE_VER wanpipe-util
%define name %{WANPIPE_VER} %define name %{WANPIPE_VER}
%define version 3.5.3 %define version 3.5.4
%define release 0 %define release 0
%define serial 1 %define serial 1
%define ETC_DIR /etc %define ETC_DIR /etc
@ -328,6 +328,19 @@ enable_smg_log;
%changelog %changelog
* Tue Jun 29 2009 Nenad Corbic <ncorbic@sangoma.com> - 3.5.4
===================================================================
- E1 Voice Bug fix introduced in 3.5.3
- Removed NOISE REDUCTION enabled by default.
The noise reduction is disabled by default and should be
enabled using HWEC_NOISE_REDUCTION = YES
- Fixed libsangoma enable dtmf events functionality
* Tue Jun 25 2009 Nenad Corbic <ncorbic@sangoma.com> - 3.5.3 * Tue Jun 25 2009 Nenad Corbic <ncorbic@sangoma.com> - 3.5.3
=================================================================== ===================================================================

View File

@ -1,7 +1,7 @@
%define KERNEL_VERSION %{?kern_ver} %define KERNEL_VERSION %{?kern_ver}
%define WANPIPE_VER wanpipe %define WANPIPE_VER wanpipe
%define name %{WANPIPE_VER} %define name %{WANPIPE_VER}
%define version 3.5.3 %define version 3.5.4
%define release 0 %define release 0
%define serial 1 %define serial 1
%define UTILS_DIR /usr/sbin %define UTILS_DIR /usr/sbin
@ -255,6 +255,19 @@ install_init;
%changelog %changelog
* Tue Jun 29 2009 Nenad Corbic <ncorbic@sangoma.com> - 3.5.4
===================================================================
- E1 Voice Bug fix introduced in 3.5.3
- Removed NOISE REDUCTION enabled by default.
The noise reduction is disabled by default and should be
enabled using HWEC_NOISE_REDUCTION = YES
- Fixed libsangoma enable dtmf events functionality
* Tue Jun 25 2009 Nenad Corbic <ncorbic@sangoma.com> - 3.5.3 * Tue Jun 25 2009 Nenad Corbic <ncorbic@sangoma.com> - 3.5.3
=================================================================== ===================================================================

View File

@ -2205,7 +2205,7 @@ init_global_params()
{ {
if [ $OSYSTEM = "Linux" ]; then if [ $OSYSTEM = "Linux" ]; then
ROUTER_VERSION=3.5.3 ROUTER_VERSION=3.5.4
IFCONFIG_LIST=ifconfig IFCONFIG_LIST=ifconfig
MODULE_STAT=lsmod MODULE_STAT=lsmod
WAN_DRIVERS="wanpipe" WAN_DRIVERS="wanpipe"