[asterisk-bugs] [JIRA] (ASTERISK-22429) [patch] - chan_dahdi allows for updating both hw and sw gains, but dahdi show channel doesn't reflect changes

Richard Mudgett (JIRA) noreply at issues.asterisk.org
Wed Oct 9 11:45:05 CDT 2013


    [ https://issues.asterisk.org/jira/browse/ASTERISK-22429?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=210848#comment-210848 ] 

Richard Mudgett commented on ASTERISK-22429:
--------------------------------------------

{quote}
2) The DAHDI modules only support setting hardware gain values.
{quote}
Rephrasing and expanding point 2:
For DAHDI modules that support hardware gains, only setting hardware gain values are supported.  Reading the current value back is not supported.  Asterisk therefor cannot determine what is set as the current value for reporting purposes or relative gain adjustments.

{quote}
parm: fxotxgain:int
parm: fxorxgain:int
parm: fxstxgain:int
parm: fxsrxgain:int
{quote}
The gain parameters you are pointing out are configured on DAHDI itself using modprobe.  e.g, To set the FXO port tx gain to -3.5 dB:
{noformat}
modprobe wctdm24xxp fxotxgain=-35
{noformat}
The modprobe setting is global to the driver.

Asterisk uses ioctl(DAHDI_SET_HWGAIN) to set the hardware gains in chan_dahdi.c:dahdi_set_hwgain().  The DAHDI_SET_HWGAIN method seems to have per channel control.  However, the DAHDI driver still needs hardware to support it.  Only the analog port cards seem to have the support.  T1/E1 cards do not support this feature even though their channels can be setup as analog ports.

                
> [patch] - chan_dahdi allows for updating both hw and sw gains, but dahdi show channel doesn't reflect changes
> -------------------------------------------------------------------------------------------------------------
>
>                 Key: ASTERISK-22429
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-22429
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Channels/chan_dahdi
>    Affects Versions: 11.5.0
>            Reporter: Jaco Kroon
>            Assignee: Richard Mudgett
>            Severity: Minor
>         Attachments: asterisk-11.5.0-dahdi_gain_display.diff
>
>
> I think some output explains it best:
> # asterisk -Rx "dahdi show channel 3" | grep Gains
> Gains (RX/TX): 8.00/6.00
> # asterisk -rx "dahdi set swgain rx 3 4.0"
> software rx gain set to 4.0 on channel 3
> # asterisk -Rx "dahdi show channel 3" | grep Gains
> Gains (RX/TX): 8.00/6.00
> So in spite of the gain having being modified the change is not reflected.  There is also no indication whether the displayed gains is the hw or sw gains.
> I've written a small patch to rectify the situation and improve it somewhat:
> # asterisk -Rx "dahdi show channel 3" | grep Gains
> SW Gains (RX/TX): 8.00/6.00
> HW Gains (RX/TX): 0.00/0.00
> # asterisk -rx "dahdi set swgain rx 3 4.0"
> software rx gain set to 4.0 on channel 3
> # asterisk -Rx "dahdi show channel 3" | grep Gains
> SW Gains (RX/TX): 4.00/6.00
> HW Gains (RX/TX): 0.00/0.00
> There is a secondary (and actually more significant) problem here:
> The hw gains are not initialized during startup/reload at all (at least, not as far as I can tell).  And if they're already set during reload/restart the only way that I can see to get them back to some pre-configured value is to explicitly reset them using "dahdi set hwgain".  This patch assumes that they are zeroed during startup/reload (which can be false).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.asterisk.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



More information about the asterisk-bugs mailing list