USB-аудіо видає лише білий шум


9

Я працюю на 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?

Відповіді:


2

На OpenBSD відтворення / запис звуку обробляється демоном sndiod (1) за замовчуванням. Назви пристроїв задокументовані в sndio (7) наступним чином:

 type      The type of the audio device or MIDI port.  Possible values
           are:

              rsnd      Raw audio(4) device.
              rmidi     Raw midi(4) port.
              snd       Audio device exposed by sndiod(1).
              midithru  MIDI thru box created with sndiod(1).
              midi      MIDI port exposed by sndiod(1).
              default   Default audio device or MIDI port (see below).

Вихід dmesgвказує на те, що ваш USB увімкнено audio1, тому додайте наступне /etc/rc.conf.local, щоб вказати два необроблених аудіо (4) пристрої, що використовують другий за замовчуванням:

sndiod_flags="-f rsnd/1 -f rsnd/0"

Потім бігайте /etc/rc.d/sndiod restart. -fПрапор також працює з aucatдля відтворення або записати звук:

aucat -f rsnd/1 -i my.wav # second "raw" audio device 
aucat -f snd/1 -i my.wav  # second sndiod device

Дякую! Ваша відповідь та sndiod(1)сторінка man довели мене до правильного шляху, і пристрій чудово працює. Я вдячний за твою допомогу.
ssh2ksh
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.