It's the best web page I've found on this topic also. Taking a cue from it, I put a 22K ohm resistor in series between the UDRC AF-IN (really the L SPKR out) and the 1200 DATA IN on my Alinco DR135. I tried 10K and 56K also before settling on 22K. With the resistor in place, the LO Drive control in alsamixer now allows me to adjust the deviation. Before, even with the Lo drive turned all the way down, I was over deviating.
To measure and adjust the deviation, I am using an RTL-SDR dongle on my Linux laptop and running the Gnu Radio Companion to determine the "Bessel 0" point with a fixed 1200Hz tone. With the LO drive set to where I get the Bessel 0 (carrier null), I know that the modulation index is 2.41 which means the 1200Hz deviation is 2.88KHz (1200 * 2.41). Measuring the 1200Hz peak-to-peak voltage at that drive level and then switching to the 2200Hz tone, I measured the 2200Hz peak-to-peak voltage. Taking the ratio of the 2200Hz voltage to the 1200Hz voltage and multiplying by the 1200Hz deviation of 2.88KHz yielded a 2200Hz peak deviation of 4.05KHz. Going back and referencing the above article by N8UR, I backed off on the Lo drive by one notch which brings my deviation in line with his recommendations.
It's not quite as accurate as a calibrated service monitor, but it's the best low-cost method I've come across.
Cheers,
Keith
KF7DRV