DAHDI and fxotune.vals

When my DAHDI service loads, each module spews out the following errors as it loads:

                                                       [  OK  ]

wctdm: WARNING: All config files need .conf: /etc/modprobe.d/fxotune.vals, it will be ignored in a future release.
WARNING: /etc/modprobe.d/fxotune.vals line 1: ignoring bad line starting with '0,'
WARNING: /etc/modprobe.d/fxotune.vals line 2: ignoring bad line starting with ‘10,’

…etc up to line 72. And then…

This started happening after I ran fxotune to tune up my TDM400P card. Does this mean, as I suspect, that my fxotune data is not being read? (would explain why I have pretty bad echo on my calls).

Can anyone tell me what’s going on here and how I might fix it? I can’t find any documentation on the ‘guts’ of how this is supposed to work. The docs all just say ‘run fxotune’.


have you tried

man fxotune

yet? It included the important caveate:-
" . .This program only works for the Digium TDM400P/800P/2400P cards and compatible and the Xorcom Astribank devices. Other cards (notably X100P cards and clones) do not have the hardware to support such tuning.
. . "

“I ran fxotune to tune up my TDM400P card”

As man fxotune shows. running fxotune -d will create that file fxotune.vals

running fxotune -i should not, just the /etc/fxotune.conf. next time fxotune -s is run (preferably at system startup) the needed parameters will be used by dahdi.

I suggest you delete the issue of fxotune -d (fxotune.vals) and carefully read and make sure that when fxotune -i is run that all the parameters are correctly chosen, particularly the -n and -m parameters. Note that fxotune should NOT be run while asterisk is also running.

It should also be pointed out that while fxotune does a good job of balancing yout 2-4 wire hybrid at the impedance level if run correctly, you will still often need to adjust rx/txgain to balance the audio levels if you want echo correction to work well. This best done with dahdi_monitor and milliwatt signals at both far and near ends, asterisk includes milliwatt() for tx you will need to find a “local” milliwatt test number for the far end rx.

Oh I see, so that .vals file is just part of the diagnostics and not a configuration file at all - hence the message that ‘all configuration files should have .conf’. That makes sense. I must have used the -d option at some point while I was in the directory. So my fix is just to delete it.

I’m not sure I understand your last sentence. Are you suggesting that I need another asterisk box in order to configure my analogue card, or something different?

Another question: doesn’t the freepbx distro do this automatically? (fxotune -s)? I’m not strong on Linux which is why I use the FreePBX distro rather than trying to build something from scratch. If this needs to be done explicitly/manually, I’d appreciate a suggestion for exactly how to achieve that.

fxotune -s is generally run by /etc/init.d/dahdi on startup if fxotune.conf exists, FYI dahdi is not part of asterisk nor FreePBX so please adjust your thinking.

No you don’t need another asterisk box you need as local as possible (relative to your pstn provider) milliwatt test number, google for that. Call it and when you get the connection transfer to 88888 where you have something like

exten => 88888,1,Answer()
exten => 88888,n,Milliwatt()

in your extensions_custom.conf

use dahdi_monitor -vv on that channel to read levels, without being too technical it should be at about 70% and exactly equal for both, adjust rx gain to match the tx, I believe you will need to RESTART not RELOAD dahdi and asterisk each change, but maybe that is fixed.

I’m sure some one can supply a callfile or an asterisk CLI “originate” line to do the same but I won’t get into that here, because it’s well documented but nobody ever reads the documentation and I am not prepared to read it to them :wink:

Thanks for that, that’s good quality information, I will make use of it next opportunity I get (at the weekend most likely).

In my /etc/init.d is the following:

    if [ -x "$FXOTUNE" ] && [ -r /etc/fxotune.conf ]; then
            # Allowed to fail if e.g. Asterisk already uses channels:
            $FXOTUNE -s || :

So it looks like that’s all preconfigured in the distro, which is as I would expect.

Thanks again.