The driver isn't able to autodetect which type of ESS chip you have, which
is why if you compile it as a module you can modprobe sb io=... irq=.
dma=. esstype=1879. This will enable some mixer settings for you,
probably, but I don't think it will fix the incorrect speeds.
> Now, for frequency testing...On my desktop machine (which has an
> es1370), changing frequencies just changes the quality of the output
> sound - tempo & pitch all sound correct, as it should. On the VAIO,
> however, there are at least two modes: a bit slow (high frequency) and
> quite fast (alvin the chipmunk style, low frequency). 22050 and 44100
> seem to give the slow playback mode, and 16000, 11025, 8000, and 4000
> give chipmunk sounds. I can't tell if the fast playback ones are the
> same tempo, but they seem close (roughly twice as fast, I think). I
> used "tracker -frequency" and "mpg123 [-1,-2,-4]" to do these tests,
> BTW.
Interesting. Look at this chunk of code:
(sb_ess.c:370)
if (*speedp > 22000) {
div = 0x80 | ess_calc_div (795500, 256, speedp, &diff);
} else {
div = 0x00 | ess_calc_div (397700, 128, speedp, &diff);
}
I guess that's necessary on some cards and not others, or something.
Perhaps the first line should read if (*speedp > 22000 || submodel >= 1788)
or something. I have no idea which chips do what, and evidently FKS isn't
too clear about that either.
-Andy.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/