[RFT] Major snd_hda rewrite

Alexander Motin mav at FreeBSD.org
Sat Jan 14 22:32:04 UTC 2012

On 15.01.2012 00:10, Steve Kargl wrote:
> On Sat, Jan 14, 2012 at 11:39:43PM +0200, Alexander Motin wrote:
>> On 14.01.2012 23:25, Steve Kargl wrote:
>>> On Thu, Jan 12, 2012 at 01:18:19PM +0200, Alexander Motin wrote:
>>>> That is probably because of $FreeBSD$ macro resolution. Here is version
>>>> with present value from 10-CURRENT SVN (sources from CVS or STABLE will
>>>> need that patch line modified respectively) and some minor additional
>>>> improvements like CODEC ODs and some more sysctls:
>>>> http://people.freebsd.org/~mav/hda.rewrite2.patch
>>> Patch applied cleanly.
>>> Patch does not fix http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/120780
>>> Putting a dvd into the dvd drive. Executing 'mplayer dvd://', the
>>> movie starts and sound comes from both the speakers and headphones.
>> You mean that speakers are not disabled when headphones are plugged in?
> No.  I mean that sound is available from either the speakers
> (ie, no headphones) or from the headphones (ie no sound
> from speakers).  That is, this is working as expected.
>> In PR you've written that no sound goes from speakers, but here tell
>> opposite. What is right?
> If the medium is a DVD, sound works.  If the medium is a music CD,
> then sound does not work.

Audio from DVDs always played by software after reading if from the disk 
as usual data. Audio CDs instead could be played either by the CD drive 
itself via analog audio connection or by software using digital audio 
extraction (reading from the disk).

>>> Remove dvd insert music cd in drive, 'cdcontrol play'.  The
>>> drive is reading the cd and 'cdcontrol status' indicates
>>> that it is playing.  No sound.
>> Most likely analog audio output of your CD is not connected to the
>> CODEC. At least there are no CODEC pin configured for it. You may try to
>> configure different pins manually, but if there is no electrical
>> connection...
> Works with MS Windows XP.  Put music CD into drive.  Fire up
> MediaPlayer and sound works.  So, I would assume that there
> is an electrical connection.

I think no. Windows Media Player is able to play Audio CDs via digital 
audio extraction. 'cdcontrol play' just commands drive to play Audio CD. 
To play Audio CD via digital audio extraction use 'mplayer cdda://'.

> So, how does one manually configure the pins?

Read man snd_hda, try, try, try, ... But most likely it is just not 
implemented in hardware.

>>> Verbose dmesg.txt and 'sysctl -a | grep {hda,snd,pcm}>   {hda,snd,pcm.txt}'
>>> available at http://troutmask.apl.washington.edu/~kargl/hda/

Alexander Motin

More information about the freebsd-current mailing list