L'audio USB emette solo rumore bianco


9

Sto eseguendo OpenBSD / i386 5.1 su un laptop di 5 anni. Gli altoparlanti e la porta della cuffia funzionano, ma la porta della cuffia è un po 'allentata, quindi sto cercando di installare una scheda audio USB esterna (Fiio E17 USB DAC). Nessun problema nell'usarlo su Windows.

Il dispositivo viene rilevato e ho creato un nodo per esso /devcon sh /dev/MAKEDEV audio1, quindi ho collegato il resto dei dispositivi per puntare alla nuova scheda audio. Fin qui tutto bene, sono in grado di correre cat /dev/urandom > /dev/audioe sento rumore bianco. Tuttavia, non sono in grado di eseguire alcun altro audio attraverso di esso.

Il mio tail /var/log/messagesdopo aver collegato il dispositivo:

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

Il mio elenco di dispositivi pertinenti da /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

Un semplice test dalle FAQ per determinare se i dati passano sul dispositivo:

# 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

Il mio 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

E infine, il mio mixerctl -a:

outputs.aux.mute=off
outputs.aux=255,255

Ancora una volta sono in grado di cat /dev/urandom > /dev/audioottenere rumore bianco, ma nient'altro che ho provato mi consente di emettere altri suoni o musica. Ho anche provato, cat sample.au > /dev/audioma anche quello era silenzioso.

Qualsiasi suggerimento o aiuto sarà molto apprezzato! Nel peggiore dei casi, si spera che qualcuno possa utilizzare i passaggi che ho indicato qui per risolvere i propri dispositivi audio.


Qual è l'output di mixerctl -v |grep output?

Risposte:


2

Su OpenBSD la riproduzione / registrazione audio è gestita dal demone sndiod (1) per impostazione predefinita. I nomi dei dispositivi sono documentati in sndio (7) come segue:

 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).

L'output di dmesgindica che la tua USB è attiva audio1, quindi aggiungi quanto segue /etc/rc.conf.localper specificare due dispositivi audio grezzi (4) usando il secondo come predefinito:

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

Quindi corri /etc/rc.d/sndiod restart. Il -fflag funziona anche con aucatper la riproduzione o la registrazione dell'audio:

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

Grazie! La tua risposta e la sndiod(1)pagina man mi hanno messo sulla strada giusta e il dispositivo funziona alla grande. Apprezzo il vostro aiuto.
ssh2ksh,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.