Score:0

Pulseaudio uses Arozzi Sfera microphone as the default sink regardless of settings. How to diagnose or fix?

gr flag

I have an Arozzi Sfera tabletop microphone. It has a headphone jack in the back, for what I presume is a monitor.

When the microphone is attached, I can see various audio output devices listed in the "Sound" tab of my settings view, including my bluetooth headphones, the HDMI connection to a display, and the microphone. When I select any output device and use the "test" function, the audio gets directed to the microphone's headphone jack.

I have attempted to run pulseaudio -k and systemctl --user restart pulseaudio.service when the problem manifests, to no avail.

The pulseaudio service status looks like this:

● pulseaudio.service - Sound Service
     Loaded: loaded (/usr/lib/systemd/user/pulseaudio.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2022-11-09 17:04:12 EET; 17min ago
TriggeredBy: ● pulseaudio.socket
   Main PID: 7052 (pulseaudio)
      Tasks: 8 (limit: 19009)
     Memory: 9.8M
        CPU: 9.083s
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pulseaudio.service
             └─7052 /usr/bin/pulseaudio --daemonize=no --log-target=journal

marras 09 17:04:12 haem-desktop systemd[2192]: Starting Sound Service...
marras 09 17:04:12 haem-desktop pulseaudio[7052]: Failed to open cookie file '/home/haem/.config/pulse/cookie': Tiedostoa tai hakemistoa ei ole
marras 09 17:04:12 haem-desktop pulseaudio[7052]: Failed to load authentication key '/home/haem/.config/pulse/cookie': Tiedostoa tai hakemistoa ei ole
marras 09 17:04:12 haem-desktop pulseaudio[7052]: Module "module-udev-detect" should be loaded once at most. Refusing to load.
marras 09 17:04:12 haem-desktop systemd[2192]: Started Sound Service.
marras 09 17:04:12 haem-desktop pulseaudio[7052]: Could not find org.bluez.BatteryProviderManager1.RegisterBatteryProvider(), is bluetoothd started with experimental features enabled (-E flag)?
marras 09 17:04:38 haem-desktop pulseaudio[7052]: Transport Acquire() failed for transport /org/bluez/hci0/dev_2C_4D_79_40_C5_3B/sep1/fd2 (Input/output error)
marras 09 17:05:02 haem-desktop pulseaudio[7052]: org.freedesktop.DBus.Properties.Get /org/bluez/hci0/dev_2C_4D_79_40_C5_3B/sep1/fd3 Volume failed: org.freedesktop.DBus.Error.InvalidArgs: No such property 'Vo>
marras 09 17:05:02 haem-desktop pulseaudio[7052]: Battery Level: 100%
marras 09 17:05:02 haem-desktop pulseaudio[7052]: Dock Status: undocked

Unplugging the microphone and plugging it back in seems to occasionally fix the issue. When the issue is fixed, the status looks like

marras 09 17:04:12 haem-desktop pulseaudio[7052]: Failed to load authentication key '/home/haem/.config/pulse/cookie': Tiedostoa tai hakemistoa ei ole
marras 09 17:04:12 haem-desktop pulseaudio[7052]: Module "module-udev-detect" should be loaded once at most. Refusing to load.
marras 09 17:04:12 haem-desktop systemd[2192]: Started Sound Service.
marras 09 17:04:12 haem-desktop pulseaudio[7052]: Could not find org.bluez.BatteryProviderManager1.RegisterBatteryProvider(), is bluetoothd started with experimental features enabled (-E flag)?
marras 09 17:04:38 haem-desktop pulseaudio[7052]: Transport Acquire() failed for transport /org/bluez/hci0/dev_2C_4D_79_40_C5_3B/sep1/fd2 (Input/output error)
marras 09 17:05:02 haem-desktop pulseaudio[7052]: org.freedesktop.DBus.Properties.Get /org/bluez/hci0/dev_2C_4D_79_40_C5_3B/sep1/fd3 Volume failed: org.freedesktop.DBus.Error.InvalidArgs: No such property 'Vo>
marras 09 17:05:02 haem-desktop pulseaudio[7052]: Battery Level: 100%
marras 09 17:05:02 haem-desktop pulseaudio[7052]: Dock Status: undocked
marras 09 17:22:24 haem-desktop pulseaudio[7052]: Got POLLNVAL from ALSA
marras 09 17:22:24 haem-desktop pulseaudio[7052]: Error opening PCM device hw:1: Tiedostoa tai hakemistoa ei ole

"Tiedostoa tai hakemistoa ei ole" means "no such file or directory". I have checked that the folder /haem/.config/pulse/ exists.

Searching the output of pactl list for the word "Arozzi" gives me this:

Module #8
    Name: module-alsa-card
    Argument: device_id="1" name="usb-C-Media_Electronics_Inc._Arozzi_Sfera_Microphone-00" card_name="alsa_card.usb-C-Media_Electronics_Inc._Arozzi_Sfera_Microphone-00" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1"
    Usage counter: 0
    Properties:
        module.author = "Lennart Poettering"
        module.description = "ALSA Card"
        module.version = "15.99.1"

...

Sink #1
    State: SUSPENDED
    Name: alsa_output.usb-C-Media_Electronics_Inc._Arozzi_Sfera_Microphone-00.iec958-stereo
    Description: Audio Adapter (Unitek Y-247A) Digitaalinen stereo (IEC958)
    Driver: module-alsa-card.c
    Sample Specification: s16le 2ch 48000Hz
    Channel Map: front-left,front-right
    Owner Module: 8
    Mute: no
    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
    Monitor Source: alsa_output.usb-C-Media_Electronics_Inc._Arozzi_Sfera_Microphone-00.iec958-stereo.monitor
    Latency: 0 usec, configured 0 usec
    Flags: HARDWARE DECIBEL_VOLUME LATENCY SET_FORMATS 
    Properties:
        alsa.resolution_bits = "16"
        device.api = "alsa"
        device.class = "sound"
        alsa.class = "generic"
        alsa.subclass = "generic-mix"
        alsa.name = "USB Audio"
        alsa.id = "USB Audio"
        alsa.subdevice = "0"
        alsa.subdevice_name = "subdevice #0"
        alsa.device = "0"
        alsa.card = "1"
        alsa.card_name = "Arozzi Sfera Microphone"
        alsa.long_card_name = "C-Media Electronics Inc. Arozzi Sfera Microphone at usb-0000:00:14.0-4, full sp"
        alsa.driver_name = "snd_usb_audio"
        device.bus_path = "pci-0000:00:14.0-usb-0:4:1.0"
        sysfs.path = "/devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0/sound/card1"
        udev.id = "usb-C-Media_Electronics_Inc._Arozzi_Sfera_Microphone-00"
        device.bus = "usb"
        device.vendor.id = "0d8c"
        device.vendor.name = "C-Media Electronics, Inc."
        device.product.id = "0014"
        device.product.name = "Audio Adapter (Unitek Y-247A)"
        device.serial = "C-Media_Electronics_Inc._Arozzi_Sfera_Microphone"
        device.form_factor = "microphone"
        device.string = "iec958:1"
        device.buffering.buffer_size = "352800"
        device.buffering.fragment_size = "176400"
        device.access_mode = "mmap+timer"
        device.profile.name = "iec958-stereo"
        device.profile.description = "Digitaalinen stereo (IEC958)"
        device.description = "Audio Adapter (Unitek Y-247A) Digitaalinen stereo (IEC958)"
        module-udev-detect.discovered = "1"
        device.icon_name = "audio-input-microphone-usb"
    Ports:
        iec958-stereo-output: Digital Output (S/PDIF) (type: SPDIF, priority: 0, availability unknown)
    Active Port: iec958-stereo-output
    Formats:
        pcm

Source #1
    State: SUSPENDED
    Name: alsa_output.usb-C-Media_Electronics_Inc._Arozzi_Sfera_Microphone-00.iec958-stereo.monitor
    Description: Monitor of Audio Adapter (Unitek Y-247A) Digitaalinen stereo (IEC958)
    Driver: module-alsa-card.c
    Sample Specification: s16le 2ch 48000Hz
    Channel Map: front-left,front-right
    Owner Module: 8
    Mute: no
    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
    Monitor of Sink: alsa_output.usb-C-Media_Electronics_Inc._Arozzi_Sfera_Microphone-00.iec958-stereo
    Latency: 0 usec, configured 0 usec
    Flags: DECIBEL_VOLUME LATENCY 
    Properties:
        device.description = "Monitor of Audio Adapter (Unitek Y-247A) Digitaalinen stereo (IEC958)"
        device.class = "monitor"
        alsa.card = "1"
        alsa.card_name = "Arozzi Sfera Microphone"
        alsa.long_card_name = "C-Media Electronics Inc. Arozzi Sfera Microphone at usb-0000:00:14.0-4, full sp"
        alsa.driver_name = "snd_usb_audio"
        device.bus_path = "pci-0000:00:14.0-usb-0:4:1.0"
        sysfs.path = "/devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0/sound/card1"
        udev.id = "usb-C-Media_Electronics_Inc._Arozzi_Sfera_Microphone-00"
        device.bus = "usb"
        device.vendor.id = "0d8c"
        device.vendor.name = "C-Media Electronics, Inc."
        device.product.id = "0014"
        device.product.name = "Audio Adapter (Unitek Y-247A)"
        device.serial = "C-Media_Electronics_Inc._Arozzi_Sfera_Microphone"
        device.form_factor = "microphone"
        device.string = "1"
        module-udev-detect.discovered = "1"
        device.icon_name = "audio-input-microphone-usb"
    Formats:
        pcm

...
Source #2
    State: SUSPENDED
    Name: alsa_input.usb-C-Media_Electronics_Inc._Arozzi_Sfera_Microphone-00.mono-fallback
    Description: Audio Adapter (Unitek Y-247A) Mono
    Driver: module-alsa-card.c
    Sample Specification: s16le 1ch 44100Hz
    Channel Map: mono
    Owner Module: 8
    Mute: no
    Volume: mono: 48211 /  74% / -8,00 dB
            balance 0,00
    Base Volume: 27111 /  41% / -23,00 dB
    Monitor of Sink: n/a
    Latency: 0 usec, configured 0 usec
    Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY 
    Properties:
        alsa.resolution_bits = "16"
        device.api = "alsa"
        device.class = "sound"
        alsa.class = "generic"
        alsa.subclass = "generic-mix"
        alsa.name = "USB Audio"
        alsa.id = "USB Audio"
        alsa.subdevice = "0"
        alsa.subdevice_name = "subdevice #0"
        alsa.device = "0"
        alsa.card = "1"
        alsa.card_name = "Arozzi Sfera Microphone"
        alsa.long_card_name = "C-Media Electronics Inc. Arozzi Sfera Microphone at usb-0000:00:14.0-4, full sp"
        alsa.driver_name = "snd_usb_audio"
        device.bus_path = "pci-0000:00:14.0-usb-0:4:1.0"
        sysfs.path = "/devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0/sound/card1"
        udev.id = "usb-C-Media_Electronics_Inc._Arozzi_Sfera_Microphone-00"
        device.bus = "usb"
        device.vendor.id = "0d8c"
        device.vendor.name = "C-Media Electronics, Inc."
        device.product.id = "0014"
        device.product.name = "Audio Adapter (Unitek Y-247A)"
        device.serial = "C-Media_Electronics_Inc._Arozzi_Sfera_Microphone"
        device.form_factor = "microphone"
        device.string = "hw:1"
        device.buffering.buffer_size = "176400"
        device.buffering.fragment_size = "88200"
        device.access_mode = "mmap+timer"
        device.profile.name = "mono-fallback"
        device.profile.description = "Mono"
        device.description = "Audio Adapter (Unitek Y-247A) Mono"
        module-udev-detect.discovered = "1"
        device.icon_name = "audio-input-microphone-usb"
    Ports:
        analog-input-mic: Microphone (type: Mic, priority: 8700, availability unknown)
    Active Port: analog-input-mic
    Formats:
        pcm

...
Card #1
    Name: alsa_card.usb-C-Media_Electronics_Inc._Arozzi_Sfera_Microphone-00
    Driver: module-alsa-card.c
    Owner Module: 8
    Properties:
        alsa.card = "1"
        alsa.card_name = "Arozzi Sfera Microphone"
        alsa.long_card_name = "C-Media Electronics Inc. Arozzi Sfera Microphone at usb-0000:00:14.0-4, full sp"
        alsa.driver_name = "snd_usb_audio"
        device.bus_path = "pci-0000:00:14.0-usb-0:4:1.0"
        sysfs.path = "/devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0/sound/card1"
        udev.id = "usb-C-Media_Electronics_Inc._Arozzi_Sfera_Microphone-00"
        device.bus = "usb"
        device.vendor.id = "0d8c"
        device.vendor.name = "C-Media Electronics, Inc."
        device.product.id = "0014"
        device.product.name = "Audio Adapter (Unitek Y-247A)"
        device.serial = "C-Media_Electronics_Inc._Arozzi_Sfera_Microphone"
        device.form_factor = "microphone"
        device.string = "1"
        device.description = "Audio Adapter (Unitek Y-247A)"
        module-udev-detect.discovered = "1"
        device.icon_name = "audio-input-microphone-usb"
    Profiles:
        input:mono-fallback: Mono Sisääntulo (sinks: 0, sources: 1, priority: 1, available: yes)
        output:analog-stereo: Analoginen stereo Ulostulo (sinks: 1, sources: 0, priority: 6500, available: yes)
        output:analog-stereo+input:mono-fallback: Analoginen stereo Ulostulo + Mono Sisääntulo (sinks: 1, sources: 1, priority: 6501, available: yes)
        output:iec958-stereo: Digitaalinen stereo (IEC958) Ulostulo (sinks: 1, sources: 0, priority: 5500, available: yes)
        output:iec958-stereo+input:mono-fallback: Digitaalinen stereo (IEC958) Ulostulo + Mono Sisääntulo (sinks: 1, sources: 1, priority: 5501, available: yes)
        off: Poissa (sinks: 0, sources: 0, priority: 0, available: yes)
    Active Profile: output:iec958-stereo+input:mono-fallback
    Ports:
        analog-input-mic: Microphone (type: Mic, priority: 8700, latency offset: 0 usec, availability unknown)
            Properties:
                device.icon_name = "audio-input-microphone"
            Part of profile(s): input:mono-fallback, output:analog-stereo+input:mono-fallback, output:iec958-stereo+input:mono-fallback
        analog-output: Analog Output (type: Analogue, priority: 9900, latency offset: 0 usec, availability unknown)
            Part of profile(s): output:analog-stereo, output:analog-stereo+input:mono-fallback
        iec958-stereo-output: Digital Output (S/PDIF) (type: SPDIF, priority: 0, latency offset: 0 usec, availability unknown)
            Part of profile(s): output:iec958-stereo, output:iec958-stereo+input:mono-fallback


Unloading the alsa-card module by number (pactl unload-module 8 in this case) also disables the microphone as an input.

pactl info tells me that the default sink is bluez_sink.2C_4D_79_40_C5_3B.a2dp_sink. This changes when I change audio output from the settings.

A possibly related issue is that, when I disconnect and reconnect the microphone, I can see the microphone as the "default" output in my audio settings.

Another observation; when I explicitly set the audio sink in an application's settings, e.g. in the Discord desktop app, that works. It seems that it is only the default sink and/or gnome that exhibits this behavior.

Around the end of March this year, this behavior seems to have become constant. I know it worked correctly on the 30th. The only fix I have is to unplug the microphone.

I would like to know how to fix this. Failing that, I would like to know how to diagnose this to a point that I can make a bug report to the correct party.

Score:0
gr flag

I believe I have found the solution. Using pavucontrol, I found the audio profile of the microphone, and the profile configured for it was "Digital stereo output+mono input", which was confusing pulseaudio. I believe this is the iec958-stereo+input output profile.

Changing this to just "mono input", which I believe to be mono-fallback, fixed the issue.

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.