mute microphone button not working

Bug #1708875 reported by Or Schiro
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ubuntu MATE
Invalid
Undecided
Unassigned
linux (Ubuntu)
Invalid
Undecided
Unassigned
mate-settings-daemon (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

I don't remember if that button ever worked in previous releases but on my X230 pressing this button doesn't mute the microphone.

Anyone else with the same problem?

Attached the button I am referring to.

To the contrary, the button to mute the audio works.
---
ApportVersion: 2.20.6-0ubuntu5
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: orschiro 1354 F.... pulseaudio
CurrentDesktop: MATE
DistroRelease: Ubuntu 17.10
HibernationDevice: RESUME=UUID=2f35eaaf-14d7-4156-9029-eb60bff76095
InstallationDate: Installed on 2017-08-05 (10 days ago)
InstallationMedia: Ubuntu-MATE 17.10 "Artful Aardvark" - Alpha amd64 (20170725.1)
MachineType: LENOVO 23352CG
Package: linux (not installed)
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-4.12.0-11-generic root=/dev/mapper/fedora-root ro quiet splash acpi_backlight=vendor vt.handoff=7
ProcVersionSignature: Ubuntu 4.12.0-11.12-generic 4.12.5
RelatedPackageVersions:
 linux-restricted-modules-4.12.0-11-generic N/A
 linux-backports-modules-4.12.0-11-generic N/A
 linux-firmware 1.167
RfKill:
 0: phy0: Wireless LAN
  Soft blocked: no
  Hard blocked: no
StagingDrivers: r8188eu
Tags: artful staging
Uname: Linux 4.12.0-11-generic x86_64
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo
_MarkForUpload: True
dmi.bios.date: 04/19/2017
dmi.bios.vendor: LENOVO
dmi.bios.version: G2ETA8WW (2.68 )
dmi.board.asset.tag: Not Available
dmi.board.name: 23352CG
dmi.board.vendor: LENOVO
dmi.board.version: NO DPK
dmi.chassis.asset.tag: No Asset Information
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: Not Available
dmi.modalias: dmi:bvnLENOVO:bvrG2ETA8WW(2.68):bd04/19/2017:svnLENOVO:pn23352CG:pvrThinkPadX230:rvnLENOVO:rn23352CG:rvrNODPK:cvnLENOVO:ct10:cvrNotAvailable:
dmi.product.family: ThinkPad X230
dmi.product.name: 23352CG
dmi.product.version: ThinkPad X230
dmi.sys.vendor: LENOVO

Revision history for this message
Or Schiro (orschiro) wrote :
Revision history for this message
Martin Wimpress  (flexiondotorg) wrote :

I can't reproduce this on my hardware. I believe Thinkpad require some tuning.

Changed in ubuntu-mate:
status: New → Incomplete
summary: - 17.10 Alpha 2: mute microphone button not working
+ mute microphone button not working
Changed in ubuntu-mate:
status: Incomplete → Invalid
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:

apport-collect 1708875

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Revision history for this message
Or Schiro (orschiro) wrote : AlsaInfo.txt

apport information

tags: added: apport-collected artful staging
description: updated
Revision history for this message
Or Schiro (orschiro) wrote : CRDA.txt

apport information

Revision history for this message
Or Schiro (orschiro) wrote : CurrentDmesg.txt

apport information

Revision history for this message
Or Schiro (orschiro) wrote : IwConfig.txt

apport information

Revision history for this message
Or Schiro (orschiro) wrote : JournalErrors.txt

apport information

Revision history for this message
Or Schiro (orschiro) wrote : Lspci.txt

apport information

Revision history for this message
Or Schiro (orschiro) wrote : Lsusb.txt

apport information

Revision history for this message
Or Schiro (orschiro) wrote : ProcCpuinfo.txt

apport information

Revision history for this message
Or Schiro (orschiro) wrote : ProcCpuinfoMinimal.txt

apport information

Revision history for this message
Or Schiro (orschiro) wrote : ProcEnviron.txt

apport information

Revision history for this message
Or Schiro (orschiro) wrote : ProcInterrupts.txt

apport information

Revision history for this message
Or Schiro (orschiro) wrote : ProcModules.txt

apport information

Revision history for this message
Or Schiro (orschiro) wrote : PulseList.txt

apport information

Revision history for this message
Or Schiro (orschiro) wrote : UdevDb.txt

apport information

Revision history for this message
Or Schiro (orschiro) wrote : WifiSyslog.txt

apport information

Revision history for this message
Or Schiro (orschiro) wrote :

Hey Martin, I hope this helps. If anything else, please let me know!

Thanks

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

Looks like it can mute:
P: /devices/platform/thinkpad_acpi/input/input9/event7
N: input/event7
S: input/by-path/platform-thinkpad_acpi-event
E: BACKSPACE=guess
E: DEVLINKS=/dev/input/by-path/platform-thinkpad_acpi-event
E: DEVNAME=/dev/input/event7
E: DEVPATH=/devices/platform/thinkpad_acpi/input/input9/event7
..
E: KEYBOARD_KEY_16=mute

Please run `sudo evtest` and select event7 (it may change the number), press the mute key, can check the output?

Revision history for this message
Or Schiro (orschiro) wrote :
Download full text (4.4 KiB)

Thanks, Kai-Heng!

Pressed the mute button several times:

orschiro@x230:~$ sudo evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0: Lid Switch
/dev/input/event1: Sleep Button
/dev/input/event2: Power Button
/dev/input/event3: AT Translated Set 2 keyboard
/dev/input/event4: Video Bus
/dev/input/event6: SynPS/2 Synaptics TouchPad
/dev/input/event7: ThinkPad Extra Buttons
/dev/input/event8: Integrated Camera
/dev/input/event9: HDA Intel PCH Mic
/dev/input/event10: HDA Intel PCH Dock Mic
/dev/input/event11: HDA Intel PCH Headphone
/dev/input/event12: HDA Intel PCH Dock Headphone
/dev/input/event13: HDA Intel PCH HDMI/DP,pcm=3
/dev/input/event14: HDA Intel PCH HDMI/DP,pcm=7
/dev/input/event15: HDA Intel PCH HDMI/DP,pcm=8
/dev/input/event16: TPPS/2 IBM TrackPoint
Select the device event number [0-16]: 7
Input driver version is 1.0.1
Input device ID: bus 0x19 vendor 0x17aa product 0x5054 version 0x4101
Input device name: "ThinkPad Extra Buttons"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 113 (KEY_MUTE)
    Event code 114 (KEY_VOLUMEDOWN)
    Event code 115 (KEY_VOLUMEUP)
    Event code 120 (KEY_SCALE)
    Event code 142 (KEY_SLEEP)
    Event code 144 (KEY_FILE)
    Event code 148 (KEY_PROG1)
    Event code 152 (KEY_SCREENLOCK)
    Event code 158 (KEY_BACK)
    Event code 171 (KEY_CONFIG)
    Event code 173 (KEY_REFRESH)
    Event code 190 (KEY_F20)
    Event code 191 (KEY_F21)
    Event code 194 (KEY_F24)
    Event code 205 (KEY_SUSPEND)
    Event code 212 (KEY_CAMERA)
    Event code 217 (KEY_SEARCH)
    Event code 224 (KEY_BRIGHTNESSDOWN)
    Event code 225 (KEY_BRIGHTNESSUP)
    Event code 227 (KEY_SWITCHVIDEOMODE)
    Event code 228 (KEY_KBDILLUMTOGGLE)
    Event code 236 (KEY_BATTERY)
    Event code 237 (KEY_BLUETOOTH)
    Event code 238 (KEY_WLAN)
    Event code 240 (KEY_UNKNOWN)
    Event code 364 (KEY_FAVORITES)
    Event code 372 (KEY_ZOOM)
    Event code 374 (KEY_KEYBOARD)
    Event code 466 (KEY_FN_F1)
    Event code 475 (KEY_FN_F10)
    Event code 476 (KEY_FN_F11)
    Event code 582 (KEY_VOICECOMMAND)
    Event code 592 (KEY_BRIGHTNESS_MIN)
  Event type 4 (EV_MSC)
    Event code 4 (MSC_SCAN)
  Event type 5 (EV_SW)
    Event code 3 (SW_RFKILL_ALL) state 1
Properties:
Testing ... (interrupt to exit)
Event: time 1502871647.643633, type 4 (EV_MSC), code 4 (MSC_SCAN), value 1a
Event: time 1502871647.643633, type 1 (EV_KEY), code 190 (KEY_F20), value 1
Event: time 1502871647.643633, -------------- SYN_REPORT ------------
Event: time 1502871647.643659, type 4 (EV_MSC), code 4 (MSC_SCAN), value 1a
Event: time 1502871647.643659, type 1 (EV_KEY), code 190 (KEY_F20), value 0
Event: time 1502871647.643659, -------------- SYN_REPORT ------------
Event: time 1502871649.353737, type 4 (EV_MSC), code 4 (MSC_SCAN), value 1a
Event: time 1502871649.353737, type 1 (EV_KEY), code 190 (KEY_F20), value 1
Event: time 1502871649.353737, -------------- SYN_REPORT ------------
Event: time 1502871649.353760, type 4 (EV_MSC), code 4 (MSC_SCAN), value 1a
Event: time 1502871649.353760, type 1 (EV_KEY), code 190 (KEY_F20), value 0
Event: time 1502871649.353760, -------------- SY...

Read more...

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

Open /lib/udev/hwdb.d/60-keyboard.hwdb

Find "evdev:name:ThinkPad Extra Buttons:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*", then delete "KEYBOARD_KEY_1a=mute", delete "KEYBOARD_KEY_16=mute".

Reboot and see if this works.

Revision history for this message
Or Schiro (orschiro) wrote : Re: [Bug 1708875] Re: mute microphone button not working

I deleted those two occurrences but it's not working.

Any other suggestions?

On 08/16/2017 11:45 AM, Kai-Heng Feng wrote:
> Open /lib/udev/hwdb.d/60-keyboard.hwdb
>
> Find "evdev:name:ThinkPad Extra
> Buttons:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*", then delete
> "KEYBOARD_KEY_1a=mute", delete "KEYBOARD_KEY_16=mute".
>
> Reboot and see if this works.
>

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

It's typo.
Just find "KEYBOARD_KEY_1a" underneath "evdev:name:ThinkPad Extra Buttons:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*" and let it "=mute".

Revision history for this message
Or Schiro (orschiro) wrote :
Download full text (57.0 KiB)

Still not working after those edits. Did I do something wrong?

Here is my entire file after the edits:

# /lib/udev/hwdb.d/60-keyboard.hwdb

# This file is part of systemd.
#
# This file contains 3 types of metadata to apply to keyboards and
# keyboard-like input devices:
# - Key mapping
# - Hard-coded layouts
# - Absence of modifier LEDs
#
# The matching process is the same for the different types of metadata.
#
# ########################### MATCHING #######################################
#
# The lookup keys are composed in:
# 60-evdev.rules
#
# Note: The format of the "evdev:" prefix match key is a
# contract between the rules file and the hardware data, it might
# change in later revisions to support more or better matches, it
# is not necessarily expected to be a stable ABI.
#
# Supported hardware matches are:
# - Generic input devices match:
# evdev:input:bZZZZvYYYYpXXXXeWWWW-VVVV
# This matches on the kernel modalias of the input-device, mainly:
# ZZZZ is the bus-id (see /usr/include/linux/input.h BUS_*), YYYY, XXXX and
# WWW are the 4-digit hex uppercase vendor, product and version ID and VVVV
# is an arbitrary length input-modalias describing the device capabilities.
# The vendor, product and version ID for a device node "eventX" is listed
# in /sys/class/input/eventX/device/id.
#
# - AT keyboard DMI data matches:
# evdev:atkbd:dmi:bvn*:bvr*:bd*:svn<vendor>:pn<product>:pvr*
# <vendor> and <product> are the firmware-provided strings
# exported by the kernel DMI modalias, see /sys/class/dmi/id/modalias
#
# - Input driver device name and DMI data match:
# evdev:name:<input device name>:dmi:bvn*:bvr*:bd*:svn<vendor>:pn*
# <input device name> is the name device specified by the
# driver, <vendor> is the firmware-provided string exported
# by the kernel DMI modalias, see /sys/class/dmi/id/modalias
#
# - Extended input driver device name, properties and DMI data match:
# evdev:name:<input device name>:phys:<phys>:ev:<ev>:dmi:bvn*:bvr*:bd*:svn<vendor>:pn*
# <input device name> is the name device specified by the
# driver, <phys> is the physical-device-path, "cat
# /sys/class/input/input?/phys", <ev> is the event bitmask, "cat
# /sys/class/input/input?/capabilities/ev" and <vendor> is the
# firmware-provided string exported by the kernel DMI modalias,
# see /sys/class/dmi/id/modalias

# ######################### KEY MAPPING ######################################
#
# Keyboard mapping of scan codes to key codes, and
# scan codes to add to the AT keyboard's 'force-release' list.
#
# Scan codes are specified as:
# KEYBOARD_KEY_<hex scan code>=<key code identifier>
# The scan code should be expressed in hex lowercase. The key codes
# are retrieved and normalized from the kernel input API header.
# Keycodes are either KEY_* defines in lowercase with the key_ prefix
# optionally removed or BTN_ defines in lowercase with btn_ preserved.
#
# An '!' as the first character of the key identifier string
# will add the scan code to the AT keyboard's list of scan codes
# where the driver will synthesize a release event and not expect
# it to be generated by the hardware.
#
# To...

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

Find the Lenovo section:

###########################################################
# Lenovo
###########################################################

# thinkpad_acpi driver
evdev:name:ThinkPad Extra Buttons:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*
 KEYBOARD_KEY_01=mute
 KEYBOARD_KEY_02=battery
 KEYBOARD_KEY_03=sleep
 KEYBOARD_KEY_04=wlan
 KEYBOARD_KEY_06=switchvideomode
 KEYBOARD_KEY_07=f21
 KEYBOARD_KEY_08=f24
 KEYBOARD_KEY_0b=suspend
 KEYBOARD_KEY_0f=brightnessup
 KEYBOARD_KEY_10=brightnessdown
 KEYBOARD_KEY_11=kbdillumtoggle
 KEYBOARD_KEY_13=zoom
 KEYBOARD_KEY_14=volumeup
 KEYBOARD_KEY_15=volumedown
 KEYBOARD_KEY_16=mute
 KEYBOARD_KEY_17=prog1
 KEYBOARD_KEY_1a=f20 # Microphone mute button; should be micmute

The last four lines are:
 KEYBOARD_KEY_15=volumedown
 KEYBOARD_KEY_16=mute
 KEYBOARD_KEY_17=prog1
 KEYBOARD_KEY_1a=f20

Make them to:
 KEYBOARD_KEY_15=volumedown
 KEYBOARD_KEY_17=prog1
 KEYBOARD_KEY_1a=mute

Revision history for this message
Or Schiro (orschiro) wrote :

I am pretty sure I didn't do any mistake but the key is still not working. I will also attach an animation to show how volume mute produces a notification, and volume down/up as well. Just the mic doesn't trigger a notification, nor does it actually mute the mic (checked in the sound preferences).

###########################################################
# Lenovo
###########################################################

# thinkpad_acpi driver
evdev:name:ThinkPad Extra Buttons:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*
 KEYBOARD_KEY_01=mute
 KEYBOARD_KEY_02=battery
 KEYBOARD_KEY_03=sleep
 KEYBOARD_KEY_04=wlan
 KEYBOARD_KEY_06=switchvideomode
 KEYBOARD_KEY_07=f21
 KEYBOARD_KEY_08=f24
 KEYBOARD_KEY_0b=suspend
 KEYBOARD_KEY_0f=brightnessup
 KEYBOARD_KEY_10=brightnessdown
 KEYBOARD_KEY_11=kbdillumtoggle
 KEYBOARD_KEY_13=zoom
 KEYBOARD_KEY_14=volumeup
 KEYBOARD_KEY_15=volumedown
 KEYBOARD_KEY_17=prog1
 KEYBOARD_KEY_1a=mute

Revision history for this message
Or Schiro (orschiro) wrote :

Here is the animation. In the last seconds I am pressing the mic mute button but nothing happens.

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

I am sorry, I was totally wrong, I thought it's "mute" button instead of "mic mute".

Please change the .hwdb file to its original state, micmute should be f20.

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

Looks like MATE's mate-settings-daemon doesn't do anything to the hotkey [1].

However GNOME's gnome-settings-daemon does have micmute function [2].

So mate-settings-daemon needs to implement/backport the micmute function into its media keys plugin.

[1] https://github.com/mate-desktop/mate-settings-daemon/blob/master/plugins/media-keys/msd-media-keys-manager.c#L923

[2] https://github.com/GNOME/gnome-settings-daemon/blob/master/plugins/media-keys/gsd-media-keys-manager.c#L2301

Changed in linux (Ubuntu):
status: Incomplete → Invalid
Revision history for this message
Or Schiro (orschiro) wrote :

Thanks for your help on this, Kai!

How can I now restore my original file?

I forgot to create a backup.

Changed in mate-settings-daemon (Ubuntu):
status: New → Triaged
Revision history for this message
Or Schiro (orschiro) wrote :

Please forget my previous comment. Found the solution to restoring the file:

# Find the package that provides the file:
orschiro@x230:~$ dpkg -S /lib/udev/hwdb.d/60-keyboard.hwdb

# Reinstall package:
orschiro@x230:~$ sudo apt install --reinstall udev

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

This should do:
$ sudo apt --reinstall install udev

Revision history for this message
Vlad Orlov (monsta) wrote :
Changed in mate-settings-daemon (Ubuntu):
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.