snd_emu10kx patch (WAS: RE: SB Live 5.1 Digital - sysctl ?)

Rick Mullis probsd at gmail.com
Wed Jul 4 17:02:32 UTC 2007


Hi Yuriy,

With digitally connected speakers (S/PDIF output to external receiver /
amplifier) without SND_EMU10KX_MULTICHANNEL_DISABLED with analog mode I get
sound from analog jack only. With driver in digital mode I get sound from
analog jack and digital jack. However I only get sound from front speakers.
If I add SND_EMU10KX_MULTICHANNEL_DISABLED to kernel, the sound state is the
same for the analog jack in digital or analog mode. However I get no sound
on digital jack in analog mode but in digital mode I do get sound from front
and rear speakers, no center channel though. The sound volume is so low on
the rear channel it is hard to hear it. I can't seem to find a way to
increase the volume for just the rear channel.

I hope you don't remove the sysctl switch for digital mode.

I have no problem with crashing at all. I have tested for a couple of hours
now and everything seems fine, I'm testing with herrie.

#sysctl -a | grep emu
emu10kx0: SB Live! IR MIDI events enabled.
emu10kx0: <Creative SBLive! 5.1 Digital [SB0220]> port 0x1000-0x101f irq 21
at device 0.0 on pci7
emu10kx0: [ITHREAD]
pcm0: <EMU10Kx DSP front PCM interface> on emu10kx0
pcm1: <EMU10Kx DSP rear PCM interface> on emu10kx0
midi0: <EMU10Kx MIDI Interface> on emu10kx0
emu10kx0: SB Live! IR MIDI events enabled.
emu10kx0: <Creative SBLive! 5.1 Digital [SB0220]> port 0x1000-0x101f irq 21
at device 0.0 on pci7
emu10kx0: [ITHREAD]
pcm0: <EMU10Kx DSP front PCM interface> on emu10kx0
pcm1: <EMU10Kx DSP rear PCM interface> on emu10kx0
midi0: <EMU10Kx MIDI Interface> on emu10kx0
emu10kx0: SB Live! IR MIDI events enabled.
emu10kx0: <Creative SBLive! 5.1 Digital [SB0220]> port 0x1000-0x101f irq 21
at device 0.0 on pci7
emu10kx0: [ITHREAD]
pcm0: <EMU10Kx DSP front PCM interface> on emu10kx0
pcm1: <EMU10Kx DSP rear PCM interface> on emu10kx0
dev.emu10kx.0.%desc: Creative SBLive! 5.1 Digital [SB0220]
dev.emu10kx.0.%driver: emu10kx
dev.emu10kx.0.%location: slot=0 function=0
dev.emu10kx.0.%pnpinfo: vendor=0x1102 device=0x0002 subvendor=0x1102
subdevice=0x8065 class=0x040100
dev.emu10kx.0.%parent: pci7
dev.emu10kx.0._digital: 1
dev.emu10kx.0._pcm_front_l: 100
dev.emu10kx.0._pcm_front_r: 100
dev.emu10kx.0._ac97_front_l: 100
dev.emu10kx.0._ac97_front_r: 100
dev.emu10kx.0._ac97_rec_l: 0
dev.emu10kx.0._ac97_rec_r: 0
dev.emu10kx.0._master_front_l: 100
dev.emu10kx.0._master_front_r: 100
dev.emu10kx.0._master_rec_l: 100
dev.emu10kx.0._master_rec_r: 100
dev.pcm.0.%parent: emu10kx0
dev.pcm.1.%parent: emu10kx0
pcm0: <EMU10Kx DSP front PCM interface> on emu10kx0
pcm0: <SigmaTel STAC9708/11 AC97 Codec>
pcm0: <EMU10Kx DSP front PCM interface> on emu10kx0
pcm0: <SigmaTel STAC9708/11 AC97 Codec>
pcm0: <EMU10Kx DSP front PCM interface> on emu10kx0
pcm0: <SigmaTel STAC9708/11 AC97 Codec>
pcm1: <EMU10Kx DSP rear PCM interface> on emu10kx0
pcm0: <EMU10Kx DSP front PCM interface> on emu10kx0
pcm0: <SigmaTel STAC9708/11 AC97 Codec>
pcm1: <EMU10Kx DSP rear PCM interface> on emu10kx0
pcm0: <EMU10Kx DSP front PCM interface> on emu10kx0
pcm0: <SigmaTel STAC9708/11 AC97 Codec>
pcm1: <EMU10Kx DSP rear PCM interface> on emu10kx0

#sysctl -a | grep pcm
dev.emu10kx.0._pcm_front_l: 100
dev.emu10kx.0._pcm_front_r: 100
dev.pcm.0.%desc: EMU10Kx DSP front PCM interface
dev.pcm.0.%driver: pcm
dev.pcm.0.%parent: emu10kx0
dev.pcm.0.eapd: 1
dev.pcm.0.play.vchans: 1
dev.pcm.0.play.vchanrate: 48000
dev.pcm.0.play.vchanformat: s16le
dev.pcm.0.rec.vchans: 1
dev.pcm.0.rec.vchanrate: 48000
dev.pcm.0.rec.vchanformat: s16le
dev.pcm.0.buffersize: 65536
dev.pcm.1.%desc: EMU10Kx DSP rear PCM interface
dev.pcm.1.%driver: pcm
dev.pcm.1.%parent: emu10kx0
dev.pcm.1.play.vchans: 1
dev.pcm.1.play.vchanrate: 48000
dev.pcm.1.play.vchanformat: s16le
dev.pcm.1.buffersize: 65536


#mixer
Mixer vol      is currently set to 100:100
Mixer pcm      is currently set to 100:100
Mixer speaker  is currently set to  75:75
Mixer line     is currently set to  75:75
Mixer mic      is currently set to   0:0
Mixer cd       is currently set to  75:75
Mixer rec      is currently set to   0:0
Mixer igain    is currently set to   0:0
Mixer ogain    is currently set to  50:50
Mixer line1    is currently set to  75:75
Mixer line2    is currently set to   0:0
Mixer line3    is currently set to   0:0
Mixer dig1     is currently set to 100:100
Mixer dig2     is currently set to 100:100
Mixer dig3     is currently set to 100:100
Mixer phin     is currently set to   0:0
Mixer phout    is currently set to   0:0
Mixer video    is currently set to  75:75


#cat /dev/sndstat
Recording source: mic
FreeBSD EMU10Kx Audio Driver

Hardware resource usage:
DSP General Purpose Registers: 44 used, 256 total
DSP Instruction Registers: 64 used, 512 total
Card supports AC97 codec, SBLive! DSP code

Installed devices:
EMU10Kx DSP front PCM interface on pcm0
EMU10Kx DSP rear PCM interface on pcm1
Card is in digital mode

#cat /dev/emu10kx0
FreeBSD Audio Driver (newpcm: 64bit 2007061600/amd64)
Installed devices:
pcm0: <EMU10Kx DSP front PCM interface> on emu10kx0 [GIANT] (4p:1v/1r:1v
channels duplex default)
pcm1: <EMU10Kx DSP rear PCM interface> on emu10kx0 [GIANT] (1p:1v/0r:0v
channels)


Thanks for all your hard work. If you need any futher testing I would be
happy to help.

Thanks,
Rick



On 7/4/07, Yuriy Tsibizov <Yuriy.Tsibizov at gfk.com> wrote:
>
> Dear SB Live! / Audigy users.
>
> I'm going to ask ariff to (ask re@ and) commit this patch before 7.0
> release:
> http://chibis.persons.gfk.ru/audigy/snd_emu10kx_70_patch2
>
>
> Update snd_emu10kx driver with recent perforce changes (and some other
> changes too).
>
> (without any real order)
>
> 1. Use device_get_nameunit for mutex naming
> 2. Add timer for low-latency playback
> 3. Move most mixer controls from sysctls to mixer(8) controls. This
> is a largest part of this patch.
> 4. Add analog/digital switch (as a temporary sysctl)
> 5. Get back support for low-bitrate playback (with help of (2))
> 6. Change locking for exclusive I/O. Writing to non-PTR register
> is almost safe and does not need to be ordered with PTR operations.
> 7. Disable MIDI until we get it to detach properly and fix memory
> managment problems.
> 8. Enable multichannel playback by default. It is as stable as
> single-channel mode. Multichannel recording is still an experimental
> feature.
> 9. Add a way to disable card from a loader tunable.
>
> Tested on:
>
> emu10kx0: <Creative Audigy 2 Value [SB0400]> port 0x9000-0x903f irq 17
> at device 9.0 on pci0
> emu10kx0: [ITHREAD]
> emu10kx1: <Creative Audigy [SB0090]> port 0x9400-0x941f irq 18 at device
> 10.0 on pci0
> emu10kx1: [ITHREAD]
> emu10kx2: <Creative Audigy 2 [SB0240]> port 0x9c00-0x9c3f irq 19 at
> device 11.0 on pci0
> emu10kx2: [ITHREAD]
> emu10kx3: <Creative SBLive! 5.1 Digital [SB0220]> port 0xa400-0xa41f irq
> 16 at device 12.0 on pci0
> emu10kx3: [ITHREAD]
> pcm0: <EMU10Kx DSP front PCM interface> on emu10kx0
> pcm0: <SigmaTel STAC9750/51 AC97 Codec>
> pcm1: <EMU10Kx DSP rear PCM interface> on emu10kx0
> pcm2: <EMU10Kx DSP center PCM interface> on emu10kx0
> pcm3: <EMU10Kx DSP subwoofer PCM interface> on emu10kx0
> pcm4: <EMU10Kx DSP side PCM interface> on emu10kx0
> pcm5: <EMU10Kx DSP front PCM interface> on emu10kx1
> pcm5: <TriTech TR28602 AC97 Codec>
> pcm6: <EMU10Kx DSP rear PCM interface> on emu10kx1
> pcm7: <EMU10Kx DSP center PCM interface> on emu10kx1
> pcm8: <EMU10Kx DSP subwoofer PCM interface> on emu10kx1
> pcm9: <EMU10Kx DSP front PCM interface> on emu10kx2
> pcm9: <SigmaTel STAC9721/23 AC97 Codec>
> pcm10: <EMU10Kx DSP rear PCM interface> on emu10kx2
> pcm11: <EMU10Kx DSP center PCM interface> on emu10kx2
> pcm12: <EMU10Kx DSP subwoofer PCM interface> on emu10kx2
> pcm13: <EMU10Kx DSP front PCM interface> on emu10kx3
> pcm13: <eMicro EM28028 AC97 Codec>
> pcm14: <EMU10Kx DSP rear PCM interface> on emu10kx3
>
> I need your feedback on:
>
> I) High-priority checks (that I can't do on my own equipment)
>
> -- digitally connected speakers, without
> SND_EMU10KX_MULTICHANNEL_DISABLED and with it.
> -- S/PDIF output to external receiver / amplifier
>
> 2) Overall driver stability. I did some crash-tests, it shouldn't crash
> your machine in few seconds after load :-)
> 3) Features you may need or features that are not user-friendly.
> 4) any unclear documentation
>
>
> Hope for your help,
>
> Yuriy
>
> _______________________________________________
> freebsd-multimedia at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-multimedia
> To unsubscribe, send any mail to "
> freebsd-multimedia-unsubscribe at freebsd.org"
>


More information about the freebsd-multimedia mailing list