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
------------------------------------------------------------------------------
* 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
===================================================================

2
Setup
View File

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

View File

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

View File

@ -10,7 +10,7 @@
#define WANPIPE_COMPANY "Sangoma Technologies Inc"
/********** LINUX **********/
#define WANPIPE_VERSION "3.5.3"
#define WANPIPE_VERSION "3.5.4"
#define WANPIPE_SUB_VERSION "0"
#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 (!wan_test_and_set_bit(chan->first_time_slot,&card->u.aft.logic_ch_map)){
logic_ch=(char)chan->first_time_slot;
} else {
/* NOTE This section is not used and should be take out after B601 code is done */
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",
card->devname,chan->first_time_slot,card->u.aft.logic_ch_map);
return -1;
}
return -1;
}
} else {
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
#if 0
#warning "FORCE_LCH Should not be used and should be removed after B601 code"
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);
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;
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+=(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
*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 */
if (chan->common.usedby == TDM_VOICE_DCHAN){
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.
* We will use the master interface information, until
* the next interface with the current DCHAN info is
* configured. This must be done in order to register
* the DCHAN in zaptel. */
* We will use the master interface information, until
* the next interface with the current DCHAN info is
* configured. This must be done in order to register
* the DCHAN in zaptel. */
if (card->u.aft.tdmv_dchan_cfg_on_master &&
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)) {
rx_offset= AFT_TDMV_CIRC_BUF * card->u.aft.tdm_rx_dma_toggle[chan->logic_ch_num];
tx_offset= AFT_TDMV_CIRC_BUF * card->u.aft.tdm_tx_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->first_time_slot];
card->u.aft.tdm_rx_dma_toggle[chan->logic_ch_num]++;
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->logic_ch_num]=0;
card->u.aft.tdm_rx_dma_toggle[chan->first_time_slot]++;
if (card->u.aft.tdm_rx_dma_toggle[chan->first_time_slot] >= AFT_TDMV_CIRC_BUF_LEN) {
card->u.aft.tdm_rx_dma_toggle[chan->first_time_slot]=0;
}
card->u.aft.tdm_tx_dma_toggle[chan->logic_ch_num]++;
if (card->u.aft.tdm_tx_dma_toggle[chan->logic_ch_num] >= 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]++;
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->first_time_slot]=0;
}
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;
int lock=1;
/* FIXME: Cause random crashes */
return;
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:
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.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 {
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,
WP_API_EVENT_MODE_DECODE(tdm_event->wp_api_event_mode),
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{
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",
__FUNCTION__, tdm_api->name, tdm_event->channel);
tdm_event->channel = 1;/* */
event_ctrl.mode = WAN_EC_CHANNEL_PORT_SOUT;
#if 0
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;

View File

@ -680,7 +680,7 @@ int wanec_ChannelOpen(wan_ec_dev_t *ec_dev, INT ec_chan, int verbose)
"MULAW":"ALAW");
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 );
@ -732,10 +732,10 @@ int wanec_ChannelOpen(wan_ec_dev_t *ec_dev, INT ec_chan, int verbose)
EchoChannelOpen.VqeConfig.ulToneDisablerVqeActivationDelay);
}
if (card->hwec_conf.noise_reduction_disable) {
EchoChannelOpen.VqeConfig.fSoutAdaptiveNoiseReduction = FALSE;
} else {
if (card->hwec_conf.noise_reduction) {
EchoChannelOpen.VqeConfig.fSoutAdaptiveNoiseReduction = TRUE;
} else {
EchoChannelOpen.VqeConfig.fSoutAdaptiveNoiseReduction = FALSE;
}
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:
{
wanec_tone_config_t tone;
tone.id = (u8)event_ctrl->type;
tone.port_map = WAN_EC_CHANNEL_PORT_SOUT|WAN_EC_CHANNEL_PORT_ROUT;
tone.id = WP_API_EVENT_TONE_DTMF;
tone.port_map = WAN_EC_CHANNEL_PORT_SOUT;
tone.type = WAN_EC_TONE_PRESENT;
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;
case WAN_EVENT_EC_H100_REPORT:

View File

@ -1,6 +1,6 @@
%define WANPIPE_VER wanpipe-modules
%define name %{WANPIPE_VER}
%define version 3.5.3
%define version 3.5.4
%define release 0
%define serial 1
%define MODULES_DIR /lib/modules
@ -51,6 +51,19 @@ echo "Wanpipe Modules located in %{MODULES_DIR}/%{KVERSION}"
%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
===================================================================

View File

@ -1,7 +1,7 @@
%define KERNEL_VERSION %{?kern_ver}
%define WANPIPE_VER wanpipe-util
%define name %{WANPIPE_VER}
%define version 3.5.3
%define version 3.5.4
%define release 0
%define serial 1
%define ETC_DIR /etc
@ -328,6 +328,19 @@ enable_smg_log;
%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
===================================================================

View File

@ -1,7 +1,7 @@
%define KERNEL_VERSION %{?kern_ver}
%define WANPIPE_VER wanpipe
%define name %{WANPIPE_VER}
%define version 3.5.3
%define version 3.5.4
%define release 0
%define serial 1
%define UTILS_DIR /usr/sbin
@ -255,6 +255,19 @@ install_init;
%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
===================================================================

View File

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