Headset USB com (Built-In DAC / AMP) não reconhecido corretamente pelo PulseAudio

1

Bom dia,

Estou executando o Arch Linux, o Kernel 4.8.12-2, o Pulseaudio verson 9.0 e não consigo conectar consistentemente meus fones de ouvido (Steelseries Siberia V2).

Combinações de un / re-plugging nos fones de ouvido e emissão de:

pulseaudio -k

E eles podem eventualmente se tornar operacionais.

Por favor, veja a saída relevante do dmesg:

[17202.328130] usb 1-1: USB disconnect, device number 96
[17204.286978] usb 1-1: new full-speed USB device number 97 using xhci_hcd
[17204.522796] usb 1-1: Warning! Unlikely big volume range (=4096), cval->res is probably wrong.
[17204.522798] usb 1-1: [11] FU [Sidetone Playback Volume] ch = 1, val = 0/4096/1
[17204.531129] input: SteelSeries Siberia V2 Illuminated as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.3/0003:1038:1211.00CD/input/input186
[17204.587147] hid-generic 0003:1038:1211.00CD: input,hidraw4: USB HID v1.00 Device [SteelSeries Siberia V2 Illuminated] on usb-0000:00:14.0-1/input3
[17205.116783] usb 1-1: 1:1: cannot get freq at ep 0x81
[17205.116876] usb 1-1: 1:1: cannot set freq 44100 to ep 0x81
[17205.118644] usb 1-1: 1:1: cannot get freq at ep 0x81
[17205.118753] usb 1-1: 1:1: cannot set freq 44100 to ep 0x81
[17205.120551] usb 1-1: 1:1: cannot get freq at ep 0x81
[17205.120636] usb 1-1: 1:1: cannot set freq 44100 to ep 0x81
[17205.124903] usb 1-1: 2:1: cannot set freq 44100 to ep 0x1
[17205.133565] usb 1-1: 2:1: cannot set freq 44100 to ep 0x1
[17205.143628] usb 1-1: 2:1: cannot set freq 44100 to ep 0x1
[17205.156692] usb 1-1: 2:1: cannot set freq 44100 to ep 0x1
[17205.163247] usb 1-1: 2:1: cannot set freq 44100 to ep 0x1
[17205.173248] usb 1-1: 2:1: cannot set freq 44100 to ep 0x1
[17205.179868] usb 1-1: 2:1: cannot set freq 44100 to ep 0x1
[17205.189928] usb 1-1: 2:1: cannot set freq 44100 to ep 0x1
[17205.201316] usb 1-1: 2:1: cannot set freq 44100 to ep 0x1
[17205.209981] usb 1-1: 2:1: cannot set freq 44100 to ep 0x1
[17205.216593] usb 1-1: 2:1: cannot set freq 44100 to ep 0x1
[17205.223250] usb 1-1: 2:1: cannot set freq 44100 to ep 0x1
[17205.230363] usb 1-1: 2:1: cannot set freq 44100 to ep 0x1
[17205.240175] usb 1-1: 2:1: cannot set freq 44100 to ep 0x1
[17205.246611] usb 1-1: 2:1: cannot set freq 44100 to ep 0x1
[17205.253303] usb 1-1: 2:1: cannot set freq 44100 to ep 0x1
[17205.259986] usb 1-1: 1:1: cannot set freq 44100 to ep 0x81
[17205.261718] usb 1-1: 1:1: cannot set freq 44100 to ep 0x81
[17205.263447] usb 1-1: 1:1: cannot set freq 44100 to ep 0x81
[17205.265200] usb 1-1: 1:1: cannot set freq 44100 to ep 0x81
[17205.266924] usb 1-1: 1:1: cannot set freq 44100 to ep 0x81
[17205.268716] usb 1-1: 1:1: cannot set freq 44100 to ep 0x81
[17205.270437] usb 1-1: 1:1: cannot set freq 44100 to ep 0x81
[17205.272172] usb 1-1: 1:1: cannot set freq 44100 to ep 0x81

Configuração Pulseaudio

$ pulseaudio -v --dump-conf 
### Read from configuration file: /etc/pulse/daemon.conf ###
daemonize = no
fail = yes
high-priority = yes
nice-level = -11
realtime-scheduling = yes
realtime-priority = 5
allow-module-loading = yes
allow-exit = yes
use-pid-file = yes
system-instance = no
local-server-type = user
cpu-limit = no
enable-shm = yes
flat-volumes = no
lock-memory = no
exit-idle-time = 20
scache-idle-time = 20
dl-search-path = /usr/lib/pulse-9.0/modules
default-script-file = /etc/pulse/default.pa
load-default-script-file = yes
log-target = 
log-level = info
resample-method = auto
enable-remixing = yes
enable-lfe-remixing = no
lfe-crossover-freq = 0
default-sample-format = s16le
default-sample-rate = 44100
alternate-sample-rate = 48000
default-sample-channels = 2
default-channel-map = front-left,front-right
default-fragments = 4
default-fragment-size-msec = 25
enable-deferred-volume = yes
deferred-volume-safety-margin-usec = 8000
deferred-volume-extra-delay-usec = 0
shm-size-bytes = 0
log-meta = no
log-time = no
log-backtrace = 0
rlimit-fsize = -1
rlimit-data = -1
rlimit-stack = -1
rlimit-core = -1
rlimit-rss = -1
rlimit-as = -1
rlimit-nproc = -1
rlimit-nofile = 256
rlimit-memlock = -1
rlimit-locks = -1
rlimit-sigpending = -1
rlimit-msgqueue = -1
rlimit-nice = 31
rlimit-rtprio = 9
rlimit-rttime = 200000

Métodos de reamostragem do Pulseaudio

$ pulseaudio -v --dump-resample-methods 
trivial
speex-float-0
speex-float-1
speex-float-2
speex-float-3
speex-float-4
speex-float-5
speex-float-6
speex-float-7
speex-float-8
speex-float-9
speex-float-10
speex-fixed-0
speex-fixed-1
speex-fixed-2
speex-fixed-3
speex-fixed-4
speex-fixed-5
speex-fixed-6
speex-fixed-7
speex-fixed-8
speex-fixed-9
speex-fixed-10
ffmpeg
auto
copy
peaks
soxr-mq
soxr-hq
soxr-vhq
    
por nyameko 07.12.2016 / 10:41

1 resposta

0

Lista de dissipadores

$ pacmd list-sinks
2 sink(s) available.
    index: 0
    name: <alsa_output.pci-0000_00_03.0.hdmi-stereo>
    driver: <module-alsa-card.c>
    flags: HARDWARE DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
    state: SUSPENDED
    suspend cause: IDLE 
    priority: 9950
    volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
            balance 0.00
    base volume: 65536 / 100% / 0.00 dB
    volume steps: 65537
    muted: no
    current latency: 0.00 ms
    max request: 0 KiB
    max rewind: 0 KiB
    monitor source: 0
    sample spec: s16le 2ch 44100Hz
    channel map: front-left,front-right
                 Stereo
    used by: 0
    linked by: 0
    configured latency: 0.00 ms; range is 0.50 .. 1999.82 ms
    card: 0 <alsa_card.pci-0000_00_03.0>
    module: 6
    properties:
        alsa.resolution_bits = "16"
        device.api = "alsa"
        device.class = "sound"
        alsa.class = "generic"
        alsa.subclass = "generic-mix"
        alsa.name = "HDMI 0"
        alsa.id = "HDMI 0"
        alsa.subdevice = "0"
        alsa.subdevice_name = "subdevice #0"
        alsa.device = "3"
        alsa.card = "0"
        alsa.card_name = "HDA Intel HDMI"
        alsa.long_card_name = "HDA Intel HDMI at 0xd3710000 irq 32"
        alsa.driver_name = "snd_hda_intel"
        device.bus_path = "pci-0000:00:03.0"
        sysfs.path = "/devices/pci0000:00/0000:00:03.0/sound/card0"
        device.bus = "pci"
        device.vendor.id = "8086"
        device.vendor.name = "Intel Corporation"
        device.product.id = "0c0c"
        device.product.name = "Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller"
        device.form_factor = "internal"
        device.string = "hdmi:0"
        device.buffering.buffer_size = "352768"
        device.buffering.fragment_size = "176384"
        device.access_mode = "mmap+timer"
        device.profile.name = "hdmi-stereo"
        device.profile.description = "Digital Stereo (HDMI)"
        device.description = "Built-in Audio Digital Stereo (HDMI)"
        alsa.mixer_name = "Intel Haswell HDMI"
        alsa.components = "HDA:80862807,80860101,00100000"
        module-udev-detect.discovered = "1"
        device.icon_name = "audio-card-pci"
    ports:
        hdmi-output-0: HDMI / DisplayPort (priority 5900, latency offset 0 usec, available: no)
            properties:
                device.icon_name = "video-display"
    active port: <hdmi-output-0>
  * index: 1
    name: <alsa_output.pci-0000_00_1b.0.analog-stereo>
    driver: <module-alsa-card.c>
    flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
    state: SUSPENDED
    suspend cause: IDLE 
    priority: 9959
    volume: front-left: 45875 /  70% / -9.29 dB,   front-right: 45875 /  70% / -9.29 dB
            balance 0.00
    base volume: 65536 / 100% / 0.00 dB
    volume steps: 65537
    muted: no
    current latency: 0.00 ms
    max request: 0 KiB
    max rewind: 0 KiB
    monitor source: 2
    sample spec: s16le 2ch 44100Hz
    channel map: front-left,front-right
                 Stereo
    used by: 0
    linked by: 0
    configured latency: 0.00 ms; range is 0.50 .. 2000.00 ms
    card: 2 <alsa_card.pci-0000_00_1b.0>
    module: 8
    properties:
        alsa.resolution_bits = "16"
        device.api = "alsa"
        device.class = "sound"
        alsa.class = "generic"
        alsa.subclass = "generic-mix"
        alsa.name = "92HD91BXX Analog"
        alsa.id = "92HD91BXX Analog"
        alsa.subdevice = "0"
        alsa.subdevice_name = "subdevice #0"
        alsa.device = "0"
        alsa.card = "1"
        alsa.card_name = "HDA Intel PCH"
        alsa.long_card_name = "HDA Intel PCH at 0xd3714000 irq 29"
        alsa.driver_name = "snd_hda_intel"
        device.bus_path = "pci-0000:00:1b.0"
        sysfs.path = "/devices/pci0000:00/0000:00:1b.0/sound/card1"
        device.bus = "pci"
        device.vendor.id = "8086"
        device.vendor.name = "Intel Corporation"
        device.product.id = "8c20"
        device.product.name = "8 Series/C220 Series Chipset High Definition Audio Controller"
        device.form_factor = "internal"
        device.string = "front:1"
        device.buffering.buffer_size = "352800"
        device.buffering.fragment_size = "176400"
        device.access_mode = "mmap+timer"
        device.profile.name = "analog-stereo"
        device.profile.description = "Analog Stereo"
        device.description = "Built-in Audio Analog Stereo"
        alsa.mixer_name = "IDT 92HD91BXX"
        alsa.components = "HDA:111d76e0,103c1963,00100303"
        module-udev-detect.discovered = "1"
        device.icon_name = "audio-card-pci"
    ports:
        analog-output-speaker: Speakers (priority 10000, latency offset 0 usec, available: unknown)
            properties:
                device.icon_name = "audio-speakers"
        analog-output-headphones: Headphones (priority 9000, latency offset 0 usec, available: no)
            properties:
                device.icon_name = "audio-headphones"
    active port: <analog-output-speaker>

Eu suspeito que não é relacionado à energia nem a uma taxa de amostragem, mas sim uma inicialização específica, com o aperto de mão e a passagem de dispositivos entre Alsa e Pulseaudio.

Astaxasdeamostragemde44,1KHze48KHzfuncionamcomotestedealto-falante:

$speaker-test-Dhw:2,0-r48000-c2speaker-test1.1.2Playbackdeviceishw:2,0Streamparametersare48000Hz,S16_LE,2channelsUsing16octavesofpinknoiseRatesetto48000Hz(requested48000Hz)Buffersizerangefrom96to262144Periodsizerangefrom48to131072Usingmaxbuffersize262144Periods=4wassetperiod_size=65536wassetbuffer_size=2621440-FrontLeft1-FrontRight^CTimeperperiod=3.812795$speaker-test-Dhw:2,0-r44100-c2speaker-test1.1.2Playbackdeviceishw:2,0Streamparametersare44100Hz,S16_LE,2channelsUsing16octavesofpinknoiseRatesetto44100Hz(requested44100Hz)Buffersizerangefrom90to262144Periodsizerangefrom45to131072Usingmaxbuffersize262144Periods=4wassetperiod_size=65536wassetbuffer_size=2621440-FrontLeft1-FrontRight^CTimeperperiod=3.919252

Porfavor,encontre/etc/pulse/default.pa

#!/usr/bin/pulseaudio-nF##ThisfileispartofPulseAudio.##PulseAudioisfreesoftware;youcanredistributeitand/ormodifyit#underthetermsoftheGNULesserGeneralPublicLicenseaspublishedby#theFreeSoftwareFoundation;eitherversion2oftheLicense,or#(atyouroption)anylaterversion.##PulseAudioisdistributedinthehopethatitwillbeuseful,but#WITHOUTANYWARRANTY;withouteventheimpliedwarrantyof#MERCHANTABILITYorFITNESSFORAPARTICULARPURPOSE.SeetheGNU#GeneralPublicLicenseformoredetails.##YoushouldhavereceivedacopyoftheGNULesserGeneralPublicLicense#alongwithPulseAudio;ifnot,see<http://www.gnu.org/licenses/>.#ThisstartupscriptisusedonlyifPulseAudioisstartedper-user#(i.e.notinsystemmode).fail###Automaticallyrestorethevolumeofstreamsanddevicesload-modulemodule-device-restoreload-modulemodule-stream-restoreload-modulemodule-card-restore###Automaticallyaugmentpropertyinformationfrom.desktopfiles###storedin/usr/share/applicationload-modulemodule-augment-properties###Shouldbeaftermodule-*-restorebutbeforemodule-*-detectload-modulemodule-switch-on-port-availableload-modulemodule-switch-on-connect###Loadaudiodriversstatically###(it'sprobablybettertonotloadthesedriversmanually,butinstead###usemodule-udev-detect--seebelow--fordoingthisautomatically)#load-modulemodule-alsa-sink#load-modulemodule-alsa-sourcedevice=hw:1,0#load-modulemodule-ossdevice="/dev/dsp" sink_name=output source_name=input
#load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input
#load-module module-null-sink
#load-module module-pipe-sink

### Automatically load driver modules depending on the hardware available
.ifexists module-udev-detect.so
load-module module-udev-detect
.else
### Use the static hardware detection module (for systems that lack udev support)
load-module module-detect
.endif

### Automatically connect sink and source if JACK server is present
.ifexists module-jackdbus-detect.so
.nofail
load-module module-jackdbus-detect channels=2
.fail
.endif

### Automatically load driver modules for Bluetooth hardware
.ifexists module-bluetooth-policy.so
load-module module-bluetooth-policy
.endif

.ifexists module-bluetooth-discover.so
load-module module-bluetooth-discover
.endif

### Load several protocols
.ifexists module-esound-protocol-unix.so
load-module module-esound-protocol-unix
.endif
load-module module-native-protocol-unix

### Network access (may be configured with paprefs, so leave this commented
### here if you plan to use paprefs)
#load-module module-esound-protocol-tcp
#load-module module-native-protocol-tcp
#load-module module-zeroconf-publish

### Load the RTP receiver module (also configured via paprefs, see above)
#load-module module-rtp-recv

### Load the RTP sender module (also configured via paprefs, see above)
#load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'"
#load-module module-rtp-send source=rtp.monitor

### Load additional modules from GConf settings. This can be configured with the paprefs tool.
### Please keep in mind that the modules configured by paprefs might conflict with manually
### loaded modules.
.ifexists module-gconf.so
.nofail
load-module module-gconf
.fail
.endif

### Automatically restore the default sink/source when changed by the user
### during runtime
### NOTE: This should be loaded as early as possible so that subsequent modules
### that look up the default sink/source get the right value
load-module module-default-device-restore

### Automatically move streams to the default sink if the sink they are
### connected to dies, similar for sources
load-module module-rescue-streams

### Make sure we always have a sink around, even if it is a null sink.
load-module module-always-sink

### Honour intended role device property
load-module module-intended-roles

### Automatically suspend sinks/sources that become idle for too long
#load-module module-suspend-on-idle

### If autoexit on idle is enabled we want to make sure we only quit
### when no local session needs us anymore.
.ifexists module-console-kit.so
load-module module-console-kit
.endif
.ifexists module-systemd-login.so
load-module module-systemd-login
.endif

### Enable positioned event sounds
load-module module-position-event-sounds

### Cork music/video streams when a phone stream is active
load-module module-role-cork

### Modules to allow autoloading of filters (such as echo cancellation)
### on demand. module-filter-heuristics tries to determine what filters
### make sense, and module-filter-apply does the heavy-lifting of
### loading modules and rerouting streams.
load-module module-filter-heuristics
load-module module-filter-apply

### Make some devices default
#set-default-sink output
#set-default-source input

/etc/pulse/client.conf

# This file is part of PulseAudio.
#
# PulseAudio is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# PulseAudio is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.

## Configuration file for PulseAudio clients. See pulse-client.conf(5) for
## more information. Default values are commented out.  Use either ; or # for
## commenting.

; default-sink =
; default-source =
; default-server =
; default-dbus-server =

autospawn = no
; autospawn = yes
; daemon-binary = /usr/bin/pulseaudio
; extra-arguments = --log-target=syslog

; cookie-file =

; enable-shm = yes
; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB

; auto-connect-localhost = no
; auto-connect-display = no

/etc/pulse/daemon.conf
# This file is part of PulseAudio.
#
# PulseAudio is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# PulseAudio is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.

## Configuration file for the PulseAudio daemon. See pulse-daemon.conf(5) for
## more information. Default values are commented out.  Use either ; or # for
## commenting.

; daemonize = no
; fail = yes
; allow-module-loading = yes
; allow-exit = yes
; use-pid-file = yes
; system-instance = no
; local-server-type = user
; enable-shm = yes
; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB
; lock-memory = no
; cpu-limit = no

; high-priority = yes
; nice-level = -11

; realtime-scheduling = yes
; realtime-priority = 5

; exit-idle-time = 20
; scache-idle-time = 20

; dl-search-path = (depends on architecture)

; load-default-script-file = yes
; default-script-file = /etc/pulse/default.pa

; log-target = auto
; log-level = notice
; log-meta = no
; log-time = no
; log-backtrace = 0

; resample-method = speex-float-1
; enable-remixing = yes
; enable-lfe-remixing = no
; lfe-crossover-freq = 0

flat-volumes = no
; flat-volumes = yes

; rlimit-fsize = -1
; rlimit-data = -1
; rlimit-stack = -1
; rlimit-core = -1
; rlimit-as = -1
; rlimit-rss = -1
; rlimit-nproc = -1
; rlimit-nofile = 256
; rlimit-memlock = -1
; rlimit-locks = -1
; rlimit-sigpending = -1
; rlimit-msgqueue = -1
; rlimit-nice = 31
; rlimit-rtprio = 9
; rlimit-rttime = 200000

; default-sample-format = s16le
; default-sample-rate = 44100
; default-sample-rate = 48000
; alternate-sample-rate = 48000
; default-sample-channels = 2
; default-channel-map = front-left,front-right

; default-fragments = 4
; default-fragment-size-msec = 25

; enable-deferred-volume = yes
; deferred-volume-safety-margin-usec = 8000
; deferred-volume-extra-delay-usec = 0

Obrigado pela sua ajuda. Desculpe por adicionar detalhes adicionais em "Resposta"

    
por 07.12.2016 / 10:50