wanpipe-3.2.6.tgz

This commit is contained in:
Harald Welte 2021-12-29 18:16:17 +01:00
parent b7632139fd
commit b61b764082
48 changed files with 892 additions and 4970 deletions

View File

@ -7,6 +7,58 @@ Author: Nenad Corbic <ncorbic@sangoma.com>
Copyright (c) 1995-2008 Sangoma Technologies Inc.
------------------------------------------------------------------------------
* Thu Jun 4 2008 Nenad Corbic <ncorbic@sangoma.com> - Stable - 3.2.6
========================================================================
- Updated hwprobe to add A056 card
- Updated for 2.6.25 kernel
- wanpipemon PRI/BRI wireshark tracing
http://wiki.sangoma.com/wanpipe-wireshark-pcap-pri-bri-wan-t1-e1-tracing
- LIP Layer Update
Optimized packet handling in bh
- Fixed WAN Protocol for 2.6.24 kernels and higher
- AFT TE1 Code
Defaulted Maxim T1 Rx Level to 36DB
Defaulted Maxim E1 Rx Level to 42DB
This will improve T1/E1 connectivity on noisy or low power lines.
- Wanpipemon PRI/BRI PCAP Tracing for Wireshark
Using wanpipemon dchan trace one can now capture
pcap files that can be opened by Wireshark.
http://wiki.sangoma.com/wanpipe-wireshark-pcap-pri-bri-wan-t1-e1-tracing
- Add pci parity check to wanrouter
wanrouter parity -> displays current system pci parity
wanrouter parity off -> disables system pci parity
wanrouter parity on -> enables system pci parity
/etc/wanpipe/wanrouter.rc
WAN_PCI_PARITY=OFF -> on wanrouter start disable pci parity
-> event logged in /var/log/wanrouter
On some servers pci parity can cause NMI interrupts that
can lead to reboots. Parity can be caused by unsuported
or buggy pci/bridge chipsets. The above commands can be used
to combat pci parity reboots.
Another option is to disable PCI parity in BIOS :)
* Thu Apr 4 2008 Nenad Corbic <ncorbic@sangoma.com> - Stable - 3.2.5.1
========================================================================
- RTP TAP Bug fix
The driver was sending out invalid rtp tap header
http://wiki.sangoma.com/wanpipe-voice-rtp-tap
* Thu Apr 2 2008 Nenad Corbic <ncorbic@sangoma.com> - Stable - 3.2.5
========================================================================

46
Setup
View File

@ -9,6 +9,7 @@
# as published by the Free Software Foundation; either version
# 2 of the License, or (at your option) any later version.
# ----------------------------------------------------------------------------
# May 30, 2008 Jignesh Patel Fixed bootscript installation failure
# Oct 26, 2007 Konrad Hammel Updated minor start script bug
# Nov 27, 2005 David Rokhvarg Added Echo Debugging option
# Mar 18, 2002 Nenad Corbic Added BSCSTRM protocol
@ -3320,20 +3321,35 @@ CFLAGS="$CC -Wp,-MD,.wanpipe.o.d -nostdinc -iwithprefix include -D__LINUX__ -Dli
-e s/s390x/s390/ -e s/parisc64/parisc/ \
-e s/ppc.*/powerpc/ -e s/mips.*/mips/ )
#New way of checking REGPARM because its enabled
#by default on 2.6.20 kernel and up
if [ $SUBARCH != "" ]; then
eval "grep \"CFLAGS.*=.*-pipe.*regparm\" $SOURCEDIR/arch/$SUBARCH/Makefile" > /dev/null 2> /dev/null
if [ $? -eq 0 ]; then
echo -e "Enabled.\n"
REGPARM_OPT=".regparm"
else
echo -e "Disabled.\n"
fi
else
echo -e "Disabled.\n"
fi
#by default on 2.6.20 kernel and up
if [ $SUBARCH != "" ]; then
if [ -f $SOURCEDIR/arch/$SUBARCH/Makefile ]; then
eval "grep \"CFLAGS.*=.*regparm\" $SOURCEDIR/arch/$SUBARCH/Makefile*" > /dev/null 2> /dev/null
res=$?
elif [ -d $SOURCEDIR/arch/x86 ]; then
eval "grep \"CFLAGS.*=*regparm\" $SOURCEDIR/arch/x86/Makefile*" > /dev/null 2> /dev/null
res=$?
else
echo
echo "Warning: Failed to determine regparm from Makefile defaulting to YES!"
echo
res=0
fi
if [ $res -eq 0 ]; then
echo -e "Enabled.\n"
REGPARM_OPT=".regparm"
else
echo -e "Disabled.\n"
fi
else
echo
echo "Warning: Failed to determine ARCH: regparm defaulting to YES!"
echo
REGPARM_OPT=".regparm"
echo -e "Enabled.\n"
fi
fi
@ -6341,7 +6357,7 @@ KERNEL_UNAME=`uname -r`
PKG_NAME=wanpipe
DISTR_NAME="WANPIPE"
PROD=wanrouter
PROD_VER=3.2.5
PROD_VER=3.2.6
PROD_HOME=`pwd`
WAN_CONF_DIR=/etc/wanpipe
META_CONF=$PROD_HOME/$PROD.rc
@ -7141,10 +7157,10 @@ welcome || exit 0
prepare || exit 1
apply_patches || exit 1
compile_drivers || exit 1
install_init || exit 1
install_config || exit 1
compile_src || exit 1
install_all
install_init || exit 1
install_ssmg
clean_up
goodbye

View File

@ -38,6 +38,7 @@ PATH: /usr/sbin
PATH: /usr/bin
PATH: /usr/sbin/scripts
PATH: /root/bin
PATH: /usr/sbin/scripts
PATH: /bin
PATH: /sbin
PATH: /usr/bin

View File

@ -319,7 +319,7 @@ link_all_deplibs=unknown
sys_lib_search_path_spec=" /usr/lib/gcc/i386-redhat-linux/4.1.1/ /usr/lib/gcc/i386-redhat-linux/4.1.1/ /usr/lib/gcc/i386-redhat-linux/4.1.1/../../../../i386-redhat-linux/lib/i386-redhat-linux/4.1.1/ /usr/lib/gcc/i386-redhat-linux/4.1.1/../../../../i386-redhat-linux/lib/ /usr/lib/gcc/i386-redhat-linux/4.1.1/../../../i386-redhat-linux/4.1.1/ /usr/lib/gcc/i386-redhat-linux/4.1.1/../../../ /lib/i386-redhat-linux/4.1.1/ /lib/ /usr/lib/i386-redhat-linux/4.1.1/ /usr/lib/"
# Run-time system search path for libraries
sys_lib_dlsearch_path_spec="/lib /usr/lib include ld.so.conf.d/*.conf "
sys_lib_dlsearch_path_spec="/lib /usr/lib include ld.so.conf.d/*.conf /usr/local/lib "
# Fix the shell variable $srcfile for the compiler.
fix_srcfile_path=""
@ -7017,7 +7017,7 @@ link_all_deplibs=unknown
sys_lib_search_path_spec=" /usr/lib/gcc/i386-redhat-linux/4.1.1/ /usr/lib/gcc/i386-redhat-linux/4.1.1/ /usr/lib/gcc/i386-redhat-linux/4.1.1/../../../../i386-redhat-linux/lib/i386-redhat-linux/4.1.1/ /usr/lib/gcc/i386-redhat-linux/4.1.1/../../../../i386-redhat-linux/lib/ /usr/lib/gcc/i386-redhat-linux/4.1.1/../../../i386-redhat-linux/4.1.1/ /usr/lib/gcc/i386-redhat-linux/4.1.1/../../../ /lib/i386-redhat-linux/4.1.1/ /lib/ /usr/lib/i386-redhat-linux/4.1.1/ /usr/lib/"
# Run-time system search path for libraries
sys_lib_dlsearch_path_spec="/lib /usr/lib include ld.so.conf.d/*.conf "
sys_lib_dlsearch_path_spec="/lib /usr/lib include ld.so.conf.d/*.conf /usr/local/lib "
# Fix the shell variable $srcfile for the compiler.
fix_srcfile_path=""
@ -7316,7 +7316,7 @@ link_all_deplibs=unknown
sys_lib_search_path_spec=" /usr/lib/gcc/i386-redhat-linux/4.1.1/ /usr/lib/gcc/i386-redhat-linux/4.1.1/ /usr/lib/gcc/i386-redhat-linux/4.1.1/../../../../i386-redhat-linux/lib/i386-redhat-linux/4.1.1/ /usr/lib/gcc/i386-redhat-linux/4.1.1/../../../../i386-redhat-linux/lib/ /usr/lib/gcc/i386-redhat-linux/4.1.1/../../../i386-redhat-linux/4.1.1/ /usr/lib/gcc/i386-redhat-linux/4.1.1/../../../ /lib/i386-redhat-linux/4.1.1/ /lib/ /usr/lib/i386-redhat-linux/4.1.1/ /usr/lib/"
# Run-time system search path for libraries
sys_lib_dlsearch_path_spec="/lib /usr/lib include ld.so.conf.d/*.conf "
sys_lib_dlsearch_path_spec="/lib /usr/lib include ld.so.conf.d/*.conf /usr/local/lib "
# Fix the shell variable $srcfile for the compiler.
fix_srcfile_path=""

View File

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

View File

@ -149,6 +149,7 @@
#define WAN_T1_533_655 0x11
/* T1/E1: Recever */
#define WAN_TE1_RX_SLEVEL_NONE 0
#define WAN_TE1_RX_SLEVEL_43_DB 430 /* 43 dB E1, RMONEN=0 */
#define WAN_TE1_RX_SLEVEL_36_DB 360 /* 36 dB T1, RMONEN=0 */
#define WAN_TE1_RX_SLEVEL_30_DB 300 /* 30 dB RMONEN=0 | 1 */

View File

@ -51,10 +51,6 @@
# define EXTERN extern
#endif
#if defined(__LINUX__)
# define WAN_ISA_SUPPORT
#endif
/*
******************************************************************
** I N C L U D E S **
@ -79,7 +75,11 @@
******************************************************************
*/
#if defined(__LINUX__)
#ifdef CONFIG_ISA
# define WAN_ISA_SUPPORT
#else
# undef WAN_ISA_SUPPORT
#endif
#endif
#define SDLADRV_MAGIC 0x414C4453L /* signature: 'SDLA' reversed */

View File

@ -838,7 +838,9 @@ typedef void (*wan_taskq_func_t)(struct work_struct *);
typedef struct tq_struct wan_taskq_t;
typedef void* virt_addr_t;
# if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)
typedef unsigned long phys_addr_t;
#endif
typedef spinlock_t wan_spinlock_t;
typedef rwlock_t wan_rwlock_t;
typedef unsigned long wan_smp_flag_t;
@ -1191,8 +1193,14 @@ typedef struct wan_udp_pkt {
} wan_udp_pkt_t;
#pragma pack(1)
#if defined(WAN_BIG_ENDIAN)
#if defined(WAN_BIG_ENDIAN) || (1)
/* We use BIG ENDIAN because
RTP TAP needs to be transmitted
BIG ENDIAN */
typedef struct {
uint8_t cc:4; /* CSRC count */
@ -1208,13 +1216,15 @@ typedef struct {
#else /* BIG_ENDIAN */
/* not used */
typedef struct {
unsigned version:2; /* protocol version */
unsigned p:1; /* padding flag */
unsigned x:1; /* header extension flag */
unsigned cc:4; /* CSRC count */
unsigned m:1; /* marker bit */
unsigned pt:7; /* payload type */
uint8_t version:2; /* protocol version */
uint8_t p:1; /* padding flag */
uint8_t x:1; /* header extension flag */
uint8_t cc:4; /* CSRC count */
uint8_t m:1; /* marker bit */
uint8_t pt:7; /* payload type */
uint16_t seq; /* sequence number */
uint32_t ts; /* timestamp */
uint32_t ssrc; /* synchronization source */
@ -1234,7 +1244,6 @@ typedef struct wan_rtp_pkt {
#pragma pack()
#endif /* KERNEL */
#endif /* __WANPIPE_DEFINES_H */

View File

@ -91,17 +91,19 @@
{
schedule_work(tq);
}
#define ADMIN_CHECK() {if (!capable(CAP_SYS_ADMIN)) {\
DEBUG_EVENT("wanpipe: ADMIN_CHECK: Failed Cap=0x%X Fsuid=0x%X Euid=0x%X\n", \
current->cap_effective,current->fsuid,current->euid);\
if (WAN_NET_RATELIMIT()) { \
DEBUG_EVENT("%s:%d: wanpipe: ADMIN_CHECK: Failed !\n",__FUNCTION__,__LINE__);\
} \
return -EPERM; \
}\
}
#define NET_ADMIN_CHECK() {if (!capable(CAP_NET_ADMIN)){\
DEBUG_EVENT("wanpipe: NET_ADMIN_CHECK: Failed Cap=0x%X Fsuid=0x%X Euid=0x%X\n", \
current->cap_effective,current->fsuid,current->euid);\
if (WAN_NET_RATELIMIT()) { \
DEBUG_EVENT("%s:%d: wanpipe: NET_ADMIN_CHECK: Failed !\n",__FUNCTION__,__LINE__);\
} \
return -EPERM; \
}\
}

View File

@ -6,7 +6,7 @@
#define WANPIPE_COMPANY "Sangoma Technologies Inc"
/********** LINUX **********/
#define WANPIPE_VERSION "3.2.5"
#define WANPIPE_VERSION "3.2.6"
#define WANPIPE_SUB_VERSION "0"
#define WANPIPE_VERSION_BETA 0
#define WANPIPE_LITE_VERSION "1.1.1"

View File

@ -13,20 +13,13 @@ void wplip_link_bh(void* data, int pending);
static int wplip_bh_receive(wplip_link_t *lip_link)
{
netskb_t *skb;
unsigned long timeout_cnt=SYSTEM_TICKS;
int err;
while((skb=wan_skb_dequeue(&lip_link->rx_queue)) != NULL){
err=wplip_prot_rx(lip_link,skb);
if (err){
wan_skb_free(skb);
}
if (SYSTEM_TICKS-timeout_cnt > 2){
DEBUG_EVENT("%s: Link RxBH Time squeeze\n",lip_link->name);
break;
}
}
return 0;
@ -38,7 +31,6 @@ static int wplip_bh_transmit(wplip_link_t *lip_link)
wplip_dev_t *lip_dev=NULL;
int err=0;
unsigned long timeout_cnt=SYSTEM_TICKS;
int tx_pkt_cnt=0;
if (wan_test_bit(WPLIP_BH_AWAITING_KICK,&lip_link->tq_working)){
if (wan_test_bit(WPLIP_KICK,&lip_link->tq_working)){
@ -62,7 +54,7 @@ static int wplip_bh_transmit(wplip_link_t *lip_link)
goto wplip_bh_link_transmit_exit;
}
if (SYSTEM_TICKS-timeout_cnt > 1){
if (SYSTEM_TICKS-timeout_cnt > 10){
DEBUG_EVENT("%s: Link TxBH Time squeeze\n",lip_link->name);
goto wplip_bh_link_transmit_exit;
}
@ -97,7 +89,7 @@ static int wplip_bh_transmit(wplip_link_t *lip_link)
for (;;){
if (SYSTEM_TICKS-timeout_cnt > 3){
if (SYSTEM_TICKS-timeout_cnt > 10){
if (WAN_NET_RATELIMIT()) {
DEBUG_EVENT("%s: LipDev TxBH Time squeeze --- Sanity\n",lip_link->name);
}

View File

@ -29,6 +29,10 @@ int wplip_if_output (netdevice_t* dev,netskb_t* skb,struct sockaddr* sa, struct
char* get_master_dev_name(wplip_link_t *lip_link);
#ifdef __LINUX__
static int wplip_change_mtu(netdevice_t *dev, int new_mtu);
#endif
/*==============================================================
* wplip_open_dev
*
@ -61,12 +65,17 @@ int wplip_open_dev(netdevice_t *dev)
}
#if defined(__LINUX__)
# if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,18)
if (netif_running(dev))
return -EBUSY;
# endif
/* Updated the lower level MTU based on the interface MTU */
wplip_change_mtu(lip_dev->common.dev, dev->mtu);
#endif
wan_clear_bit(0,&lip_dev->if_down);
#if 0

View File

@ -303,7 +303,7 @@ void wplip_tty_receive(wplip_link_t *lip_link, void *skb)
if (WAN_NET_RATELIMIT()){
DEBUG_EVENT(
"%s: Received packet size too big: %d bytes, Max: %d!\n",
lip_link->name,wan_skb_len(skb),TTY_FLIPBUF_SIZE);
lip_link->name,wan_skb_len(skb),TTY_MAX_MTU);
}
wan_skb_free(skb);
return;

View File

@ -1,56 +1,56 @@
0xf7567a8a wanpipe_api_buf_check /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0xf27fa082 wanpipe_lip_connect /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x9d773de8 sdla_register /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/sdladrv EXPORT_SYMBOL
0xc0ef42f1 wp_sppp_input /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanpipe_syncppp EXPORT_SYMBOL
0x57e6ed60 wanpipe_api_sock_rx /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0xf0688524 wanrouter_proc_add_interface /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x59fb2682 sdla_hw_probe /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/sdladrv EXPORT_SYMBOL
0x9a7a6658 wanpipe_lip_rx /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x8f31cdeb proc_router /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x94be524d register_wanec_iface /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x1036a1ab bind_api_listen_to_protocol /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x524e2f20 register_wanpipe_fw_protocol /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x9ce78a9e register_wan_device /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x84824c8d wanrouter_proc_add_protocol /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x90a9f616 wp_sppp_detach /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanpipe_syncppp EXPORT_SYMBOL
0xc9b2c3fb wp_sppp_attach /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanpipe_syncppp EXPORT_SYMBOL
0x56712648 wanpipe_ec_event_ctrl /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x7cd3c2bc wanpipe_ec_poll /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0xd23480a3 wanrouter_proc_delete_protocol /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0xdfd0f6c6 sdla_get_hw_adptr_cnt /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/sdladrv EXPORT_SYMBOL
0x10723cdb wanpipe_ec_register /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x1e82f485 wp_sppp_change_mtu /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanpipe_syncppp EXPORT_SYMBOL
0x02364d27 wanrouter_encapsulate /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x136b2537 wan_skb_destructor /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0xfa083e32 register_wanpipe_api_socket /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0xade2d0d7 sdla_get_hw_probe /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/sdladrv EXPORT_SYMBOL
0xef48df91 proc_add_line /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x22a2999f sdla_unregister /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/sdladrv EXPORT_SYMBOL
0x85c05713 wanrouter_type_trans /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0xfd74fadb wan_set_ip_address /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0xc98aebe6 wan_get_ip_address /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x7d68ed07 protocol_disconnected /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0xc5224c15 bind_api_to_protocol /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x38eb6851 unregister_wanpipe_api_socket /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0xaac011d2 wanpipe_lip_kick /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x3b604364 unbind_api_listen_from_protocol /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x6df6c4e0 wan_run_wanrouter /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0xeb418feb sdla_hw_bridge_probe /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/sdladrv EXPORT_SYMBOL
0x04df932b unregister_wanec_iface /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x19823ac0 wanpipe_ec_isr /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x13405f6b unregister_wanpipe_fw_protocol /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0xe72f44cb wanpipe_api_listen_rx /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0xe6bc2d6d wp_sppp_open /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanpipe_syncppp EXPORT_SYMBOL
0x238f240b wp_sppp_reopen /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanpipe_syncppp EXPORT_SYMBOL
0x72ddd010 wp_sppp_do_ioctl /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanpipe_syncppp EXPORT_SYMBOL
0x5b7efb57 wanpipe_api_poll_wake /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x651a840a wan_add_gateway /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x805cbe1e wp_sppp_close /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanpipe_syncppp EXPORT_SYMBOL
0x2f21a326 unregister_wanpipe_lip_protocol /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0xa4d9f3e3 wanrouter_proc_delete_interface /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x0ebe03d1 unregister_wan_device /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x22317d82 wanpipe_lip_disconnect /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0xed6a48f7 protocol_connected /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x53350bd4 wanpipe_ec_unregister /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x49a433d4 register_wanpipe_lip_protocol /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x00525339 protocol_connecting /root/development/3.2/wanpipe-3.2.4.pe8/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0xf7567a8a wanpipe_api_buf_check /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0xf27fa082 wanpipe_lip_connect /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x9d773de8 sdla_register /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/sdladrv EXPORT_SYMBOL
0xc0ef42f1 wp_sppp_input /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanpipe_syncppp EXPORT_SYMBOL
0x57e6ed60 wanpipe_api_sock_rx /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0xf0688524 wanrouter_proc_add_interface /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x59fb2682 sdla_hw_probe /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/sdladrv EXPORT_SYMBOL
0x9a7a6658 wanpipe_lip_rx /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x8f31cdeb proc_router /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x94be524d register_wanec_iface /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x1036a1ab bind_api_listen_to_protocol /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x524e2f20 register_wanpipe_fw_protocol /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x9ce78a9e register_wan_device /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x84824c8d wanrouter_proc_add_protocol /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x90a9f616 wp_sppp_detach /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanpipe_syncppp EXPORT_SYMBOL
0xc9b2c3fb wp_sppp_attach /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanpipe_syncppp EXPORT_SYMBOL
0x56712648 wanpipe_ec_event_ctrl /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x7cd3c2bc wanpipe_ec_poll /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0xd23480a3 wanrouter_proc_delete_protocol /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0xdfd0f6c6 sdla_get_hw_adptr_cnt /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/sdladrv EXPORT_SYMBOL
0x10723cdb wanpipe_ec_register /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x1e82f485 wp_sppp_change_mtu /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanpipe_syncppp EXPORT_SYMBOL
0x02364d27 wanrouter_encapsulate /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x136b2537 wan_skb_destructor /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0xfa083e32 register_wanpipe_api_socket /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0xade2d0d7 sdla_get_hw_probe /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/sdladrv EXPORT_SYMBOL
0xef48df91 proc_add_line /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x22a2999f sdla_unregister /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/sdladrv EXPORT_SYMBOL
0x85c05713 wanrouter_type_trans /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0xfd74fadb wan_set_ip_address /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0xc98aebe6 wan_get_ip_address /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x7d68ed07 protocol_disconnected /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0xc5224c15 bind_api_to_protocol /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x38eb6851 unregister_wanpipe_api_socket /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0xaac011d2 wanpipe_lip_kick /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x3b604364 unbind_api_listen_from_protocol /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x6df6c4e0 wan_run_wanrouter /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0xeb418feb sdla_hw_bridge_probe /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/sdladrv EXPORT_SYMBOL
0x04df932b unregister_wanec_iface /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x19823ac0 wanpipe_ec_isr /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x13405f6b unregister_wanpipe_fw_protocol /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0xe72f44cb wanpipe_api_listen_rx /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0xe6bc2d6d wp_sppp_open /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanpipe_syncppp EXPORT_SYMBOL
0x238f240b wp_sppp_reopen /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanpipe_syncppp EXPORT_SYMBOL
0x72ddd010 wp_sppp_do_ioctl /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanpipe_syncppp EXPORT_SYMBOL
0x5b7efb57 wanpipe_api_poll_wake /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x651a840a wan_add_gateway /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x805cbe1e wp_sppp_close /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanpipe_syncppp EXPORT_SYMBOL
0x2f21a326 unregister_wanpipe_lip_protocol /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0xa4d9f3e3 wanrouter_proc_delete_interface /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x0ebe03d1 unregister_wan_device /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x22317d82 wanpipe_lip_disconnect /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0xed6a48f7 protocol_connected /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x53350bd4 wanpipe_ec_unregister /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x49a433d4 register_wanpipe_lip_protocol /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL
0x00525339 protocol_connecting /root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanrouter EXPORT_SYMBOL

View File

@ -0,0 +1,7 @@
kernel//root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/sdladrv.ko
kernel//root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanrouter.ko
kernel//root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanpipe.ko
kernel//root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanpipe_syncppp.ko
kernel//root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/af_wanpipe.ko
kernel//root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wanec.ko
kernel//root/development/3.2/wanpipe-3.2.5.3/patches/kdrivers/src/net/wan_aften.ko

View File

@ -737,6 +737,44 @@ static int sdla_ds_te1_cfg_verify(void* pfe)
break;
}
if (WAN_TE1_HI_MODE(fe)){
switch(fe->fe_cfg.cfg.te_cfg.rx_slevel){
case WAN_TE1_RX_SLEVEL_30_DB: case WAN_TE1_RX_SLEVEL_225_DB:
case WAN_TE1_RX_SLEVEL_175_DB: case WAN_TE1_RX_SLEVEL_12_DB:
break;
case WAN_TE1_RX_SLEVEL_NONE:
DEBUG_EVENT("%s: Defaulting T1 Rx Sens. Gain= 30 db\n",
fe->name);
fe->fe_cfg.cfg.te_cfg.rx_slevel = WAN_TE1_RX_SLEVEL_30_DB;
break;
default:
DEBUG_EVENT(
"%s: Error: Invalid T1 Rx Sensitivity Gain (%d).\n",
fe->name,
fe->fe_cfg.cfg.te_cfg.rx_slevel);
return -EINVAL;
}
}else{
switch(fe->fe_cfg.cfg.te_cfg.rx_slevel){
case WAN_TE1_RX_SLEVEL_36_DB: case WAN_TE1_RX_SLEVEL_30_DB:
case WAN_TE1_RX_SLEVEL_18_DB: case WAN_TE1_RX_SLEVEL_12_DB:
break;
case WAN_TE1_RX_SLEVEL_NONE:
DEBUG_EVENT("%s: Defaulting T1 Rx Sens. Gain= 36 db\n",
fe->name);
fe->fe_cfg.cfg.te_cfg.rx_slevel = WAN_TE1_RX_SLEVEL_36_DB;
break;
default:
DEBUG_EVENT(
"%s: Error: Invalid T1 Rx Sensitivity Gain (%d).\n",
fe->name,
fe->fe_cfg.cfg.te_cfg.rx_slevel);
return -EINVAL;
}
}
}else if (IS_E1_FEMEDIA(fe)){
/* Verify FE framing type */
@ -808,6 +846,46 @@ static int sdla_ds_te1_cfg_verify(void* pfe)
return -EINVAL;
break;
}
if (WAN_TE1_HI_MODE(fe)){
switch(fe->fe_cfg.cfg.te_cfg.rx_slevel){
case WAN_TE1_RX_SLEVEL_30_DB: case WAN_TE1_RX_SLEVEL_225_DB:
case WAN_TE1_RX_SLEVEL_175_DB: case WAN_TE1_RX_SLEVEL_12_DB:
break;
case WAN_TE1_RX_SLEVEL_NONE:
DEBUG_EVENT("%s: Defaulting E1 Rx Sens. Gain= 30 db\n",
fe->name);
fe->fe_cfg.cfg.te_cfg.rx_slevel = WAN_TE1_RX_SLEVEL_30_DB;
break;
default:
DEBUG_EVENT(
"%s: Error: Invalid E1 Rx Sensitivity Gain (%d).\n",
fe->name,
fe->fe_cfg.cfg.te_cfg.rx_slevel);
return -EINVAL;
}
}else{
switch(fe->fe_cfg.cfg.te_cfg.rx_slevel){
case WAN_TE1_RX_SLEVEL_43_DB: case WAN_TE1_RX_SLEVEL_30_DB:
case WAN_TE1_RX_SLEVEL_18_DB: case WAN_TE1_RX_SLEVEL_12_DB:
break;
case WAN_TE1_RX_SLEVEL_NONE:
DEBUG_EVENT("%s: Defaulting E1 Rx Sens. Gain= 43 db\n",
fe->name);
fe->fe_cfg.cfg.te_cfg.rx_slevel = WAN_TE1_RX_SLEVEL_43_DB;
break;
default:
DEBUG_EVENT(
"%s: Error: Invalid E1 Rx Sensitivity Gain (%d).\n",
fe->name,
fe->fe_cfg.cfg.te_cfg.rx_slevel);
return -EINVAL;
}
}
}else{
DEBUG_EVENT("%s: Error: Invalid FE Media type (%X)\n",
fe->name,
@ -1126,27 +1204,31 @@ static int sdla_ds_te1_chip_config(void* pfe)
break;
case WAN_TE1_RX_SLEVEL_36_DB:
case WAN_TE1_RX_SLEVEL_43_DB:
value |= (BIT_LRISMR_RSMS1 | BIT_LRISMR_RSMS0);
break;
default: /* set default value */
fe->fe_cfg.cfg.te_cfg.rx_slevel = WAN_TE1_RX_SLEVEL_12_DB;
value |= (BIT_LRISMR_RSMS1 | BIT_LRISMR_RSMS0);
break;
}
DEBUG_EVENT("%s: Rx Sensitivity Gain %s.\n",
fe->name,
WAN_TE1_RX_SLEVEL_DECODE(fe->fe_cfg.cfg.te_cfg.rx_slevel));
DEBUG_EVENT("%s: Rx Sensitivity Gain %s%s.\n",
fe->name,
WAN_TE1_RX_SLEVEL_DECODE(fe->fe_cfg.cfg.te_cfg.rx_slevel),
((IS_T1_FEMEDIA(fe) && (fe->fe_cfg.cfg.te_cfg.rx_slevel==WAN_TE1_RX_SLEVEL_36_DB)) ||
(IS_E1_FEMEDIA(fe) && (fe->fe_cfg.cfg.te_cfg.rx_slevel==WAN_TE1_RX_SLEVEL_43_DB))) ?
" (default)": "");
}
if (IS_T1_FEMEDIA(fe)){
WRITE_REG(REG_LRISMR, value | BIT_LRISMR_RIMPM0);
value |= BIT_LRISMR_RIMPM0;
}else{
//value |= BIT_LRISMR_RIMPOFF;
if (WAN_TE1_LBO(fe) == WAN_E1_120){
value |= BIT_LRISMR_RIMPM1 | BIT_LRISMR_RIMPM0;
}
WRITE_REG(REG_LRISMR, value);
}
WRITE_REG(REG_LRISMR, value);
if (IS_E1_FEMEDIA(fe) && WAN_TE1_LBO(fe) == WAN_E1_120){
/* Feb 7, 2008
** Adjust DAC gain (-4.88%) */
@ -1366,6 +1448,7 @@ static int sdla_ds_te1_pre_release(void* pfe)
WAN_LIST_REMOVE(fe_event, next);
if (fe_event) wan_free(fe_event);
}
fe->event_map = 0;
wan_spin_unlock_irq(&fe->lock,&smp_flags);
return 0;
}
@ -1396,6 +1479,11 @@ static int sdla_ds_te1_unconfig(void* pfe)
/* FIXME: Alex to disable interrupts here */
sdla_ds_te1_disable_irq(fe);
/* Set Rx Framer soft reset */
WRITE_REG(REG_RMMR, BIT_RMMR_SFTRST);
/* Set Tx Framer soft reset */
WRITE_REG(REG_TMMR, BIT_RMMR_SFTRST);
/* Clear configuration flag */
wan_clear_bit(TE_CONFIGURED,(void*)&fe->te_param.critical);
@ -3048,12 +3136,13 @@ static int sdla_ds_te1_add_timer(sdla_fe_t* fe, unsigned long delay)
return 0;
}
wan_set_bit(TE_TIMER_RUNNING,(void*)&fe->te_param.critical);
err = wan_add_timer(&fe->timer, delay * HZ / 1000);
if (err){
/* Failed to add timer */
return -EINVAL;
}
wan_set_bit(TE_TIMER_RUNNING,(void*)&fe->te_param.critical);
return 0;
}

View File

@ -303,6 +303,7 @@ static int if_change_mtu(netdevice_t *dev, int new_mtu);
static int if_send(netdevice_t*, netskb_t*, struct sockaddr*,struct rtentry*);
#endif
static void callback_front_end_state(void *card_id);
static void handle_front_end_state(void* card_id);
static void enable_timer(void* card_id);
static void enable_ec_timer(void* card_id);
@ -675,7 +676,7 @@ int wp_aft_analog_init (sdla_t *card, wandev_conf_t* conf)
card->wandev.fe_enable_timer = enable_timer;
card->wandev.ec_enable_timer = enable_ec_timer;
card->wandev.te_link_state = handle_front_end_state;
card->wandev.te_link_state = callback_front_end_state;
if (card->wandev.comm_port == WANOPT_PRI){
conf->clocking = WANOPT_EXTERNAL;
@ -747,6 +748,7 @@ int wp_aft_te1_init (sdla_t* card, wandev_conf_t* conf)
conf->fe_cfg.cfg.te_cfg.active_ch = -1;
}
memset(&card->fe, 0, sizeof(sdla_fe_t));
memcpy(&card->fe.fe_cfg, &conf->fe_cfg, sizeof(sdla_fe_cfg_t));
if (card->u.aft.firm_id == AFT_DS_FE_CORE_ID) {
max_ports = 8;
@ -762,7 +764,7 @@ int wp_aft_te1_init (sdla_t* card, wandev_conf_t* conf)
card->wandev.fe_enable_timer = enable_timer;
card->wandev.ec_enable_timer = enable_ec_timer;
card->wandev.te_link_state = handle_front_end_state;
card->wandev.te_link_state = callback_front_end_state;
conf->interface =
IS_T1_CARD(card) ? WANOPT_V35 : WANOPT_RS232;
@ -868,7 +870,7 @@ int wp_aft_56k_init (sdla_t* card, wandev_conf_t* conf)
#endif
card->wandev.fe_enable_timer = enable_timer;
card->wandev.ec_enable_timer = enable_ec_timer;
card->wandev.te_link_state = handle_front_end_state;
card->wandev.te_link_state = callback_front_end_state;
card->wandev.comm_port=0;
@ -2554,10 +2556,6 @@ static int if_init (netdevice_t* dev)
#endif
dev->get_stats = &if_stats;
#if 0
dev->tx_timeout = &if_tx_timeout;
dev->watchdog_timeo = 2*HZ;
#else
if (chan->common.usedby == TDM_VOICE ||
chan->common.usedby == TDM_VOICE_API){
dev->tx_timeout = NULL;
@ -2566,7 +2564,6 @@ static int if_init (netdevice_t* dev)
}
dev->watchdog_timeo = 2*HZ;
#endif
dev->do_ioctl = if_do_ioctl;
dev->change_mtu = if_change_mtu;
@ -3464,7 +3461,7 @@ static int if_do_ioctl(netdevice_t *dev, struct ifreq *ifr, int cmd)
*******************************************************************/
#define FIFO_RESET_TIMEOUT_CNT 1000
#define FIFO_RESET_TIMEOUT_CNT 500
#define FIFO_RESET_TIMEOUT_US 10
static int aft_init_rx_dev_fifo(sdla_t *card, private_area_t *chan, unsigned char wait)
{
@ -3900,8 +3897,10 @@ static void aft_tx_post_complete (sdla_t *card, private_area_t *chan, netskb_t *
}
if (reg & AFT_TXDMA_HI_DMA_LENGTH_MASK){
if (WAN_NET_RATELIMIT()){
DEBUG_EVENT("%s:%s: Error: TxDMA Length not equal 0 (reg=0x%08X)\n",
card->devname,chan->if_name,reg);
}
chan->errstats.Tx_dma_errors++;
}
@ -4201,7 +4200,7 @@ static void enable_timer (void* card_id)
return;
}
DEBUG_56K("%s: %s Sdla Polling %p!\n",__FUNCTION__,
DEBUG_TEST("%s: %s Sdla Polling %p!\n",__FUNCTION__,
card->devname,
card->wandev.fe_iface.polling);
@ -4768,6 +4767,51 @@ chan->rx_dma_chain_table[chan->rx_chain_indx].dma_addr,
return;
}
#if 1
static void front_end_interrupt(sdla_t *card, unsigned long reg, int lock)
{
void **card_list;
u32 max_number_of_ports, i;
sdla_t *tmp_card;
max_number_of_ports = 8; /* 24 */
card_list=__sdla_get_ptr_isr_array(card->hw);
DEBUG_TEST("%s(): card_list ptr: 0x%p\n", __FUNCTION__, card_list);
for (i=0; i<max_number_of_ports; i++) {
tmp_card=(sdla_t*)card_list[i];
if (tmp_card == NULL || wan_test_bit(CARD_DOWN,&tmp_card->wandev.critical)) {
continue;
}
DEBUG_TEST("%s(): card ptr: %s, tmp_card ptr: %s\n", __FUNCTION__, card->devname, tmp_card->devname);
if (tmp_card->wandev.fe_iface.check_isr &&
tmp_card->wandev.fe_iface.check_isr(&tmp_card->fe)) {
if (tmp_card->wandev.fe_iface.isr &&
tmp_card->wandev.fe_iface.isr(&tmp_card->fe)) {
if (lock) {
wan_smp_flag_t smp_flags;
wan_spin_lock_irq(&tmp_card->wandev.lock,&smp_flags);
handle_front_end_state(tmp_card);
wan_spin_unlock_irq(&tmp_card->wandev.lock,&smp_flags);
} else {
handle_front_end_state(tmp_card);
}
}
}
}
return;
}
#else
static void front_end_interrupt(sdla_t *card, unsigned long reg, int lock)
{
@ -4785,6 +4829,8 @@ static void front_end_interrupt(sdla_t *card, unsigned long reg, int lock)
}
return;
}
#endif
/**SECTION***************************************************************
*
* HARDWARE Interrupt Handlers
@ -4872,17 +4918,13 @@ static WAN_IRQ_RETVAL wp_aft_global_isr (sdla_t* card)
#endif
fe_intr=1;
/*FIXME: Give Alex the reg to acknowledge remoras */
if (card->wandev.fe_iface.check_isr &&
card->wandev.fe_iface.check_isr(&card->fe)){
#if defined(__LINUX__)
wan_set_bit(AFT_FE_INTR,&card->u.aft.port_task_cmd);
WAN_TASKQ_SCHEDULE((&card->u.aft.port_task));
__aft_fe_intr_ctrl(card,0);
wan_set_bit(AFT_FE_INTR,&card->u.aft.port_task_cmd);
WAN_TASKQ_SCHEDULE((&card->u.aft.port_task));
__aft_fe_intr_ctrl(card,0);
#else
front_end_interrupt(card,reg,0);
front_end_interrupt(card,reg,0);
#endif
}
}
}
@ -5942,6 +5984,31 @@ static void port_set_state (sdla_t *card, int state)
}
}
/*============================================================
* callback_front_end_state
*
* Called by front end code to indicate that state has
* changed. We will call the poll task to update the state.
*/
static void callback_front_end_state(void *card_id)
{
sdla_t *card = (sdla_t*)card_id;
if (wan_test_bit(CARD_DOWN,&card->wandev.critical)){
return;
}
/* Call the poll task to update the state */
wan_set_bit(AFT_FE_POLL,&card->u.aft.port_task_cmd);
WAN_TASKQ_SCHEDULE((&card->u.aft.port_task));
return;
}
/*============================================================
* handle_front_end_state
*
@ -6777,16 +6844,9 @@ static int update_comms_stats(sdla_t* card)
card->wandev.fe_iface.read_alarm(&card->fe, 0);
}
/* TE1 Update T1/E1 perfomance counters */
#if 0
#warning "PMON DISABLED DUE TO ERROR"
#else
if (card->wandev.fe_iface.read_pmon) {
wan_smp_flag_t flags;
wan_spin_lock_irq(&card->wandev.lock,&flags);
card->wandev.fe_iface.read_pmon(&card->fe, 0);
wan_spin_unlock_irq(&card->wandev.lock,&flags);
}
#endif
card->hw_iface.hw_unlock(card->hw,&smp_flags);
}
@ -9004,7 +9064,7 @@ static void aft_port_task (void * card_ptr, int arg)
return;
}
DEBUG_56K("%s: PORT TASK: 0x%X\n", card->devname,card->u.aft.port_task_cmd);
DEBUG_TEST("%s: PORT TASK: 0x%X\n", card->devname,card->u.aft.port_task_cmd);
#ifdef AFT_IRQ_STAT_DEBUG
card->wandev.stats.rx_missed_errors++;

View File

@ -4970,7 +4970,7 @@ static void wanpipe_tty_receive(sdla_t *card, unsigned addr, unsigned int len)
if (net_ratelimit()){
printk(KERN_INFO
"%s: Received packet size too big: %i bytes, Max: %i!\n",
card->devname,len,TTY_FLIPBUF_SIZE);
card->devname,len,TTY_CHDLC_MAX_MTU);
}
return;
}
@ -4981,11 +4981,11 @@ static void wanpipe_tty_receive(sdla_t *card, unsigned addr, unsigned int len)
}
#endif
#else
if ((tty->flip.count+len) >= TTY_FLIPBUF_SIZE){
if ((tty->flip.count+len) >= TTY_CHDLC_MAX_MTU){
if (net_ratelimit()){
printk(KERN_INFO
"%s: Received packet size too big: %i bytes, Max: %i!\n",
card->devname,len,TTY_FLIPBUF_SIZE);
card->devname,len,TTY_CHDLC_MAX_MTU);
}
return;
}
@ -5054,7 +5054,7 @@ static void wanpipe_tty_receive(sdla_t *card, unsigned addr, unsigned int len)
if (net_ratelimit()){
printk(KERN_INFO
"%s: Received packet size too big: %i bytes, Max: %i!\n",
card->devname,len,TTY_FLIPBUF_SIZE);
card->devname,len,TTY_CHDLC_MAX_MTU);
}
return;
}

View File

@ -1846,9 +1846,9 @@ static int sdla_rm_add_timer(sdla_fe_t* fe, unsigned long delay)
static int wp_remora_polling(sdla_fe_t* fe)
{
#if defined(CONFIG_PRODUCT_WANPIPE_TDM_VOICE)
sdla_t *card = (sdla_t*)fe->card;
int err = 0;
#endif
sdla_t *card = (sdla_t*)fe->card;
sdla_fe_timer_event_t *fe_event;
wan_smp_flag_t smp_flags;
int pending = 0, mod_no = 0;
@ -1864,6 +1864,7 @@ static int wp_remora_polling(sdla_fe_t* fe)
DEBUG_EVENT("%s: %s:%d: ---------------STOP ----------------------\n",
fe->name, __FUNCTION__,__LINE__);
#endif
wan_spin_lock_irq(&fe->lock,&smp_flags);
if (WAN_LIST_EMPTY(&fe->event)){
wan_clear_bit(WP_RM_TIMER_EVENT_PENDING,(void*)&fe->rm_param.critical);
@ -1876,6 +1877,9 @@ static int wp_remora_polling(sdla_fe_t* fe)
fe_event = WAN_LIST_FIRST(&fe->event);
WAN_LIST_REMOVE(fe_event, next);
wan_spin_unlock_irq(&fe->lock,&smp_flags);
wan_spin_lock_irq(&card->wandev.lock,&smp_flags);
mod_no = fe_event->rm_event.mod_no;
DEBUG_RM("%s: Module %d: RM Polling State=%s Cmd=0x%X!\n",
@ -2067,12 +2071,9 @@ static int wp_remora_polling(sdla_fe_t* fe)
#if defined(__WINDOWS__)
//done with the event, reset the pointer.
fe->rm_param.mod[mod_no].current_control_event_ptr = NULL;
wan_spin_lock_irq(&card->wandev.lock,&smp_flags);
card->event_control_running = 0;
wan_spin_unlock_irq(&card->wandev.lock,&smp_flags);
#endif
return -EINVAL;
break;
}
if ((fe_event->mode && !fe->fe_cfg.cfg.remora.reversepolarity) ||
@ -2117,6 +2118,8 @@ static int wp_remora_polling(sdla_fe_t* fe)
break;
}
wan_spin_unlock_irq(&card->wandev.lock,&smp_flags);
#if defined(__WINDOWS__)
//done with the event, reset the pointer.
fe->rm_param.mod[mod_no].current_control_event_ptr = NULL;

View File

@ -2044,7 +2044,9 @@ unsigned int sdla_hw_probe(void)
#if defined(__LINUX__)
sdlahw_card_t tmp_hwcard;
sdlahw_t tmp_hw;
#if defined(WAN_ISA_SUPPORT)
unsigned* opt = s508_port_options;
#endif
unsigned int cardno=0;
int i;
@ -2058,6 +2060,7 @@ unsigned int sdla_hw_probe(void)
tmp_hw.hwcard = &tmp_hwcard;
tmp_hw.magic = SDLADRV_MAGIC;
#if defined(WAN_ISA_SUPPORT)
for (i = 1; i <= opt[0]; i++) {
tmp_hwcard.hw_type = SDLA_ISA_CARD;
tmp_hwcard.ioport = opt[i];
@ -2095,6 +2098,7 @@ unsigned int sdla_hw_probe(void)
}
tmp_hwcard.ioport = 0x00;
}
#endif
# ifdef CONFIG_PCI
tmp_hwcard.hw_type = SDLA_PCI_CARD;
@ -5697,6 +5701,22 @@ static sdlahw_t* sdla_find_adapter(wandev_conf_t* conf, char* devname)
goto adapter_found;
}
if (conf->card_type == WANOPT_S51X &&
IS_56K_MEDIA(&conf->fe_cfg) &&
hw->hwcard->slot_no == conf->PCI_slot_no &&
hw->hwcard->bus_no == conf->pci_bus_no &&
hw->hwcard->cfg_type == WANOPT_AFT_56K) {
/* Remap the old 56K card type to standard
AFT 56K Shark style. We are allowing
and old config file for 56K */
conf->card_type = WANOPT_AFT_56K;
conf->config_id = WANCONFIG_AFT_56K;
conf->fe_cfg.line_no=1;
goto adapter_found;
}
if ((hw->hwcard->slot_no == conf->PCI_slot_no) &&
(hw->hwcard->bus_no == conf->pci_bus_no) &&
(hw->cpu_no == cpu_no) &&

View File

@ -2120,12 +2120,14 @@ int wan_run_wanrouter(char * hwdevname, char *devname, char *action)
__FUNCTION__);
return -EINVAL;
}
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)
if (!current->fs->root) {
/* statically linked USB is initted rather early */
DEBUG_EVENT ("%s: Error: no FS yet",__FUNCTION__);
return -ENODEV;
}
#endif
if (!(envp = (char **) kmalloc (20 * sizeof (char *), GFP_KERNEL))) {
DEBUG_EVENT ("%s: Error: no memory!",__FUNCTION__);

View File

@ -760,7 +760,7 @@ static int probe_get_info(char* buf, char** start, off_t offs, int len, int dumm
hw_cnt=(sdla_hw_type_cnt_t*)sdla_get_hw_adptr_cnt();
PROC_ADD_LINE(m,
"\nCard Cnt: S508=%-2d S514X=%-2d S518=%-2d A101-2=%-2d A104=%-2d A300=%-2d A200=%-2d A108=%-2d\n",
"\nCard Cnt: S508=%-2d S514X=%-2d S518=%-2d A101-2=%-2d A104=%-2d A300=%-2d A200=%-2d A108=%-2d A056=%-2d\n",
hw_cnt->s508_adapters,
hw_cnt->s514x_adapters,
hw_cnt->s518_adapters,
@ -768,7 +768,9 @@ static int probe_get_info(char* buf, char** start, off_t offs, int len, int dumm
hw_cnt->aft104_adapters,
hw_cnt->aft300_adapters,
hw_cnt->aft200_adapters,
hw_cnt->aft108_adapters);
hw_cnt->aft108_adapters,
hw_cnt->aft_56k_adapters);
#ifdef WAN_DEBUG_MEM
PROC_ADD_LINE(m,

View File

@ -1,6 +1,6 @@
%define WANPIPE_VER wanpipe-modules
%define name %{WANPIPE_VER}
%define version 3.2.5
%define version 3.2.6
%define release 0
%define serial 1
%define MODULES_DIR /lib/modules
@ -50,6 +50,58 @@ echo "Wanpipe Modules located in %{MODULES_DIR}/%{KVERSION}"
%changelog
* Thu Jun 4 2008 Nenad Corbic <ncorbic@sangoma.com> - Stable - 3.2.6
========================================================================
- Updated hwprobe to add A056 card
- Updated for 2.6.25 kernel
- wanpipemon PRI/BRI wireshark tracing
http://wiki.sangoma.com/wanpipe-wireshark-pcap-pri-bri-wan-t1-e1-tracing
- LIP Layer Update
Optimized packet handling in bh
- Fixed WAN Protocol for 2.6.24 kernels and higher
- AFT TE1 Code
Defaulted Maxim T1 Rx Level to 36DB
Defaulted Maxim E1 Rx Level to 42DB
This will improve T1/E1 connectivity on noisy or low power lines.
- Wanpipemon PRI/BRI PCAP Tracing for Wireshark
Using wanpipemon dchan trace one can now capture
pcap files that can be opened by Wireshark.
http://wiki.sangoma.com/wanpipe-wireshark-pcap-pri-bri-wan-t1-e1-tracing
- Add pci parity check to wanrouter
wanrouter parity -> displays current system pci parity
wanrouter parity off -> disables system pci parity
wanrouter parity on -> enables system pci parity
/etc/wanpipe/wanrouter.rc
WAN_PCI_PARITY=OFF -> on wanrouter start disable pci parity
-> event logged in /var/log/wanrouter
On some servers pci parity can cause NMI interrupts that
can lead to reboots. Parity can be caused by unsuported
or buggy pci/bridge chipsets. The above commands can be used
to combat pci parity reboots.
Another option is to disable PCI parity in BIOS :)
* Thu Apr 4 2008 Nenad Corbic <ncorbic@sangoma.com> - Stable - 3.2.5.1
========================================================================
- RTP TAP Bug fix
The driver was sending out invalid rtp tap header
http://wiki.sangoma.com/wanpipe-voice-rtp-tap
* Thu Apr 2 2008 Nenad Corbic <ncorbic@sangoma.com> - Stable - 3.2.5
========================================================================

View File

@ -1,7 +1,7 @@
%define KERNEL_VERSION %{?kern_ver}
%define WANPIPE_VER wanpipe-util
%define name %{WANPIPE_VER}
%define version 3.2.5
%define version 3.2.6
%define release 0
%define serial 1
%define ETC_DIR /etc
@ -246,6 +246,58 @@ install_init;
%changelog
* Thu Jun 4 2008 Nenad Corbic <ncorbic@sangoma.com> - Stable - 3.2.6
========================================================================
- Updated hwprobe to add A056 card
- Updated for 2.6.25 kernel
- wanpipemon PRI/BRI wireshark tracing
http://wiki.sangoma.com/wanpipe-wireshark-pcap-pri-bri-wan-t1-e1-tracing
- LIP Layer Update
Optimized packet handling in bh
- Fixed WAN Protocol for 2.6.24 kernels and higher
- AFT TE1 Code
Defaulted Maxim T1 Rx Level to 36DB
Defaulted Maxim E1 Rx Level to 42DB
This will improve T1/E1 connectivity on noisy or low power lines.
- Wanpipemon PRI/BRI PCAP Tracing for Wireshark
Using wanpipemon dchan trace one can now capture
pcap files that can be opened by Wireshark.
http://wiki.sangoma.com/wanpipe-wireshark-pcap-pri-bri-wan-t1-e1-tracing
- Add pci parity check to wanrouter
wanrouter parity -> displays current system pci parity
wanrouter parity off -> disables system pci parity
wanrouter parity on -> enables system pci parity
/etc/wanpipe/wanrouter.rc
WAN_PCI_PARITY=OFF -> on wanrouter start disable pci parity
-> event logged in /var/log/wanrouter
On some servers pci parity can cause NMI interrupts that
can lead to reboots. Parity can be caused by unsuported
or buggy pci/bridge chipsets. The above commands can be used
to combat pci parity reboots.
Another option is to disable PCI parity in BIOS :)
* Thu Apr 4 2008 Nenad Corbic <ncorbic@sangoma.com> - Stable - 3.2.5.1
========================================================================
- RTP TAP Bug fix
The driver was sending out invalid rtp tap header
http://wiki.sangoma.com/wanpipe-voice-rtp-tap
* Thu Apr 2 2008 Nenad Corbic <ncorbic@sangoma.com> - Stable - 3.2.5
========================================================================

View File

@ -1,7 +1,7 @@
%define KERNEL_VERSION %{?kern_ver}
%define WANPIPE_VER wanpipe
%define name %{WANPIPE_VER}
%define version 3.2.5
%define version 3.2.6
%define release 0
%define serial 1
%define UTILS_DIR /usr/sbin
@ -254,6 +254,58 @@ install_init;
%changelog
* Thu Jun 4 2008 Nenad Corbic <ncorbic@sangoma.com> - Stable - 3.2.6
========================================================================
- Updated hwprobe to add A056 card
- Updated for 2.6.25 kernel
- wanpipemon PRI/BRI wireshark tracing
http://wiki.sangoma.com/wanpipe-wireshark-pcap-pri-bri-wan-t1-e1-tracing
- LIP Layer Update
Optimized packet handling in bh
- Fixed WAN Protocol for 2.6.24 kernels and higher
- AFT TE1 Code
Defaulted Maxim T1 Rx Level to 36DB
Defaulted Maxim E1 Rx Level to 42DB
This will improve T1/E1 connectivity on noisy or low power lines.
- Wanpipemon PRI/BRI PCAP Tracing for Wireshark
Using wanpipemon dchan trace one can now capture
pcap files that can be opened by Wireshark.
http://wiki.sangoma.com/wanpipe-wireshark-pcap-pri-bri-wan-t1-e1-tracing
- Add pci parity check to wanrouter
wanrouter parity -> displays current system pci parity
wanrouter parity off -> disables system pci parity
wanrouter parity on -> enables system pci parity
/etc/wanpipe/wanrouter.rc
WAN_PCI_PARITY=OFF -> on wanrouter start disable pci parity
-> event logged in /var/log/wanrouter
On some servers pci parity can cause NMI interrupts that
can lead to reboots. Parity can be caused by unsuported
or buggy pci/bridge chipsets. The above commands can be used
to combat pci parity reboots.
Another option is to disable PCI parity in BIOS :)
* Thu Apr 4 2008 Nenad Corbic <ncorbic@sangoma.com> - Stable - 3.2.5.1
========================================================================
- RTP TAP Bug fix
The driver was sending out invalid rtp tap header
http://wiki.sangoma.com/wanpipe-voice-rtp-tap
* Thu Apr 2 2008 Nenad Corbic <ncorbic@sangoma.com> - Stable - 3.2.5
========================================================================

View File

@ -1752,6 +1752,78 @@ function wanrouter_if_debug()
fi
}
pci_parity_ctrl ()
{
local parity_cmd;
local pdev;
local IDS;
local verbosity=${2:-1}
if [ $OSYSTEM != "Linux" ]; then
echo "Error: PCI Parity Ctrl only available on Linux"
echo
return
fi
IDS=`lspci | cut -d' ' -f1`
if [ -z $1 ]; then
echo "Displaying System PCI Parity Configuration";
echo "=========================================="
echo
lspci -vvv | grep Parity
echo
echo "=========================================="
return
fi
parity_cmd=${1:-"off"}
if [ $parity_cmd != "on" ]; then
parity_cmd="off";
fi
eval "type setpci 2> /dev/null > /dev/null"
if [ $? -ne 0 ]; then
echo "Parity Set Error: setpci utility not found!"
return
fi
if [ $verbosity -gt 0 ]; then
echo "Setting PCI Parity to $parity_cmd";
fi
for pdev in $IDS
do
if [ "$parity_cmd" = "on" ]; then
eval "setpci -s $pdev 3e.b=0x7"
else
eval "setpci -s $pdev 3e.b=0x4"
fi
done
return
}
wanrouter_pre_start()
{
if [ "$WAN_PCI_PARITY" = "OFF" ]; then
echo "Wanrouter: Disabling PCI Parity on Start!" >> $WAN_LOG;
pci_parity_ctrl "off" 0
elif [ "$WAN_PCI_PARITY" = "ON" ]; then
echo "Wanrouter: Enabling PCI Parity on Start!" >> $WAN_LOG;
pci_parity_ctrl "on" 0
fi
}
function wanrouter_debug ()
{
local err=0
@ -2106,7 +2178,7 @@ WANPIPE_IS_RUNNING=/var/run/wanpipe_is_running
RUGGEDCOM=No
if [ $OSYSTEM = "Linux" ]; then
ROUTER_VERSION=3.2.5
ROUTER_VERSION=3.2.6
IFCONFIG_LIST=ifconfig
MODULE_STAT=lsmod
WAN_DRIVERS="wanpipe"
@ -2375,6 +2447,8 @@ case "$1" in
cleanup 2
fi
wanrouter_pre_start
config_devices $WAN_DEVICES
config_interfaces $WAN_DEVICES
@ -2411,6 +2485,8 @@ case "$1" in
dev="wanpipe$ft1_or_wanpipe"
fi
wanrouter_pre_start
config_devices $dev
if [ $? -ne 0 ]; then
cleanup 3
@ -2456,6 +2532,8 @@ case "$1" in
echo -e "\nInterface $if_name is already up!\n"
cleanup 1
fi
wanrouter_pre_start
echo "Configuring interface: $if_name"
@ -2851,6 +2929,11 @@ case "$1" in
cleanup 0;
;;
parity)
pci_parity_ctrl $2
;;
wanrc)
config_wanrouter_rc

View File

@ -1,4 +1,4 @@
Channel: WOOMERA/GROUP/LOCAL_EXT
Channel: ZAP/26/LOCAL_EXT
Callerid: "CALLERIDNAME" <CALLERID>
priority: 1
MaxRetries: 1

View File

@ -7,5 +7,5 @@ smgss7_init_ctrl
K 25
svn:wc:ra_dav:version-url
V 66
/svn/sangoma_mgd/!svn/ver/67/trunk/scripts/init.d/smgss7_init_ctrl
/svn/sangoma_mgd/!svn/ver/81/trunk/scripts/init.d/smgss7_init_ctrl
END

View File

@ -28,14 +28,14 @@ svn:special svn:externals svn:needs-lock
smgss7_init_ctrl
file
67
81
2008-02-15T22:44:16.000000Z
a253e9c4610d3b73c3daf776c3ccf81c
2008-02-15T22:37:32.111798Z
67
2008-05-27T08:39:34.000000Z
610a76c921da642638013570ad111e41
2008-05-27T08:52:13.454204Z
81
ncorbic
has-props

View File

@ -34,6 +34,7 @@ arg2=$2
NICE="nice -n -15 "
RENICE="renice -15 -p "
ulimit -n 65536
function usage
{

View File

@ -34,6 +34,7 @@ arg2=$2
NICE="nice -n -15 "
RENICE="renice -15 -p "
ulimit -n 65536
function usage
{

File diff suppressed because it is too large Load Diff

100
util/wancfg_zaptel/diff Normal file
View File

@ -0,0 +1,100 @@
--- wancfg_zaptel.pl.old 2008-03-18 19:16:59.000000000 -0400
+++ wancfg_zaptel.pl 2008-05-23 14:38:23.000000000 -0400
@@ -9,6 +9,8 @@
# as published by the Free Software Foundation; either version
# 2 of the License, or (at your option) any later version.
# ----------------------------------------------------------------------------
+# May 22 2008 2.12 Jignesh Patel Added confirmation check /dev/zap* for hardhdlc
+# May 22 2008 2.12 Jignesh Patel Update zaptel module list
# Jan 02 2008 2.11 David Yat Sin Support for per span configuration in silent mode
# Jan 02 2008 2.10 David Yat Sin Added option for BRI master clock
# Dec 15 2007 2.9 David Yat Sin Support for Zaptel hardware hdlc for Zaptel 1.4
@@ -30,9 +32,9 @@
system('clear');
print "\n#############################################i##########################";
print "\n# Sangoma Wanpipe: Zaptel/SMG/TDMAPI/BOOT Configuration Script #";
-print "\n# v2.10 #";
+print "\n# v2.12 #";
print "\n# Sangoma Technologies Inc. #";
-print "\n# Copyright(c) 2007. #";
+print "\n# Copyright(c) 2008. #";
print "\n########################################################################\n\n";
use strict;
@@ -255,11 +257,31 @@
sub set_zaptel_hwhdlc{
- if ((system("ztcfg -t -c $current_dir/templates/zaptel.conf_test > /dev/null 2>/dev/null")==0)){
+ print "Checking for native zaptel hardhdlc support...";
+ my $cnt = 0;
+ while ($cnt++ < 30) {
+ if ((system("ls /dev/zap* > /dev/null 2> /dev/null")) == 0) {
+ goto wait_done;
+ } else {
+ print "." ;
+ sleep(1);
+ }
+ }
+ print "Error";
+ print "\n\n No /dev/zap* Found on the system \n";
+ printf " Contact Sangoma Support\n";
+ print " Send e-mail to techdesk\@sangoma\.com \n\n";
+ exit 1;
+wait_done:
+
+ if ((system("ztcfg -t -c $current_dir/templates/zaptel.conf_test > /dev/null 2>/dev/null")==0)){
$dchan_str="hardhdlc";
+ print "Yes \n\n";
+
+ } else {
+ print "No \n\n";
}
}
-
sub config_boot{
if($no_boot==$TRUE){
return 1;
@@ -897,7 +919,8 @@
}
sub unload_zap_modules{
- my @modules_list = ("ztdummy","wctdm","wcfxo","wcte11xp","wct1xxp","wct4xxp","tor2","zttranscode","wcusb", "wctdm24xxp", "zaptel");
+ my @modules_list = ("ztdummy","wctdm","wcfxo","wcte11xp","wct1xxp","wct4xxp","tor2","zttranscode","wcusb", "wctdm24xxp","xpp_usb","xpp" ,"wcte12xp","opvxa1200", "zaptel");
+
foreach my $module (@modules_list) {
if ($modprobe_list =~ m/$module/){
exec_command("$module_unload $module");
@@ -949,7 +972,7 @@
print(" $num_bri_devices_total ISDN BRI port(s) detected, $num_bri_devices configured\n");
print(" $num_analog_devices_total analog card(s) detected, $num_analog_devices configured\n");
- print "\nConfigurator has created the following files:\n";
+ print "\nConfigurator will create the following files:\n";
print "\t1. Wanpipe config files in $wanpipe_conf_dir\n";
$file_list++;
@@ -982,12 +1005,21 @@
print "\nYour configuration has been saved in $debug_tarball.\n";
print "When requesting support, email this file to techdesk\@sangoma.com\n\n";
if($silent==$FALSE){
- prompt_user("Press any key to continue");
+ confirm_conf();
}
}
}
-
+sub confirm_conf(){
+ print "Configuration Complete! Please select following:\n";
+ if(&prompt_user_list("YES - Continue", "NO - Exit" ,"") =~ m/YES/){
+ return $?;
+ } else {
+ print "No changes made to your configuration files\n";
+ print "exiting.....\n";
+ exit $?;
+ }
+}
sub exec_command{
my @command = @_;
if (system(@command) != 0 ){

View File

@ -31,6 +31,8 @@ FE_MEDIA = FXO/FXS
TDMV_LAW = TDM_LAW
TDMV_OPERMODE = TDM_OPERMODE
RM_NETWORK_SYNC = RMNETSYNC
RM_BATTTHRESH = 3
RM_BATTDEBOUNCE = 16
MTU = 1500
UDPPORT = 9000
TTL = 255

View File

@ -9,6 +9,8 @@
# as published by the Free Software Foundation; either version
# 2 of the License, or (at your option) any later version.
# ----------------------------------------------------------------------------
# May 22 2008 2.12 Jignesh Patel Added confirmation check /dev/zap* for hardhdlc
# May 22 2008 2.12 Jignesh Patel Update zaptel module list
# Jan 02 2008 2.11 David Yat Sin Support for per span configuration in silent mode
# Jan 02 2008 2.10 David Yat Sin Added option for BRI master clock
# Dec 15 2007 2.9 David Yat Sin Support for Zaptel hardware hdlc for Zaptel 1.4
@ -30,9 +32,9 @@
system('clear');
print "\n#############################################i##########################";
print "\n# Sangoma Wanpipe: Zaptel/SMG/TDMAPI/BOOT Configuration Script #";
print "\n# v2.10 #";
print "\n# v2.12 #";
print "\n# Sangoma Technologies Inc. #";
print "\n# Copyright(c) 2007. #";
print "\n# Copyright(c) 2008. #";
print "\n########################################################################\n\n";
use strict;
@ -255,11 +257,31 @@ print "Sangoma cards configuration complete, exiting...\n\n";
sub set_zaptel_hwhdlc{
if ((system("ztcfg -t -c $current_dir/templates/zaptel.conf_test > /dev/null 2>/dev/null")==0)){
print "Checking for native zaptel hardhdlc support...";
my $cnt = 0;
while ($cnt++ < 30) {
if ((system("ls /dev/zap* > /dev/null 2> /dev/null")) == 0) {
goto wait_done;
} else {
print "." ;
sleep(1);
}
}
print "Error";
print "\n\n No /dev/zap* Found on the system \n";
printf " Contact Sangoma Support\n";
print " Send e-mail to techdesk\@sangoma\.com \n\n";
exit 1;
wait_done:
if ((system("ztcfg -t -c $current_dir/templates/zaptel.conf_test > /dev/null 2>/dev/null")==0)){
$dchan_str="hardhdlc";
print "Yes \n\n";
} else {
print "No \n\n";
}
}
sub config_boot{
if($no_boot==$TRUE){
return 1;
@ -897,7 +919,8 @@ sub copy_config_files{
}
sub unload_zap_modules{
my @modules_list = ("ztdummy","wctdm","wcfxo","wcte11xp","wct1xxp","wct4xxp","tor2","zttranscode","wcusb", "wctdm24xxp", "zaptel");
my @modules_list = ("ztdummy","wctdm","wcfxo","wcte11xp","wct1xxp","wct4xxp","tor2","zttranscode","wcusb", "wctdm24xxp","xpp_usb","xpp" ,"wcte12xp","opvxa1200", "zaptel");
foreach my $module (@modules_list) {
if ($modprobe_list =~ m/$module/){
exec_command("$module_unload $module");
@ -949,7 +972,7 @@ sub summary{
print(" $num_bri_devices_total ISDN BRI port(s) detected, $num_bri_devices configured\n");
print(" $num_analog_devices_total analog card(s) detected, $num_analog_devices configured\n");
print "\nConfigurator has created the following files:\n";
print "\nConfigurator will create the following files:\n";
print "\t1. Wanpipe config files in $wanpipe_conf_dir\n";
$file_list++;
@ -982,12 +1005,21 @@ sub summary{
print "\nYour configuration has been saved in $debug_tarball.\n";
print "When requesting support, email this file to techdesk\@sangoma.com\n\n";
if($silent==$FALSE){
prompt_user("Press any key to continue");
confirm_conf();
}
}
}
sub confirm_conf(){
print "Configuration Complete! Please select following:\n";
if(&prompt_user_list("YES - Continue", "NO - Exit" ,"") =~ m/YES/){
return $?;
} else {
print "No changes made to your configuration files\n";
print "exiting.....\n";
exit $?;
}
}
sub exec_command{
my @command = @_;
if (system(@command) != 0 ){

File diff suppressed because it is too large Load Diff

View File

View File

@ -1523,8 +1523,8 @@ static void print_pcap_record_header(wp_trace_output_iface_t *trace_iface)
struct pcaprec_hdr ph;
/* Write PCap header */
ph.ts_sec = trace_iface->pkts_written;
ph.ts_usec = trace_iface->pkts_written;
ph.ts_sec = trace_iface->sec;
ph.ts_usec = trace_iface->usec;
ph.incl_len = trace_iface->len;
ph.orig_len = trace_iface->len;
@ -1749,11 +1749,39 @@ static int decode_ppp(wp_trace_output_iface_t *trace_iface,
}
#ifndef ETH_P_LAPD
#define ETH_P_LAPD 0x0030
#endif
#define LAPD_SLL_PKTTYPE_OFFSET 0 /* packet type - 2 bytes */
#define LAPD_SLL_HATYPE_OFFSET 2 /* hardware address type - 2 bytes */
#define LAPD_SLL_HALEN_OFFSET 4 /* hardware address length - 2 bytes */
#define LAPD_SLL_ADDR_OFFSET 6 /* address - 8 bytes */
#define LAPD_SLL_PROTOCOL_OFFSET 14 /* protocol, should be ETH_P_LAPD - 2 bytes */
#define LAPD_SLL_LEN 16 /* length of the header */
#undef phtons
#define phtons(p, v) \
{ \
((uint8_t*)(p))[0] = (uint8_t)((v) >> 8); \
((uint8_t*)(p))[1] = (uint8_t)((v) >> 0); \
}
#undef pntohs
#define pntohs(p) ((guint16) \
((guint16)*((const uint8_t *)(p)+0)<<8| \
(guint16)*((const uint8_t *)(p)+1)<<0))
void wp_trace_output(wp_trace_output_iface_t *trace_iface)
{
//int num_chars;
//int j;
int trace_started=0;
uint8_t lapd_hdr[LAPD_SLL_LEN];
memset(lapd_hdr,0,sizeof(lapd_hdr));
try_trace_again:
@ -1852,13 +1880,44 @@ try_trace_again:
}
print_pcap_file_header(trace_iface);
printf("Staring PCAP File Trace in: %s\n\n",
pcap_output_file_name);
if (pcap_prot == 177) {
printf("Staring PCAP Prot=ISDN Reference=%s File Trace in: %s\n\n",
pcap_isdn_network?"Net":"CPE", pcap_output_file_name);
}else{
printf("Staring PCAP Prot=%i File Trace in: %s\n\n",
pcap_prot, pcap_output_file_name);
}
trace_iface->init=1;
}
if (pcap_prot == 177) {
if (trace_iface->status) {
/* Outgoing */
phtons(&lapd_hdr[LAPD_SLL_PKTTYPE_OFFSET], 4); //pseudo_header->lapd.pkttype);
} else {
/* Incoming */
phtons(&lapd_hdr[LAPD_SLL_PKTTYPE_OFFSET], 0); //pseudo_header->lapd.pkttype);
}
phtons(&lapd_hdr[LAPD_SLL_PROTOCOL_OFFSET], ETH_P_LAPD);
/* User specified Network or CPE */
lapd_hdr[LAPD_SLL_ADDR_OFFSET + 0] = pcap_isdn_network; //pseudo_header->lapd.we_network?0x01:0x00;
trace_iface->len += sizeof(lapd_hdr);
}
print_pcap_record_header(trace_iface);
if (pcap_prot == 177) {
fwrite(&lapd_hdr[0], sizeof(lapd_hdr), 1, trace_iface->output_file);
trace_iface->len -= sizeof(lapd_hdr);
}
fwrite(&trace_iface->data[0], trace_iface->len, 1, trace_iface->output_file);
printf("\rTotal Captured=%-5u (Len=%i)",trace_iface->pkts_written+1,trace_iface->len);

BIN
util/wanpipemon/trace.pcap Normal file

Binary file not shown.

View File

@ -116,6 +116,7 @@ int annexg_trace =0;
int pcap_output=0;
int pcap_prot=0;
int pcap_isdn_network=0;
FILE *pcap_output_file;
char pcap_output_file_name[50];
@ -129,6 +130,8 @@ trace_prot_t trace_prot_opt[]={
{"CHDLC", CHDLC,104},
{"ETH", ETH, 1},
{"IP", IP,12},
{"LAPD", LAPD, 177},
{"ISDN", LAPD, 177},
{"",-1},
};
@ -954,6 +957,10 @@ static int init(int argc, char *argv[], char* command)
}else if (!strcmp(argv[i], "-pcap")){
pcap_output=1;
}else if (!strcmp(argv[i], "-pcap_isdn_network")) {
pcap_isdn_network=1;
}else if (!strcmp(argv[i], "-pcap_file")){

View File

@ -68,6 +68,7 @@ extern char *csudsu_menu[];
extern int pcap_output;
extern int pcap_prot;
extern int pcap_isdn_network;
extern FILE *pcap_output_file;
extern char pcap_output_file_name[];
@ -357,6 +358,7 @@ static inline unsigned char set_wan_udphdr_data_byte(unsigned char off, unsigned
#define CHDLC 0x10
#define ETH 0x20
#define IP 0x40
#define LAPD 0x80
#define ALL_PROT (FRAME|LAPB|X25|PPP|CHDLC);
#define DATA 0x1
@ -467,6 +469,15 @@ typedef struct {
#define SLARP_REPLY 1
#define SLARP_KEEPALIVE 2
#ifndef LONG_MAX
#define LONG_MAX ((long)(~0UL>>1))
#endif
#ifndef LONG_MIN
#define LONG_MIN (-LONG_MAX - 1)
#endif
//extern void decode_pkt (unsigned char *data,int len,
// unsigned char status, unsigned int timestamp, int protocol);