USBオーディオはホワイトノイズのみを出力します


9

5歳のラップトップでOpenBSD / i386 5.1を実行しています。スピーカーとヘッドフォンポートは機能しますが、ヘッドフォンポートが少し緩んでいるため、外部USBサウンドカード(Fiio E17 USB DAC)を取り付けようとしています。Windowsでは問題なく使用できます。

デバイスが検出されたと私は、それのためにノードを作成される/devsh /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ため、2番目のデバイスをデフォルトとして使用して2 つのraw オーディオ(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 2014年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.