Current-Users archive

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

Re: 10.0 BETA : Poor audio quality if 3.5mm jack is fully inserted



	Hello.  I've seen this issue and I believe I understand the problem, though I don't have
a driver fix at this time.

	The issue is that the audio output jack on modern Reltek sound chips can be configured for
a number of purposes: mono or stereo, line out or speaker out.  Some chips even allow you to
configure the jack for both audio input and output.  Our hdaudio(4) driver doesn't know how to
twiddle the bits in the Reltek chip to configure these changes itself, so what ever the default
settings are, or what ever the BIOS/firmware does to the chip before NetBSD loads is what we
get.  I have this problem as well on my Dell Optiplex 5050.  My fix was to modify the
hdaudio(4) driver to disable the headset jack, allowing me to use the line out jack on the back
of the machine without having to listen to the internal speaker.  It is my intention to read
through the linux driver and figure out how to twiddle the correct bits on the Reltek chip, but
I've not yet learned how our driver works well enough to be able to translate linux driver
speak into NetBSD architecture speak.  The linux driver is full of defines and simple functions
that twiddle the right bits in the correct registers, but I had some trouble figuring out how
to map those registers into equivalent definitions in our audio framework.  The hdaudio(4)
talks to hdaudio 1.0 standards compliant  chiips, and the registers I'm looking at are
extensions beyond the scope of what our driver knows about.  It may be that if hdaudio(4) were
extended to talk to hdaudio 2.x devices, this problem would go away.  As a side note, the
FreeBSD audio drivers have the same issue, except they seem to know even less about the
characteristics of specific output devices attached to the audio chips they talk to with their
pcm(4) driver, which is the hdaudio(4) equivalent.  I don't claim to be an expert on this at
all, so if I've got it completely wrong, I'd love to have someone correct me.

-thanks
-Brian



Home | Main Index | Thread Index | Old Index