szszoke / sennheiser-gsp670-pulseaudio-profile Goto Github PK
View Code? Open in Web Editor NEWPulseAudio profile for the Sennheiser GSP 670 wireless gaming headset
License: MIT License
PulseAudio profile for the Sennheiser GSP 670 wireless gaming headset
License: MIT License
Hi, I can't get microphone to work on Kubuntu for some reason. Audio output works fine over wireless dongle, but microphone isn't even found. When I attach USB cable to the headset, audio still goes over wireless dongle (GSA 70?) and doesn't work if I change it to USB output (GSP 670). Microphone is then also found, but it doesn't work.
Firmware versions, checked on Windows:
I also found this thread, but I don't know if it's any use on Kubuntu: https://bbs.archlinux.org/viewtopic.php?id=251068
Ps. First time reporting issue like this when it comes to Linux, do tell what other information you need!
Hi buddy, I have purchased the SteelSeries Arctis 7, Logitech Headset G930 & Logitech G633 Artemis. All of the them having the SAME issue as you are fixing in this pulseaudio profile. I will be purchasing this specific Sennheiser model next month and if it works well with your profile I will like to send you a donation because you will be making my life MUCH BETTER for work and play.
I have a strange issue with my sound and that is some sound still uses my hdmi connections to my screens but all settings under sound says headphones - EPOS GS 70 with config Chat Output - Game Output - Chat input.
I followed @Akselmo how to get it to work https://github.com/szszoke/sennheiser-gsp670-pulseaudio-profile/issues/13#issuecomment-898555895
Anybody who has the same problem?
When starting the system, the headset works quite well. However, it just stops working randomly and one or many of these will fix it sometimes:
8.7.2022 17.46 pipewire spa.alsa: hw:2,0,0: snd_pcm_avail after recover: Broken pipe
I am using the linux-zen kernel. Maybe it has something to do with this? Either way, I really don't know how to go about debugging this. And I don't know where to get help with this.
Hi,
thanks for this project.
I could not yet figure out how to apply this profile when using pipewire-pulseaudio.
Could you maybe add some information regarding pipewire?
/Sascha
Here's the error in the system journal:
Jan 08 21:10:45 localhost.localdomain kernel: usb 1-4: new full-speed USB device number 32 using xhci_hcd
Jan 08 21:10:45 localhost.localdomain kernel: usb 1-4: New USB device found, idVendor=1395, idProduct=0089, bcdDevice= 3.01
Jan 08 21:10:45 localhost.localdomain kernel: usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Jan 08 21:10:45 localhost.localdomain kernel: usb 1-4: Product: Sennheiser GSA 70
Jan 08 21:10:45 localhost.localdomain kernel: usb 1-4: Manufacturer: Sennheiser
Jan 08 21:10:45 localhost.localdomain kernel: input: Sennheiser Sennheiser GSA 70 as /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.5/0003:1395:0089.011A/input/input470
Jan 08 21:10:45 localhost.localdomain kernel: input: Sennheiser Sennheiser GSA 70 Consumer Control as /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.5/0003:1395:0089.011A/input/input471
Jan 08 21:10:45 localhost.localdomain kernel: hid-generic 0003:1395:0089.011A: input,hiddev96,hidraw0: USB HID v1.11 Device [Sennheiser Sennheiser GSA 70] on usb-0000:00:14.0-4/input5
Jan 08 21:10:45 localhost.localdomain mtp-probe[4007829]: checking bus 1, device 32: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-4"
Jan 08 21:10:45 localhost.localdomain mtp-probe[4007829]: bus: 1, device: 32 was not an MTP device
Jan 08 21:10:45 localhost.localdomain google-chrome.desktop[3162]: [4617:4617:0108/211045.543450:ERROR:pulse_util.cc(343)] pa_operation is nullptr.
Jan 08 21:10:45 localhost.localdomain google-chrome.desktop[3162]: [4617:4617:0108/211045.543614:ERROR:pulse_util.cc(343)] pa_operation is nullptr.
Jan 08 21:10:45 localhost.localdomain google-chrome.desktop[3162]: [4617:4617:0108/211045.549987:ERROR:pulse_util.cc(343)] pa_operation is nullptr.
Jan 08 21:10:45 localhost.localdomain google-chrome.desktop[3162]: [4617:4617:0108/211045.550167:ERROR:pulse_util.cc(343)] pa_operation is nullptr.
Jan 08 21:10:45 localhost.localdomain google-chrome.desktop[3162]: [4617:4617:0108/211045.551696:ERROR:pulse_util.cc(343)] pa_operation is nullptr.
Jan 08 21:10:45 localhost.localdomain google-chrome.desktop[3162]: [4617:4617:0108/211045.551768:ERROR:pulse_util.cc(343)] pa_operation is nullptr.
Jan 08 21:10:45 localhost.localdomain google-chrome.desktop[3162]: [4617:4617:0108/211045.557256:ERROR:pulse_util.cc(343)] pa_operation is nullptr.
Jan 08 21:10:45 localhost.localdomain google-chrome.desktop[3162]: [4617:4617:0108/211045.557332:ERROR:pulse_util.cc(343)] pa_operation is nullptr.
Jan 08 21:10:45 localhost.localdomain google-chrome.desktop[3162]: [4617:4617:0108/211045.560827:ERROR:pulse_util.cc(343)] pa_operation is nullptr.
Jan 08 21:10:45 localhost.localdomain google-chrome.desktop[3162]: [4617:4617:0108/211045.560888:ERROR:pulse_util.cc(343)] pa_operation is nullptr.
Jan 08 21:10:45 localhost.localdomain /usr/libexec/gdm-x-session[1962]: (II) config/udev: Adding input device Sennheiser Sennheiser GSA 70 Consumer Control (/dev/input/event19)
Jan 08 21:10:45 localhost.localdomain /usr/libexec/gdm-x-session[1962]: (**) Sennheiser Sennheiser GSA 70 Consumer Control: Applying InputClass "evdev keyboard catchall"
Jan 08 21:10:45 localhost.localdomain /usr/libexec/gdm-x-session[1962]: (**) Sennheiser Sennheiser GSA 70 Consumer Control: Applying InputClass "libinput keyboard catchall"
Jan 08 21:10:45 localhost.localdomain /usr/libexec/gdm-x-session[1962]: (**) Sennheiser Sennheiser GSA 70 Consumer Control: Applying InputClass "system-keyboard"
Jan 08 21:10:45 localhost.localdomain /usr/libexec/gdm-x-session[1962]: (II) Using input driver 'libinput' for 'Sennheiser Sennheiser GSA 70 Consumer Control'
Jan 08 21:10:45 localhost.localdomain mtp-probe[4007849]: checking bus 1, device 32: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-4"
Jan 08 21:10:45 localhost.localdomain mtp-probe[4007849]: bus: 1, device: 32 was not an MTP device
Jan 08 21:10:45 localhost.localdomain google-chrome.desktop[3162]: [4617:4617:0108/211045.594085:ERROR:pulse_util.cc(343)] pa_operation is nullptr.
Jan 08 21:10:45 localhost.localdomain google-chrome.desktop[3162]: [4617:4617:0108/211045.594321:ERROR:pulse_util.cc(343)] pa_operation is nullptr.
Jan 08 21:10:45 localhost.localdomain /usr/libexec/gdm-x-session[1962]: (II) systemd-logind: got fd for /dev/input/event19 13:83 fd 59 paused 0
Jan 08 21:10:45 localhost.localdomain /usr/libexec/gdm-x-session[1962]: (**) Sennheiser Sennheiser GSA 70 Consumer Control: always reports core events
Jan 08 21:10:45 localhost.localdomain /usr/libexec/gdm-x-session[1962]: (**) Option "Device" "/dev/input/event19"
Jan 08 21:10:45 localhost.localdomain /usr/libexec/gdm-x-session[1962]: (**) Option "_source" "server/udev"
Jan 08 21:10:45 localhost.localdomain /usr/libexec/gdm-x-session[1962]: (II) event19 - Sennheiser Sennheiser GSA 70 Consumer Control: is tagged by udev as: Keyboard
Jan 08 21:10:45 localhost.localdomain /usr/libexec/gdm-x-session[1962]: (II) event19 - Sennheiser Sennheiser GSA 70 Consumer Control: device is a keyboard
Jan 08 21:10:45 localhost.localdomain /usr/libexec/gdm-x-session[1962]: (II) event19 - Sennheiser Sennheiser GSA 70 Consumer Control: device removed
Jan 08 21:10:45 localhost.localdomain /usr/libexec/gdm-x-session[1962]: (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.5/0003:1395:0089.011A/input/input471/event19"
Jan 08 21:10:45 localhost.localdomain /usr/libexec/gdm-x-session[1962]: (II) XINPUT: Adding extended input device "Sennheiser Sennheiser GSA 70 Consumer Control" (type: KEYBOARD, id 15)
Jan 08 21:10:45 localhost.localdomain /usr/libexec/gdm-x-session[1962]: (**) Option "xkb_layout" "us"
Jan 08 21:10:45 localhost.localdomain /usr/libexec/gdm-x-session[1962]: (II) event19 - Sennheiser Sennheiser GSA 70 Consumer Control: is tagged by udev as: Keyboard
Jan 08 21:10:45 localhost.localdomain /usr/libexec/gdm-x-session[1962]: (II) event19 - Sennheiser Sennheiser GSA 70 Consumer Control: device is a keyboard
Jan 08 21:10:45 localhost.localdomain /usr/libexec/gdm-x-session[1962]: (II) config/udev: Adding input device Sennheiser Sennheiser GSA 70 (/dev/input/event18)
Jan 08 21:10:45 localhost.localdomain /usr/libexec/gdm-x-session[1962]: (II) No input driver specified, ignoring this device.
Jan 08 21:10:45 localhost.localdomain /usr/libexec/gdm-x-session[1962]: (II) This device may have been added with another device file.
Jan 08 21:10:45 localhost.localdomain pulseaudio[4007407]: Failed to find a working profile.
Jan 08 21:10:45 localhost.localdomain pulseaudio[4007407]: Failed to load module "module-alsa-card" (argument: "device_id="1" name="usb-Sennheiser_Sennheiser_GSA_70-00" card_name="alsa_card.usb-Sennheiser_Sennheiser_GSA_70-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""): initialization failed.
Jan 08 21:10:45 localhost.localdomain pulseaudio[4007407]: Failed to find a working profile.
Jan 08 21:10:45 localhost.localdomain pulseaudio[4007407]: Failed to load module "module-alsa-card" (argument: "device_id="1" name="usb-Sennheiser_Sennheiser_GSA_70-00" card_name="alsa_card.usb-Sennheiser_Sennheiser_GSA_70-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""): initialization failed.
Jan 08 21:10:45 localhost.localdomain /usr/libexec/gdm-x-session[4007854]: The XKEYBOARD keymap compiler (xkbcomp) reports:
Jan 08 21:10:45 localhost.localdomain /usr/libexec/gdm-x-session[4007854]: > Internal error: Could not resolve keysym XF86FullScreen
Jan 08 21:10:45 localhost.localdomain /usr/libexec/gdm-x-session[4007854]: Errors from xkbcomp are not fatal to the X server
Will try to do some debugging
The dongle is not being recognized properly. It looks like udev thinks it's a keyboard?
Anyone have any idea what's going on here?
I am running the new branch for the updated firmware.
Kernel: Linux localhost 5.15.2-arch1-1 #1 SMP PREEMPT Fri, 12 Nov 2021 19:22:10 +0000 x86_64 GNU/Linux
journalctl -f
:
Nov 17 12:24:39 localhost kernel: usb 3-4: new full-speed USB device number 6 using xhci_hcd
Nov 17 12:24:39 localhost kernel: usb 3-4: New USB device found, idVendor=1395, idProduct=0300, bcdDevice= 3.03
Nov 17 12:24:39 localhost kernel: usb 3-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Nov 17 12:24:39 localhost kernel: usb 3-4: Product: EPOS GSA 70
Nov 17 12:24:39 localhost kernel: usb 3-4: Manufacturer: Sennheiser
Nov 17 12:24:39 localhost kernel: usb 3-4: 3:1: cannot set freq 48000 to ep 0x3
Nov 17 12:24:39 localhost kernel: usb 3-4: 1:1: cannot set freq 48000 to ep 0x7
Nov 17 12:24:39 localhost kernel: input: Sennheiser EPOS GSA 70 as /devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:06:00.3/usb3/3-4/3-4:1.5/0003:1395:0300.0011/input/input38
Nov 17 12:24:39 localhost kernel: input: Sennheiser EPOS GSA 70 Consumer Control as /devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:06:00.3/usb3/3-4/3-4:1.5/0003:1395:0300.0011/input/input39
Nov 17 12:24:39 localhost mtp-probe[6348]: checking bus 3, device 6: "/sys/devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:06:00.3/usb3/3-4"
Nov 17 12:24:39 localhost mtp-probe[6348]: bus: 3, device: 6 was not an MTP device
Nov 17 12:24:39 localhost kernel: hid-generic 0003:1395:0300.0011: input,hiddev100,hidraw13: USB HID v1.11 Device [Sennheiser EPOS GSA 70] on usb-0000:06:00.3-4/input5
Nov 17 12:24:39 localhost /usr/lib/gdm-x-session[1636]: (II) config/udev: Adding input device Sennheiser EPOS GSA 70 Consumer Control (/dev/input/event17)
Nov 17 12:24:39 localhost /usr/lib/gdm-x-session[1636]: (**) Sennheiser EPOS GSA 70 Consumer Control: Applying InputClass "libinput keyboard catchall"
Nov 17 12:24:39 localhost /usr/lib/gdm-x-session[1636]: (II) Using input driver 'libinput' for 'Sennheiser EPOS GSA 70 Consumer Control'
Nov 17 12:24:39 localhost /usr/lib/gdm-x-session[1636]: (II) systemd-logind: got fd for /dev/input/event17 13:81 fd 58 paused 0
Nov 17 12:24:39 localhost /usr/lib/gdm-x-session[1636]: (**) Sennheiser EPOS GSA 70 Consumer Control: always reports core events
Nov 17 12:24:39 localhost /usr/lib/gdm-x-session[1636]: (**) Option "Device" "/dev/input/event17"
Nov 17 12:24:39 localhost /usr/lib/gdm-x-session[1636]: (**) Option "_source" "server/udev"
Nov 17 12:24:39 localhost /usr/lib/gdm-x-session[1636]: (II) event17 - Sennheiser EPOS GSA 70 Consumer Control: is tagged by udev as: Keyboard
Nov 17 12:24:39 localhost /usr/lib/gdm-x-session[1636]: (II) event17 - Sennheiser EPOS GSA 70 Consumer Control: device is a keyboard
Nov 17 12:24:39 localhost /usr/lib/gdm-x-session[1636]: (II) event17 - Sennheiser EPOS GSA 70 Consumer Control: device removed
Nov 17 12:24:39 localhost /usr/lib/gdm-x-session[1636]: (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:06:00.3/usb3/3-4/3-4:1.5/0003:1395:0300.0011/input/input39/event17"
Nov 17 12:24:39 localhost /usr/lib/gdm-x-session[1636]: (II) XINPUT: Adding extended input device "Sennheiser EPOS GSA 70 Consumer Control" (type: KEYBOARD, id 14)
Nov 17 12:24:39 localhost mtp-probe[6367]: checking bus 3, device 6: "/sys/devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:06:00.3/usb3/3-4"
Nov 17 12:24:39 localhost mtp-probe[6367]: bus: 3, device: 6 was not an MTP device
Nov 17 12:24:39 localhost /usr/lib/gdm-x-session[1636]: (II) event17 - Sennheiser EPOS GSA 70 Consumer Control: is tagged by udev as: Keyboard
Nov 17 12:24:39 localhost /usr/lib/gdm-x-session[1636]: (II) event17 - Sennheiser EPOS GSA 70 Consumer Control: device is a keyboard
Nov 17 12:24:39 localhost /usr/lib/gdm-x-session[1636]: (II) config/udev: Adding input device Sennheiser EPOS GSA 70 (/dev/input/event16)
Nov 17 12:24:39 localhost /usr/lib/gdm-x-session[1636]: (II) No input driver specified, ignoring this device.
Nov 17 12:24:39 localhost /usr/lib/gdm-x-session[1636]: (II) This device may have been added with another device file.
/etc/udev/rules.d/91-pulseaudio-sennheiser-gsp670.rules
:
# GSA-70 dongle with updated firmware
ATTRS{idVendor}=="1395", ATTRS{idProduct}=="0300", ENV{PULSE_PROFILE_SET}="sennheiser-gsp670-usb-dongle-audio.conf"
# GSA-70 dongle with older firmware
ATTRS{idVendor}=="1395", ATTRS{idProduct}=="0089", ENV{PULSE_PROFILE_SET}="sennheiser-gsp670-usb-headset-audio.conf"
# GSP-670 headset
ATTRS{idVendor}=="1395", ATTRS{idProduct}=="008a", ENV{PULSE_PROFILE_SET}="sennheiser-gsp670-usb-headset-audio.conf"
/usr/share/pulseaudio/alsa-mixer/profile-sets/sennheiser-gsp670-usb-dongle-audio.conf
:
[General]
auto-profiles = yes
[Mapping analog-comm]
description = Communication
device-strings = hw:%f,1,0
channel-map = mono
paths-input = sennheiser-gsp670-input-comm
paths-output = sennheiser-gsp670-output-comm
[Mapping analog-main]
description = Main
device-strings = hw:%f,0,0
channel-map = left,right
paths-output = sennheiser-gsp670-output-main
direction = output
[Profile output:analog-comm+output:analog-main+input:analog-comm]
output-mappings = analog-comm analog-main
input-mappings = analog-comm
priority = 5100
skip-probe = yes
When plugged in, chat, game and the mic all get recognized. However with the dongle, you only have a single stereo output.
Hi, just letting you know this stopped working after updating my Arch Linux system to the lastest packages
Output of systemctl --user status pulseaudio.service
:
● pulseaudio.service - Sound Service
Loaded: loaded (/usr/lib/systemd/user/pulseaudio.service; disabled; vendor preset: enabled)
Active: active (running) since Thu 2020-10-15 11:59:03 EEST; 46s ago
TriggeredBy: ● pulseaudio.socket
Main PID: 882 (pulseaudio)
CGroup: /user.slice/user-1000.slice/[email protected]/pulseaudio.service
├─882 /usr/bin/pulseaudio --daemonize=no --log-target=journal
└─925 /usr/lib/pulse/gsettings-helper
oct 15 11:59:03 NuciTop systemd[797]: Starting Sound Service...
oct 15 11:59:03 NuciTop pulseaudio[882]: Failed to find a working profile.
oct 15 11:59:03 NuciTop pulseaudio[882]: Failed to load module "module-alsa-card" (argument: "device_id="1" name="usb-Sennheiser_Sennheiser_GSA_70-00" card_name="alsa_card.usb-Sennheiser_Sennheiser_GSA_70-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""): initialization failed.
oct 15 11:59:03 NuciTop pulseaudio[882]: module-rescue-stream is obsolete and should no longer be loaded. Please remove it from your configuration.
oct 15 11:59:03 NuciTop pulseaudio[882]: Module "module-udev-detect" should be loaded once at most. Refusing to load.
oct 15 11:59:03 NuciTop systemd[797]: Started Sound Service.
I'm trying to see what's wrong and if I find anything I'll post back here
Stereo seems to work fine after installing this, however this headset is now missing completely from the input devices dropdown.
Hi!
Thanks so much for your OSS efforts!
Would you happen to know if this would work with a GSP 370 headset?
Would like to enable the "Binaurality" of that headset^^
It currently only shows up as Mono output in Pulseaudio/Pavucontrol.
PS: If you suspect it won't, got any tips on what to search for look/for?
Hello!
I updated my Manjaro system to the 5.15.2-2-MANJARO
kernel and the dongle with the updated firmware just started working. I did not have this profile installed on my system.
I suppose the patch with the quirks table entry made it into a stable release.
The only out-of-ordinary thing on my system is that I am using PipeWire with Wireplumber as my audo server.
I would like to ask for some community feedback:
PipeWire
or PulseAudio
?I updated the EPOS Driver, the Dongle Driver, and the Headset Driver via EPOS (on a windows machine). After the update, I'm not able to use the Headset without the cable anymore, in other words, I cannot use the Dongle anymore.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.