# How to add a control for audiocd to mixer?



## Erratus (Mar 28, 2010)

Sound can be heared while performing the following test

```
# osstest                                                   
Sound subsystem and version: FreeBSD native OSS ABI 800107 (0x00040000)
Platform: FreeBSD/amd64 8.0-RELEASE-p2 FreeBSD 8.0-RELEASE-p2 #1: Tue Mar  2 18:52:44 CET 2010
erratus@myhost:/usr/obj/usr/src/sys/CUSTOM
/dev/dsp0.p0 (audio engine 0): pcm0:play:dsp0.p0
- Performing audio playback test... /dev/dsp0.p0: Device busy
Can't open the device
/dev/dsp0.vp0 (audio engine 1): pcm0:virtual:dsp0.vp0
- Performing audio playback test...
  <left> OK <right> OK <stereo> OK <measured srate 47989.00 Hz (-0.02%)>
/dev/dsp0.vp1 (audio engine 2): pcm0:virtual:dsp0.vp1
- Performing audio playback test...
  <left> OK <right> OK <stereo> OK <measured srate 47989.00 Hz (-0.02%)>
/dev/dsp0.vp2 (audio engine 3): pcm0:virtual:dsp0.vp2
- Performing audio playback test...
  <left> OK <right> OK <stereo> OK <measured srate 47992.00 Hz (-0.02%)>
/dev/dsp0.vp3 (audio engine 4): pcm0:virtual:dsp0.vp3
- Performing audio playback test...
  <left> OK <right> OK <stereo> OK <measured srate 47992.00 Hz (-0.02%)>
/dev/dsp0.r0 (audio engine 5): pcm0:record:dsp0.r0
- Skipping input only device
/dev/dsp0.vr0 (audio engine 6): pcm0:virtual:dsp0.vr0
- Skipping input only device
/dev/dsp0.vr1 (audio engine 7): pcm0:virtual:dsp0.vr1
- Skipping input only device
/dev/dsp0.vr2 (audio engine 8): pcm0:virtual:dsp0.vr2
- Skipping input only device
/dev/dsp1.p0 (audio engine 9): pcm1:play:dsp1.p0
- Performing audio playback test... /dev/dsp1.p0: Device busy
Can't open the device
/dev/dsp1.vp0 (audio engine 10): pcm1:virtual:dsp1.vp0
- Performing audio playback test...
  <left> OK <right> OK <stereo> OK <measured srate 47992.00 Hz (-0.02%)>
/dev/dsp1.vp1 (audio engine 11): pcm1:virtual:dsp1.vp1
- Performing audio playback test...
  <left> OK <right> OK <stereo> OK <measured srate 47992.00 Hz (-0.02%)>
/dev/dsp1.r0 (audio engine 12): pcm1:record:dsp1.r0
- Skipping input only device
/dev/dsp1.vr0 (audio engine 13): pcm1:virtual:dsp1.vr0
- Skipping input only device
/dev/dsp2.p0 (audio engine 14): pcm2:play:dsp2.p0
- Performing audio playback test... /dev/dsp2.p0: Device busy
Can't open the device
/dev/dsp2.vp0 (audio engine 15): pcm2:virtual:dsp2.vp0
- Performing audio playback test...
  <left> OK <right> OK <stereo> OK <measured srate 47989.00 Hz (-0.02%)>
/dev/dsp2.vp1 (audio engine 16): pcm2:virtual:dsp2.vp1
- Performing audio playback test...
  <left> OK <right> OK <stereo> OK <measured srate 47992.00 Hz (-0.02%)>

*** Some errors were detected during the tests ***
```
But when using cdcontrol navigating the audiocd is possible, but sound output is just missing


```
# mixer
Mixer vol      is currently set to  80:80
Mixer pcm      is currently set to 100:100
Mixer line     is currently set to 100:100
Mixer mic      is currently set to   0:0
Mixer mix      is currently set to   0:0
Mixer rec      is currently set to   0:0
Mixer ogain    is currently set to  77:77
Recording source: mic
```

A mixer for "cd" is missing. This might be the reason I get no sound from audiocd?
Have read a lot of manuals and posts, but still have no cue how to solve this.


----------



## graudeejs (Mar 28, 2010)

What hardware are you using, How old it is?
pershaps show dmesg output


----------



## Erratus (Mar 28, 2010)

Here is dmesg output with audiocd in tray while booting.


----------



## Erratus (Mar 28, 2010)

mixer(8)



> The mixer utility is used to set and display soundcard mixer device levels.  It may also be used to start and stop recording from the soundcard.
> The list of mixer devices that may be modified are:
> 
> vol, bass, treble, synth, pcm, speaker, line, mic, cd, mix, pcm2,
> ...




```
# mixer cd
mixer: unknown device: cd
usage: mixer [-f device] [-s | -S] [dev [+|-][voll[:[+|-]volr]] ...
       mixer [-f device] [-s | -S] recsrc ...
       mixer [-f device] [-s | -S] {^|+|-|=}rec rdev ...
 devices: vol, pcm, line, mic, mix, rec, ogain
 rec devices: line, mic, mix
```

What can be done to add cd as a device of mixer?


----------



## Erratus (Mar 28, 2010)

*it gets worse ..*

after reinstalling oss dmesg ends like this

```
.
Starting sshd.
Starting cron.
mixer:
SOUND_MIXER_READ_DEVMASK
:
Device not configured
Starting background file system checks in 60 seconds.
```
please help me as I'm developing acute Durett-syndrome.


----------



## graudeejs (Mar 28, 2010)

Show config of your custom kernel


----------



## Erratus (Mar 28, 2010)

Here is my custom kernel config


----------



## Erratus (Mar 30, 2010)

Looks like answers get rare here. 

Perhaps this question can be answered by someone:

Can an audiocd be played on a FreeBSD-8.0 with snd_hda driver without xorg etc. just using cdcontrol? Is it necessary that mixer shows the device "cd" in order to hear sound from cdrom or not?

RTFM SND_HDA (4) talks about extensive verbose messages to diagnose but stays short of explaining how to get them. 

I'm still not sure at all if it is necessary to add device.hints in order to solve this. Am I on the right path at all?


----------



## adamk (Mar 30, 2010)

Not all devices support all mixer options.  Perhaps your HDA soundcard simply doesn't support an audiocd line.  I have two HDA machines that are like that.

You'll probably want to use an audio player that uses digital extraction to play CD tracks.  I know xmms used to be able to do this, but I'm not sure about any others.

EDIT: BTW, you seem to be mixing both the snd_hda (native FreeBSD driver) and oss_hdaudio (OSSv4 driver) drivers.  If neither driver shows a CD mixer control (check the OSSv4 driver controls with ossmix or ossxmix) then your hardware is almost certainly missing that mixer.

Adam


----------



## tingo (Apr 1, 2010)

Erratus said:
			
		

> RTFM SND_HDA (4) talks about extensive verbose messages to diagnose but stays short of explaining how to get them.


To get verbose messages on your system, select the right option from the boot menu.
HTH


----------



## Erratus (Apr 6, 2010)

Solved in http://forums.freebsd.org/showthread.php?t=12971
Added to /boot/device.hints

```
'hint.hdac.0.cad0.nid28.config="as=4 seq=1 device=CD conn=Fixed"
```
where nid28 is cd-pin on my system which could be found in dmesg -a after verbose logging (5) was selected in FreeBSD Boot Loader Menu.


----------

