Я использую OpenBSD / i386 5.1 на 5-летнем ноутбуке. Динамики и порт для наушников работают, но порт для наушников немного ослаблен, поэтому я пытаюсь установить внешнюю звуковую карту USB (Fiio E17 USB DAC). Нет проблем, используя его в Windows.
Устройство обнаружено и я создал узел для него в /dev
с sh /dev/MAKEDEV audio1
, а затем связан остальными устройствами , чтобы он указывал на новую звуковой карту. Пока все хорошо, я могу бежать cat /dev/urandom > /dev/audio
и слышу белый шум. Однако я не могу запустить какой-либо другой звук через него.
Мой tail /var/log/messages
после подключения устройства:
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
Мой список соответствующих устройств от /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
Простой тест из FAQ, чтобы определить, проходят ли данные по устройству:
# 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
Мой 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
И, наконец, мой mixerctl -a
:
outputs.aux.mute=off
outputs.aux=255,255
Опять же, я могу cat /dev/urandom > /dev/audio
получить белый шум, но больше ничего, что я пробовал, не позволяет выводить другие звуки или музыку. Я тоже пытался, cat sample.au > /dev/audio
но это тоже было тихо.
Любые предложения или помощь будут с благодарностью! В худшем случае, надеюсь, кто-то может использовать шаги, которые я изложил здесь, для устранения неполадок в своих собственных звуковых устройствах.
mixerctl -v |grep output
?Ответы:
В OpenBSD воспроизведение / запись аудио по умолчанию обрабатывается демоном sndiod (1) . Имена устройств задокументированы в sndio (7) следующим образом:
Выходные данные
dmesg
указывают, что ваш USB включенaudio1
, поэтому добавьте следующее/etc/rc.conf.local
, чтобы указать два необработанных аудиоустройства (4), использующих второе по умолчанию:Тогда беги
/etc/rc.d/sndiod restart
.-f
Флаг также работает сaucat
для воспроизведения или записи аудио:источник
sndiod(1)
справочная страница поставили меня на правильный путь, и устройство работает отлично. Я ценю вашу помощь.