Má všeobecná wiki

Kdo je blbý, ať si kůpi notes, já mám tuto wiki...

Uživatelské nástroje

Nástroje pro tento web


linux:lenovo_t430_micmute

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Následující verze
Předchozí verze
linux:lenovo_t430_micmute [2022/01/05 07:09]
chytrex vytvořeno
linux:lenovo_t430_micmute [2023/01/24 13:17] (aktuální)
mirda [Vytvoření ACPI handleru] neshodný výsledek z acpi_listen
Řádek 1: Řádek 1:
 ====== Lenovo T430 - Micmute howto ====== ====== Lenovo T430 - Micmute howto ======
  
-<WRAP center round important 60%> +===== Detekce systému =====
-FIXME - Jen aby se to neztratilo - PŘEPSAT!! +
-src: https://​gist.github.com/​tybenz/​5620255 +
-</​WRAP>​+
  
 +  * spustíme v terminálu <​code>​acpi_listen</​code>​
 +  * stiskneme tlačítko pro mute mikrofonu.
 +  * zapíšeme si výsledek <​code>​button/​micmute MICMUTE 00000080 00000000 K</​code>​
 +  * spustíme v terminálu <​code>​amixer scontrols</​code>​
 +  * zapíšeme si výsledek <​code>​Simple mixer control '​Capture',​0</​code>​
  
-Copied from askubuntu'​s [Enabling mic mute button and light on Lenovo Thinkpad](http://​askubuntu.com/​questions/​125367/​enabling-mic-mute-button-and-light-on-lenovo-thinkpads)+===== Vytvoření ACPI handleru =====
  
-There are two possible "​hardware"​ indicators (to show that mute is on or off):+  sudo vim /​etc/​acpi/​events/​lenovo-mutemic 
 +   
 +a do souboru vložíme:
  
-The Power button ​light (green) will blink to show when mute is on +  event=button/micmute MICMUTE 00000080 00000000 K 
-The Mic mute button light (orange) will be on or off to show mute status (just like in Windows)+  ​action=/​etc/​acpi/​lenovo-mutemic.sh
  
-Solution 2 requires a patched `thinkpad_acpi` kernel module, and is only recommended for advanced users who know what they are doing. This is because the patch is not included by the `thinkpad_acpi` developers by default, ([See this discussion for more details](http://comments.gmane.org/​gmane.linux.drivers.platform.x86.devel/1962)).+Vytvoříme ovládací script: 
 +  sudo vim /etc/acpi/lenovo-mutemic.sh
  
-###Common Steps +do souboru vložíme následující obsah:
-----+
  
-###a. Determining the Mic-Mute hotkey code and Mic input device +<file bash>
- +
-- Open terminal with `Ctrl+Alt+T` +
-- Run `acpi_listen`,​ and press the mute key +
-- Note the result, which should be something like: `ibm/hotkey HKEY 00000080 0000101b` +
-- Then run `amixer scontrols`, you should see one of the following in the output: +
- +
-``` +
-Simple mixer control '​Internal Mic',​0 +
-``` +
- +
-or +
- +
-``` +
-Simple mixer control '​Capture',​0 +
-``` +
- +
-Depending on what you see, "​Internal Mic" or "​Capture"​ is your input device. +
- +
-###b. Create the Mic-Mute ACPI event handler +
- +
-- Open terminal, type `gksudo gedit /​etc/​acpi/​events/​lenovo-mutemic` to open the editor. +
-- In the editor, paste in the following, where the first line should be the code shown in the previous section by `acpi_listen`:​ +
- +
-``` +
-event=ibm/​hotkey HKEY 00000080 0000101b +
-action=/​etc/​acpi/​lenovo-mutemic.sh +
-``` +
- +
-- Save and exit the editor. +
- +
---- +
-###Choosing either the Power Light or Mic Mute indicators +
---- +
- +
-###c-1. Mic-Mute script with Power Button indicator +
- +
-- Do this if you want an easy solution and do not want to use the patched kernel module (see C-2). +
-- Open terminal, type `gksudo gedit /​etc/​acpi/​lenovo-mutemic.sh` +
-- In the editor, paste: +
- +
-```+
 #!/bin/bash #!/bin/bash
-INPUT_DEVICE="'​Internal Mic'"​ +INPUT_DEVICE="'​Capture'"​ 
-YOUR_USERNAME="​place_your_username_here"​ +amixer sset $INPUT_DEVICE,​0 toggle ​                       
-if amixer sget $INPUT_DEVICE,​0 | grep '​\[on\]'​ ; then +</file>
-    amixer sset $INPUT_DEVICE,​0 toggle +
-    echo "0 blink" > /​proc/​acpi/​ibm/​led +
-    su $YOUR_USERNAME -c '​DISPLAY=":​0.0"​ notify-send -t 50 \ +
-            -i microphone-sensitivity-muted-symbolic "Mic MUTED"'​ +
-else +
-    ​amixer sset $INPUT_DEVICE,​0 toggle ​                       +
-    su $YOUR_USERNAME -c '​DISPLAY=":​0.0"​ notify-send -t 50 \ +
-            -i microphone-sensitivity-high-symbolic "Mic ON"'​ +
-    echo "0 on" > /proc/​acpi/​ibm/​led  +
-fi +
-``` +
- +
-- Replace value of INPUT_DEVICE variable with `Capture` if that is your input device name (leave all the ticks intact). +
- +
-- Replace value of YOUR_USERNAME variable with the account name of the user you want to send notifications to +
-- Save and exit the editor. +
-- Now run the following (from the terminal):​ +
- +
-``` +
-sudo chmod +x /​etc/​acpi/​lenovo-mutemic.sh +
-sudo service acpid restart +
-``` +
- +
-- Jump to the Testing section (d) to confirm that it works. +
- +
-###c-2. Mic-mute with official Mic-mute Indicator Light +
- +
-#####​Setting up the script +
- +
-- *Please do not use this method if you are not familiar with the terminal/​shell.* +
-- This will require compiling a patched `thinkpad_acpi` module and has been verified to work with Ubuntu Precise 12.04 and Quantal 12.10, kernels 3.2.0-23 and 3.2.0-24 and 3.5.0-21. +
-- Let's create the script first: `/​etc/​acpi/​lenovo-mutemic.sh` should be as in section c-1, with the following additions:​ +
-- Insert this line after the header (#​!/​bin/​bash):​ +
- +
-``` +
-MICMUTE=/​sys/​devices/​platform/​thinkpad_acpi/​leds/​tpacpi::​micmute/​brightness +
-``` +
- +
-- After the first echo... line, insert: +
- +
-``` +
-echo 1 $MICMUTE +
-``` +
- +
-- And after the second echo... line, insert: +
- +
-``` +
-echo 0 > $MICMUTE +
-``` +
- +
-- You can find an example of what the full script should look like in this paste +
- +
-- Then: +
- +
-``` +
-sudo chmod +x /​etc/​acpi/​lenovo-mutemic.sh +
-sudo service acpid restart +
-``` +
- +
-- Confirm that pressing the mute button results in a blinking power light; pressing again gives a steady power light. +
- +
-#####​Building,​ testing and installing the kernel module +
- +
-- Install (or ensure) you have the headers and built tools for your currently running kernel with: +
- +
-```bash +
-sudo apt-get install linux-headers-$(uname -r) build-essential +
-``` +
- +
-- Make a temporary directory and change to it: +
- +
-```bash +
-mkdir ~/tpacpi && cd ~/tpacpi +
-``` +
- +
-- Download the source file `thinkpad_acpi.c` from the Ubuntu Kernel git repository:​ +
- +
-```bash +
-wget -Othinkpad_acpi.c "​http://​kernel.ubuntu.com/​git?​p=ubuntu/​ubuntu-$(lsb_release -sc).git;​\ +
-a=blob_plain;​f=drivers/​platform/​x86/​thinkpad_acpi.c;​hb=HEAD"​  +
-``` +
- +
-- Patch it with (copy and paste the full line): +
- +
-```bash +
-sed -i -e '​s/"​tpacpi::​thinkvantage",/"​tpacpi::​thinkvantage",​\n\t"​tpacpi::​unknown_led4",​\n\t"​tpacpi::​micmute",/​g'​ -e '​s/​0x1081U/​0x5081U/​g'​ -e '​s/​0x1fffU/​0x5fffU/​g'​ thinkpad_acpi.c +
-``` +
- +
-In the same folder where thinkpad_acpi.c has been downloaded, you will need a "​Makefile"​. You can download it directly from this Pastebin, using: +
- +
-```bash +
-wget -OMakefile http://​pastebin.com/​raw.php?​i=ybpnxeUT +
-``` +
- +
-- OR paste the below into a file called Makefile: +
- +
-```bash +
-obj-m += thinkpad_acpi.o +
- +
-all: +
- make -C /​lib/​modules/​$(shell uname -r)/build M=$(PWD) modules +
- +
-clean: +
- make -C /​lib/​modules/​$(shell uname -r)/build M=$(PWD) clean +
-``` +
- +
-- Now type make to create the module; you will see a thinkpad_acpi.ko file in the folder when done. +
- +
-- Test the patched module after loading it with: +
- +
-```bash +
-sudo rmmod thinkpad_acpi && sudo insmod thinkpad_acpi.ko +
-``` +
- +
-- Now confirm that pressing the mic button will turn the orange mic light on/off AND the power light blinking/​steady.+
  
-- If confirmed, do the following to replace your current `thinkpad_acpi` module:+Pokud se výstup amixer příkazu lišil patřičně pozměníme proměnnou INPUT_DEVICE
  
-```bash +Následně nastavíme příznak spouštění a restartujeme acpid
-TPDIR=/​lib/​modules/​$(uname -r)/​kernel/​drivers/​platform/​x86 +
-sudo mv $TPDIR/​thinkpad_acpi.ko $TPDIR/​thinkpad_acpi.ko.stock +
-sudo mv /​where/​you/​built/​it/​tpacpi_micmute/​thinkpad_acpi.ko $TPDIR/​thinkpad_acpi.ko +
-```+
  
-- Comment out or delete the power led lines in lenovo-micmute.sh+  sudo chmod +x /etc/acpi/lenovo-mutemic.sh 
 +  sudo invoke-rc.d acpid restart 
 +   
 +===== Nastavení LED na tlačítku =====
  
-###d. Testing+  * v terminálu otevřít <​code>​LANG=C alsamixer</​code>​ 
 +  * **F6** - zvolit **HDA INTEL PCH** 
 +  * najít item **Mic Mute-LED mode** a nastavit na **Follow capture** 
 +  * vyskočit z alsamixeru a uložit alsa konfiguraci <​code>​sudo alsactl store</​code>​
  
-- Apart from your choice of indicator, you can also confirm mute via the following: 
  
-![](http://i.stack.imgur.com/Nkbip.png)+Zdroj: https://gist.github.com/tybenz/​5620255 - modifikováno pro jednodušší,​ více systémové řešení.
  
-- Click on the volume icon on the top rightand sound settings at the bottom: +Testováno na Devuan Chimaerakernel 5.10.0-10
-- Switch to the "​Input"​ tab. +
-Now have fun pressing the Mic Mute button, you should see it reflected in:+
  
-1. The Mute checkbox in the window 
-2. Notification bubbles (won't appear instantly if you press the Mic Mute more than once every few seconds!) 
-3. Your chosen indicator: the blinking power button light or the built-in Mic Mute light. 
linux/lenovo_t430_micmute.1641362991.txt.gz · Poslední úprava: 2022/01/05 07:09 autor: chytrex