If I save the ALSA state with the headphones unplugged to a file:
sudo alsactl --file=settings-out.txt store
And then plug in the headphones and restore it:
sudo alsactl --file=settings-out.txt restore
I still get no sound. But then diffing the final state against the
unplugged state did find this:
control.175 {
iface CARD
name 'Headphone Jack'
- value false
+ value true
comment {
access read
type BOOLEAN
count 1
}
}
control.176 {
iface CARD
name 'Headset Mic Jack'
- value false
+ value true
comment {
access read
type BOOLEAN
count 1
}
}
I need to convince ALSA to report/interpret those boolean jack states
the other way around.
--
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to alsa-lib in Ubuntu.
https://bugs.launchpad.net/bugs/1824259
Title:
Headphone jack switch sense is inverted: plugging in headphones
disables headphone output
Status in alsa-lib package in Ubuntu:
New
Bug description:
My machine is a LattePanda board, which uses a "chtrt5645" device as a
sound card. It has a single headphone output jack, which I think is a
TRRS jack, with a mic input, such as is normally used on phones.
When I don't have headphones plugged in, the system thinks headphones
*are* plugged in. Gnome Control Center shows my audio device as being
headphones. If I insert a headphone connector partway into the jack, I
can even get sound in the headphones.
But if I plug the headphones all the way in, the system decided that I
have *un*plugged the headphones, and switches output over to
"Speaker". The system doesn't actually have a speaker, only a
headphone jack. And when the system switches over to "Speaker", I get
no sound out of the headphones, even if I open "pavucontrol" and swap
over to "Headphones (unplugged)" on the "Output Devices" tab.
This is what "pacmd"'s "list-cards" command says with my headphones
*unplugged*:
2 card(s) available.
index: 0
name: <alsa_card.pci-0000_00_02.0-platform-hdmi-lpe-audio>
driver: <module-alsa-card.c>
owner module: 7
properties:
alsa.card = "1"
alsa.card_name = "Intel HDMI/DP LPE Audio"
alsa.long_card_name = "Intel HDMI/DP LPE Audio"
alsa.driver_name = "snd_hdmi_lpe_audio"
device.bus_path = "pci-0000:00:02.0-platform-hdmi-lpe-audio"
sysfs.path =
"/devices/pci0000:00/0000:00:02.0/hdmi-lpe-audio/sound/card1"
device.bus = "pci"
device.vendor.id = "8086"
device.vendor.name = "Intel Corporation"
device.product.id = "22b0"
device.product.name = "Atom/Celeron/Pentium Processor
x5-E8000/J3xxx/N3xxx Series PCI Configuration Registers"
device.string = "1"
device.description = "Atom/Celeron/Pentium Processor
x5-E8000/J3xxx/N3xxx Series PCI Configuration Registers"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
profiles:
output:hdmi-stereo: Digital Stereo (HDMI) Output (priority
5900, available: no)
output:hdmi-surround: Digital Surround 5.1 (HDMI) Output
(priority 800, available: no)
output:hdmi-surround71: Digital Surround 7.1 (HDMI) Output
(priority 800, available: no)
output:hdmi-stereo-extra1: Digital Stereo (HDMI 2) Output
(priority 5700, available: no)
output:hdmi-surround-extra1: Digital Surround 5.1 (HDMI 2)
Output (priority 600, available: no)
output:hdmi-surround71-extra1: Digital Surround 7.1 (HDMI 2)
Output (priority 600, available: no)
output:hdmi-stereo-extra2: Digital Stereo (HDMI 3) Output
(priority 5700, available: no)
output:hdmi-surround-extra2: Digital Surround 5.1 (HDMI 3)
Output (priority 600, available: no)
output:hdmi-surround71-extra2: Digital Surround 7.1 (HDMI 3)
Output (priority 600, available: no)
off: Off (priority 0, available: unknown)
active profile: <off>
ports:
hdmi-output-0: HDMI / DisplayPort (priority 5900, latency
offset 0 usec, available: no)
properties:
device.icon_name = "video-display"
hdmi-output-1: HDMI / DisplayPort 2 (priority 5800, latency
offset 0 usec, available: no)
properties:
device.icon_name = "video-display"
hdmi-output-2: HDMI / DisplayPort 3 (priority 5700, latency
offset 0 usec, available: no)
properties:
device.icon_name = "video-display"
index: 1
name: <alsa_card.platform-cht-bsw-rt5645>
driver: <module-alsa-card.c>
owner module: 8
properties:
alsa.card = "0"
alsa.card_name = "chtrt5645"
alsa.long_card_name =
"AMICorporation-Defaultstring-Defaultstring-CherryTrailCR"
alsa.driver_name = "snd_soc_sst_cht_bsw_rt5645"
device.bus_path = "platform-cht-bsw-rt5645"
sysfs.path =
"/devices/pci0000:00/808622A8:00/cht-bsw-rt5645/sound/card0"
device.form_factor = "internal"
device.string = "0"
device.description = "Built-in Audio"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card"
profiles:
HiFi: Default (priority 8000, available: unknown)
off: Off (priority 0, available: unknown)
active profile: <HiFi>
sinks:
alsa_output.platform-cht-bsw-rt5645.HiFi__hw_chtrt5645__sink/#0: Built-in Audio
Headphones + Speaker
sources:
alsa_output.platform-cht-bsw-rt5645.HiFi__hw_chtrt5645__sink.monitor/#0:
Monitor of Built-in Audio Headphones + Speaker
alsa_input.platform-cht-bsw-rt5645.HiFi__hw_chtrt5645__source/#1: Built-in
Audio Headset Microphone + Internal Analog Microphone
ports:
[Out] Headphones: Headphones (priority 100, latency offset 0
usec, available: yes)
properties:
[Out] Speaker: Speaker (priority 100, latency offset 0 usec,
available: no)
properties:
[In] HSMic: Headset Microphone (priority 100, latency offset 0
usec, available: yes)
properties:
[In] Mic: Internal Analog Microphone (priority 150, latency
offset 0 usec, available: no)
properties:
When I plug in the headphones, the entry for card 1 changes to:
index: 1
name: <alsa_card.platform-cht-bsw-rt5645>
driver: <module-alsa-card.c>
owner module: 8
properties:
alsa.card = "0"
alsa.card_name = "chtrt5645"
alsa.long_card_name =
"AMICorporation-Defaultstring-Defaultstring-CherryTrailCR"
alsa.driver_name = "snd_soc_sst_cht_bsw_rt5645"
device.bus_path = "platform-cht-bsw-rt5645"
sysfs.path =
"/devices/pci0000:00/808622A8:00/cht-bsw-rt5645/sound/card0"
device.form_factor = "internal"
device.string = "0"
device.description = "Built-in Audio"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card"
profiles:
HiFi: Default (priority 8000, available: unknown)
off: Off (priority 0, available: unknown)
active profile: <HiFi>
sinks:
alsa_output.platform-cht-bsw-rt5645.HiFi__hw_chtrt5645__sink/#0: Built-in Audio
Headphones + Speaker
sources:
alsa_output.platform-cht-bsw-rt5645.HiFi__hw_chtrt5645__sink.monitor/#0:
Monitor of Built-in Audio Headphones + Speaker
alsa_input.platform-cht-bsw-rt5645.HiFi__hw_chtrt5645__source/#1: Built-in
Audio Headset Microphone + Internal Analog Microphone
ports:
[Out] Headphones: Headphones (priority 100, latency offset 0
usec, available: no)
properties:
[Out] Speaker: Speaker (priority 100, latency offset 0 usec,
available: unknown)
properties:
[In] HSMic: Headset Microphone (priority 100, latency offset 0
usec, available: no)
properties:
[In] Mic: Internal Analog Microphone (priority 150, latency
offset 0 usec, available: unknown)
properties:
Note that the "Headphones" port is now "available: no".
PulseAudio is getting all these ports from Alsa's UCM (Use Case
Manager) system, which has a bunch of config files that live in
/usr/share/alsa/ucm. I tried editing
/usr/share/alsa/ucm/chtrt5645/HiFi.conf to swap the enable and disable
procedures for the headphones and the speakers, in hopes of convincing
it to route audio out the headphone jack, but that didn't work.
This problem has affected me since at least Ubuntu 18.04. I've
upgraded through 18.10 and to 19.04 today. All three releases have the
same problem.
1. How is the PulseAudio/ALSA system determining whether headphones
are plugged in or not?
2. How do I invert the sense of that test?
ProblemType: Bug
DistroRelease: Ubuntu 19.04
Package: libasound2 1.1.8-1
ProcVersionSignature: Ubuntu 5.0.0-8.9-generic 5.0.1
Uname: Linux 5.0.0-8-generic x86_64
ApportVersion: 2.20.10-0ubuntu26
Architecture: amd64
CurrentDesktop: ubuntu:GNOME
Date: Wed Apr 10 19:21:09 2019
InstallationDate: Installed on 2018-12-08 (123 days ago)
InstallationMedia: Ubuntu 18.04.1 LTS "Bionic Beaver" - Release amd64
(20180725)
ProcEnviron:
TERM=xterm-256color
PATH=(custom, no user)
XDG_RUNTIME_DIR=<set>
LANG=en_US.UTF-8
SHELL=/bin/bash
SourcePackage: alsa-lib
UpgradeStatus: Upgraded to disco on 2019-04-11 (0 days ago)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/alsa-lib/+bug/1824259/+subscriptions
--
Mailing list: https://launchpad.net/~touch-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~touch-packages
More help : https://help.launchpad.net/ListHelp