Re: [Alsa-devel] Re: [2.6 patch] schedule obsolete OSS drivers for removal

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thorsten Knabe wrote:

On Mon, 1 Aug 2005, Andrew Haninger wrote:

Thorsten: Please remember to include the list(s) when emailing those
links/numbers. I'd like to be able to watch it, too, and add any
information that I can, rather than entering a duplicate bug.


Hello.

I have taken a closer look at the ALSA AD1816 sound driver during the last weekend. Here are my findings:

On vanilla Linux 2.6.12.3 and 2.6.13-rc4 modprobe hangs in D-state when loading the snd-ad1816a module. No messages have been logged to the syslog and the system is otherwise stable. Of course the sound card is unusable. On Linux 2.6.8 (as shipped with current Debian Sarge), vanilla Linux 2.6.10 and Linux 2.6.11.12 the module loads fine.

I have done some tests with xmms(Debian), kphone(VoIP-Phone/Debian) and iaxcomm(VoIP-Phone/self-made). Audio playback with xmms is always fine using either ALSA or OSS emulation. Using OSS emulation with one of the VoIP phones, playback and recording stop a few seconds after the call is started. Using the ALSA interface with kphone works, but there is a continuous clicking approximately 3 times per second. Also audio latency is poor compared to the OSS driver. iaxcomm does not support the ALSA audio interface, thus no problems here. :-) The native OSS driver is fine on all kernels with all tested applications.

Also the ALSA driver does not have an equivalent for the "ad1816_clockfreq" option of the OSS driver. The AD1816 chip requires a 33MHz reference clock, however some cards use a different (mostly 32.125MHz) clock, thus the audio sample rate has to be corrected before it is written to the hardware registers for proper playback and recording speed.

I have not filed any bug reports to the ALSA bug tracking system so far, but will do so tomorrow and add the corresponding bug numbers to this thread.

Thorsten

It sounds to me that the best way to fix this is either:
a) Detect sound card subversion number and select different clock based on that.
b) Some how auto detect the clock, much like the intel8x0 driver does.
c) Provide a manual option like the OSS driver. (We should probably have this as well as (a) for the cases where (a) does not know about particular soundcard X yet.

James

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux