Subject: S/PDIF output from auvia?
To: None <current-users@netbsd.org>
From: Scott Ellis <scotte@warped.com>
List: current-users
Date: 10/14/2004 19:29:24
Okay, I'm out of ideas here, and hoping for some help.  I've got an ASUS
K8VSE motherboard (running in 32 bit mode for the moment), with an onboard
auvia part, that claims to have S/PDIF out:

auvia0 at pci0 dev 17 function 5: VIA Technologies VT8235 AC'97 Audio (rev
0x60)
auvia0: interrupting at ioapic0 pin 22 (irq 10)
auvia0: ac97: Analog Devices AD1980 codec; headphone, 20 bit DAC, no 3D
stereo
auvia0: ac97: ext id 3c7<AMAP,LDAC,SDAC,CDAC,SPDIF,DRA,VRA>
audio0 at auvia0: full duplex, mmap, independent

For the life of me, I can't get audio to come out the S/PDIF port.  I
half-suspect that I need to use audioctl and set play.port, but
unfortunately I don't know what magic number to put there.  You can see from
the output of audioctl below, that it actually thinks it's playing SOMETHING
(this is with mpg123 running), as play.samples is non-zero (and it seems to
increase as one would expect):

name=VIA VT8233/8235
version=0x60
config=auvia
encodings=ulinear:8,mulaw:8*,alaw:8*,slinear:8*,slinear_le:16,ulinear_le:16*
,sli
near_be:16*,ulinear_be:16*
properties=full_duplex,mmap,independent
full_duplex=0
fullduplex=0
blocksize=8800
hiwat=7
lowat=5
monitor_gain=0
mode=play
play.rate=44100
play.channels=2
play.precision=16
play.encoding=slinear_le
play.gain=255
play.balance=32
play.port=0x0
play.avail_ports=0x0
play.seek=52800
play.samples=343200
play.eof=0
play.pause=0
play.error=0
play.waiting=0
play.open=1
play.active=1
play.buffer_size=65536
record.rate=8000
record.channels=1
record.precision=8
record.encoding=mulaw
record.gain=127
record.balance=32
record.port=0x0
record.avail_ports=0x7
record.seek=0
record.samples=0
record.eof=0
record.pause=0
record.error=0
record.waiting=0
record.open=0
record.activrecord.buffer_size=65536
record.errors=0

The usual culprit of mixerctl doesn't give me any clues either:

outputs.master=255,255 volume delta=8
outputs.master.mute=off  [ off on ]
outputs.mono=255 volume delta=4
outputs.mono.mute=off  [ off on ]
outputs.mono.source=mixerout  [ mixerout mic ]
outputs.headphones=255,255 volume delta=4
outputs.headphones.mute=off  [ off on ]
outputs.surround=127,127 volume delta=8
outputs.surround.mute=off  [ off on ]
outputs.center=127 volume delta=8
outputs.center.mute=off  [ off on ]
outputs.lfe=127 volume delta=8
outputs.lfe.mute=off  [ off on ]
inputs.speaker=255 volume delta=16
inputs.speaker.mute=off  [ off on ]
inputs.phone=191 volume delta=8
inputs.phone.mute=on  [ off on ]
inputs.mic=191 volume delta=8
inputs.mic.mute=on  [ off on ]
inputs.mic.preamp=on  [ off on ]
inputs.mic.source=mic0  [ mic0 mic1 ]
inputs.line=191,191 volume delta=8
inputs.line.mute=off  [ off on ]
inputs.cd=191,191 volume delta=8
inputs.cd.mute=off  [ off on ]
inputs.video=255,255 volume delta=8
inputs.video.mute=off  [ off on ]
inputs.aux=191,191 volume delta=8
inputs.aux.mute=off  [ off on ]
inputs.dac=191,191 volume delta=8
inputs.dac.mute=off  [ off on ]
record.source=mixerout  [ mic cd video aux line mixerout mixeroutmono phone
]
record.volume=0,0 volume delta=16
record.volume.mute=off  [ off on ]

This was easy to get working with cmpci, but this new motherboard is driving
me crazy.  

Any suggestions?