kern/140453: [sound] No sound inside Virtualbox on 50% volume

Marcin Wisnicki mwisnicki+freebsd at gmail.com
Tue Nov 10 21:20:02 UTC 2009


>Number:         140453
>Category:       kern
>Synopsis:       [sound] No sound inside Virtualbox on 50% volume
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Nov 10 21:20:01 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator:     Marcin Wisnicki
>Release:        8.0-RC2
>Organization:
>Environment:
FreeBSD vm2.pnet.one.pl 8.0-RC2 FreeBSD 8.0-RC2 #0: Sun Oct 25 08:55:51 UTC 2009     root at almeida.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386
>Description:
Using VirtualBox 3.0.8 on WindowsXP I don't have the sound in the FreeBSD
guest on default volume of 50. Changing it to 49 or 100 gives maximum volume.
Turns out it wraps on 50 - ie. any $vol>49 is the same as $vol-50.
Similar thing occurs on "pcm" control.

# sysctl hw.snd.verbose=4
# cat /dev/sndstat
FreeBSD Audio Driver (newpcm: 32bit 2009061500/i386)
Installed devices:
pcm0: <Intel ICH (82801AA)> at io 0xd100, 0xd200 irq 9 bufsz 16384 kld snd_ich [MPSAFE] (1p:3v/1r:1v channels duplex default)
        snddev flags=0x2e2<AUTOVCHAN,BUSY,MPSAFE,REGISTERED,VPC>
        [pcm0:play:dsp0.p0]: spd 48000, fmt 0x00200010, flags 0x00002100, 0x00000004
        interrupts 5309, underruns 0, feed 5309, ready 0 [b:4096/2048/2|bs:4096/2048/2]
        channel flags=0x2100<BUSY,HAS_VCHAN>
        {userland} -> feeder_mixer(0x00200010) -> {hardware}
        pcm0:play:dsp0.p0[pcm0:virtual:dsp0.vp0]: spd 8000/48000, fmt 0x00100008/0x00200010, flags 0x10000000, 0x0000006b
        interrupts 0, underruns 0, feed 0, ready 0 [b:0/0/0|bs:4096/128/32]
        channel flags=0x10000000<VIRTUAL>
        {userland} -> feeder_root(0x00100008) -> feeder_format(0x00100008 -> 0x00100010) -> feeder_rate(0x00100010 q:1 8000 -> 48000) -> feeder_matrix(1.0 -> 2.0) -> feeder_volume(0x00200010) -> {hardware}
        pcm0:play:dsp0.p0[pcm0:virtual:dsp0.vp1]: spd 8000/48000, fmt 0x00100008/0x00200010, flags 0x10000000, 0x0000006b
        interrupts 0, underruns 0, feed 0, ready 0 [b:0/0/0|bs:4096/128/32]
        channel flags=0x10000000<VIRTUAL>
        {userland} -> feeder_root(0x00100008) -> feeder_format(0x00100008 -> 0x00100010) -> feeder_rate(0x00100010 q:1 8000 -> 48000) -> feeder_matrix(1.0 -> 2.0) -> feeder_volume(0x00200010) -> {hardware}
        pcm0:play:dsp0.p0[pcm0:virtual:dsp0.vp2]: spd 44100/48000, fmt 0x00200010, flags 0x10000000, 0x00000029
        interrupts 0, underruns 0, feed 0, ready 0 [b:0/0/0|bs:65536/2048/32]
        channel flags=0x10000000<VIRTUAL>
        {userland} -> feeder_root(0x00200010) -> feeder_volume(0x00200010) -> feeder_rate(0x00200010 q:1 44100 -> 48000) -> {hardware}
        [pcm0:record:dsp0.r0]: spd 48000, fmt 0x00200010, flags 0x00002100, 0x00000005
        interrupts 0, overruns 0, feed 0, hfree 4096, sfree 4096 [b:4096/2048/2|bs:4096/2048/2]
        channel flags=0x2100<BUSY,HAS_VCHAN>
        {hardware} -> feeder_root(0x00200010) -> feeder_mixer(0x00200010) -> {userland}
        pcm0:record:dsp0.r0[pcm0:virtual:dsp0.vr0]: spd 44100/48000, fmt 0x00200010, flags 0x10000000, 0x00000029
        interrupts 0, overruns 0, feed 0, hfree 0, sfree 65536 [b:0/0/0|bs:65536/2048/32]
        channel flags=0x10000000<VIRTUAL>
        {hardware} -> feeder_root(0x00200010) -> feeder_rate(0x00200010 q:1 48000 -> 44100) -> feeder_volume(0x00200010) -> {userland}

>How-To-Repeat:
1. install VirtualBox 3.0.8
2. install FreeBSD 8.0-RC2 i386 as guest
3. kldload snd_ich
4. mixer pcm 50 (default)
5. try playing something
>Fix:
Adjust volume to 100.

>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list