lantiq: ltq-tapi: add customer pulse digit time
With this patch you can change the pulse digit time by loading the Lantiq FXS driver kernel module called ltq-tapi. This is relevant for old rotaryphones that uses pulsedialing. The default values are: 30-80ms for the low pulse 30-80ms for the high pulse 300ms for minimum Interdigit time this is OK but on some Phones it can be usefull to customize the values If you want to change the values to high and low pulse to 40-90ms and minimum interdigit time to 400ms than change /etc/modules.d/20-ltq-tapi to (without linebrakes): drv_tapi min_digit_low=40 min_digit_high=90 max_digit_low=40 \ max_digit_high=90 min_interdigit=400 Signed-off-by: Jonas Albrecht <plonkbong100@protonmail.com>
This commit is contained in:
		 Jonas Albrecht
					Jonas Albrecht
				
			
				
					committed by
					
						 Hauke Mehrtens
						Hauke Mehrtens
					
				
			
			
				
	
			
			
			 Hauke Mehrtens
						Hauke Mehrtens
					
				
			
						parent
						
							dc7d431b60
						
					
				
				
					commit
					74a5718223
				
			| @@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/kernel.mk | ||||
|  | ||||
| PKG_NAME:=drv_tapi | ||||
| PKG_VERSION:=3.13.0 | ||||
| PKG_RELEASE:=4 | ||||
| PKG_RELEASE:=5 | ||||
|  | ||||
| PKG_SOURCE:=drv_tapi-$(PKG_VERSION).tar.bz2 | ||||
| PKG_SOURCE_URL:=@OPENWRT | ||||
|   | ||||
| @@ -0,0 +1,52 @@ | ||||
| --- a/src/drv_tapi.h | ||||
| +++ b/src/drv_tapi.h | ||||
| @@ -25,6 +25,7 @@ | ||||
|  #include <lib_bufferpool.h> | ||||
|  #include "drv_tapi_io.h" | ||||
|  #include "drv_tapi_event.h" | ||||
| +#include <linux/module.h> | ||||
|   | ||||
|   | ||||
|  /* ============================= */ | ||||
| --- a/src/drv_tapi_dial.c | ||||
| +++ b/src/drv_tapi_dial.c | ||||
| @@ -20,6 +20,19 @@ | ||||
|  #include "drv_tapi.h" | ||||
|  #include "drv_tapi_errno.h" | ||||
|   | ||||
| + | ||||
| + | ||||
| +static unsigned int min_digit_low = TAPI_MIN_DIGIT_LOW; | ||||
| +static unsigned int max_digit_low = TAPI_MAX_DIGIT_LOW; | ||||
| +static unsigned int min_digit_high = TAPI_MIN_DIGIT_HIGH; | ||||
| +static unsigned int max_digit_high = TAPI_MAX_DIGIT_HIGH; | ||||
| +static unsigned int min_interdigit = TAPI_MIN_INTERDIGIT; | ||||
| +module_param(min_digit_low, uint, 0); | ||||
| +module_param(max_digit_low, uint, 0); | ||||
| +module_param(min_digit_high, uint, 0); | ||||
| +module_param(max_digit_high, uint, 0); | ||||
| +module_param(min_interdigit, uint, 0); | ||||
| + | ||||
|  /*lint -save -esym(749, TAPI_HOOK_STATE_PULSE_H_FLASH_VAL) */ | ||||
|  /* ============================= */ | ||||
|  /* Local macros and definitions  */ | ||||
| @@ -408,14 +421,14 @@ IFX_int32_t IFX_TAPI_Dial_Initialise(TAP | ||||
|        } | ||||
|     } | ||||
|     /* set default values for the validation timers */ | ||||
| -   pTapiDialData->TapiDigitLowTime.nMinTime      = TAPI_MIN_DIGIT_LOW; | ||||
| -   pTapiDialData->TapiDigitLowTime.nMaxTime      = TAPI_MAX_DIGIT_LOW; | ||||
| -   pTapiDialData->TapiDigitHighTime.nMinTime     = TAPI_MIN_DIGIT_HIGH; | ||||
| -   pTapiDialData->TapiDigitHighTime.nMaxTime     = TAPI_MAX_DIGIT_HIGH; | ||||
| +   pTapiDialData->TapiDigitLowTime.nMinTime      = min_digit_low; | ||||
| +   pTapiDialData->TapiDigitLowTime.nMaxTime      = max_digit_low; | ||||
| +   pTapiDialData->TapiDigitHighTime.nMinTime     = min_digit_high; | ||||
| +   pTapiDialData->TapiDigitHighTime.nMaxTime     = max_digit_high; | ||||
|     pTapiDialData->TapiHookFlashTime.nMinTime     = TAPI_MIN_FLASH; | ||||
|     pTapiDialData->TapiHookFlashTime.nMaxTime     = TAPI_MAX_FLASH; | ||||
|     pTapiDialData->TapiHookFlashMakeTime.nMinTime = TAPI_MIN_FLASH_MAKE; | ||||
| -   pTapiDialData->TapiInterDigitTime.nMinTime    = TAPI_MIN_INTERDIGIT; | ||||
| +   pTapiDialData->TapiInterDigitTime.nMinTime    = min_interdigit; | ||||
|     pTapiDialData->TapiHookOffTime.nMinTime       = TAPI_MIN_OFF_HOOK; | ||||
|     pTapiDialData->TapiHookOnTime.nMinTime        = TAPI_MIN_ON_HOOK; | ||||
|     /* start hook state FSM in onhook state */ | ||||
		Reference in New Issue
	
	Block a user