I am running OpenBSD/i386 5.1 on a 5 year old laptop. The speakers and headphone port work, but the headphone port is a little loose so I am trying to install an external USB sound card (Fiio E17 USB DAC). No problems using it on Windows.
The device is detected and I created a node for it in /dev with sh /dev/MAKEDEV audio1, then linked the rest of the devices to point to the new sound card. So far so good, I am able to run cat /dev/urandom > /dev/audio and I hear white noise. However, I am not able to run any other audio through it.
My tail /var/log/messages after plugging the device in:
Aug 30 10:03:55 s96j /bsd: uhidev0 at uhub1
Aug 30 10:03:55 s96j /bsd: port 1 configuration 1 interface 0 "FiiO FiiO USB DAC-E17" rev 1.10/0.01 addr 2
Aug 30 10:03:55 s96j /bsd: uhidev0: iclass 3/0
Aug 30 10:03:55 s96j /bsd: uhid0 at uhidev0: input=18, output=27, feature=0
Aug 30 10:03:55 s96j /bsd: uaudio0 at uhub1
Aug 30 10:03:55 s96j /bsd: port 1 configuration 1 interface 1 "FiiO FiiO USB DAC-E17" rev 1.10/0.01 addr 2
Aug 30 10:03:56 s96j /bsd: uaudio0: ignored setting with type 8193 format
Aug 30 10:03:56 s96j /bsd: uaudio0: audio rev 1.00, 2 mixer controls
Aug 30 10:03:56 s96j /bsd: audio1 at uaudio0
My list of relevant devices from /dev:
lrwxr-xr-x 1 root wheel 6 Aug 30 09:44 audio -> audio1
crw-rw-rw- 1 root wheel 42, 128 Aug 30 10:07 audio0
crw-rw-rw- 1 root wheel 42, 129 Aug 30 10:15 audio1
crw-rw-rw- 1 root wheel 42, 130 Aug 30 06:40 audio2
lrwxr-xr-x 1 root wheel 9 Aug 30 09:44 audioctl -> audioctl1
crw-rw-rw- 1 root wheel 42, 192 Aug 30 06:40 audioctl0
crw-rw-rw- 1 root wheel 42, 193 Aug 30 09:44 audioctl1
crw-rw-rw- 1 root wheel 42, 194 Aug 30 06:40 audioctl2
lrwxr-xr-x 1 root wheel 6 Aug 30 09:45 mixer -> mixer1
crw-rw-rw- 1 root wheel 42, 16 Aug 30 06:40 mixer0
crw-rw-rw- 1 root wheel 42, 17 Aug 30 09:44 mixer1
crw-rw-rw- 1 root wheel 42, 18 Aug 30 06:40 mixer2
lrwxr-xr-x 1 root wheel 6 Aug 30 09:45 sound -> sound1
crw-rw-rw- 1 root wheel 42, 0 Aug 30 06:40 sound0
crw-rw-rw- 1 root wheel 42, 1 Aug 30 09:44 sound1
crw-rw-rw- 1 root wheel 42, 2 Aug 30 06:40 sound2
A simple test from the FAQ to determine if data is passing over the device:
# cat > /dev/audio < /dev/zero &
[1] 21098
# audioctl play.{seek,samples,errors}
play.seek=61712
play.samples=1146080
play.errors=0
# audioctl play.{seek,samples,errors}
play.seek=52896
play.samples=1542800
play.errors=0
# audioctl play.{seek,samples,errors}
play.seek=61712
play.samples=1957152
play.errors=0
My audioctl -a:
name=USB audio
version=
config=uaudio
encodings=slinear_le:16:2:1,slinear_le:24:3:1
properties=independent
full_duplex=0
fullduplex=0
blocksize=8816
hiwat=7
lowat=1
output_muted=0
monitor_gain=0
mode=
play.rate=44100
play.sample_rate=44100
play.channels=2
play.precision=16
play.bps=2
play.msb=1
play.encoding=slinear_le
play.gain=127
play.balance=32
play.port=0x0
play.avail_ports=0x0
play.seek=8816
play.samples=131988
play.eof=0
play.pause=0
play.error=1
play.waiting=0
play.open=0
play.active=0
play.buffer_size=65536
play.block_size=8816
play.errors=2267
record.rate=44100
record.sample_rate=44100
record.channels=2
record.precision=16
record.bps=2
record.msb=1
record.encoding=slinear_le
record.gain=127
record.balance=32
record.port=0x0
record.avail_ports=0x0
record.seek=0
record.samples=0
record.eof=0
record.pause=0
record.error=0
record.waiting=0
record.open=0
record.active=0
record.buffer_size=65536
record.block_size=8816
record.errors=0
And lastly, my mixerctl -a:
outputs.aux.mute=off
outputs.aux=255,255
Again I am able to cat /dev/urandom > /dev/audio and get white noise, but nothing else I've tried lets me output other sounds or music. I also tried cat sample.au > /dev/audio but that was silent as well.
Any suggestions or help would be greatly appreciated! Worst case, hopefully someone can use the steps I outlined here to troubleshoot their own sound devices.