182 lines
7.9 KiB
HTML
Raw Normal View History

2024-03-07 10:30:51 +08:00
<!DOCTYPE html>
<html lang="en">
<head>
<title>Dich&#x27;blog</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=5">
<meta name="robots" content="noodp"/>
<link rel="stylesheet" href="https://blog.dich.ink/style.css">
<link rel="stylesheet" href="https://blog.dich.ink/color/blue.css">
<link rel="stylesheet" href="https://blog.dich.ink/color/background_dark.css">
<link rel="stylesheet" href="https://blog.dich.ink/font-hack-subset.css">
<meta name="description" content="">
<meta property="og:description" content="">
<meta property="og:title" content="Dich'blog">
<meta property="og:type" content="article">
<meta property="og:url" content="https://blog.dich.ink/mechrev-keyboard/">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:description" content="">
<meta name="twitter:title" content="Dich'blog">
<meta property="twitter:domain" content="blog.dich.ink">
<meta property="twitter:url" content="https://blog.dich.ink/mechrev-keyboard/">
<link rel="alternate" type="application/atom+xml" title="RSS" href="https://blog.dich.ink/atom.xml">
</head>
<body class="">
<div class="container">
<header class="header">
<div class="header__inner">
<div class="header__logo">
<a href="https://blog.dich.ink" style="text-decoration: none;">
<div class="logo">
Dich&#x27;blog
</div>
</a>
</div>
</div>
<nav class="menu">
<ul class="menu__inner">
<li class="active"><a href="https://blog.dich.ink">blog</a></li>
<li><a href="https://blog.dich.ink/tags">tags</a></li>
<li><a href="https://blog.dich.ink/archive">archive</a></li>
<li><a href="https://blog.dich.ink/about">about me</a></li>
<li><a href="https://github.com/Dichgrem" target="_blank" rel="noopener noreferrer">github</a></li>
</ul>
</nav>
</header>
<div class="content">
<div class="post">
<h1 class="post-title"><a href="https://blog.dich.ink/mechrev-keyboard/">机械革命键盘失灵拯救记</a></h1>
<div class="post-meta-inline">
<span class="post-date">
2023-09-04
</span>
</div>
<span class="post-tags-inline">
:: tags:&nbsp;
<a class="post-tag" href="https://blog.dich.ink/tags/keyboard/">#keyboard</a></span>
<div class="post-content">
<p>前言 机械革命作为一款极高性价比的笔记本其优惠的力度和问题不断的故障让玩家们爱恨交织作者在其上安装Linux时遇到了键盘失灵的问题为了避免更多人踩坑故写本文。</p>
<span id="continue-reading"></span><h2 id="yi-gu-zhang-qing-kuang">一.故障情况</h2>
<p>作者在一台锐龙平台的笔记本上安装Debian时先在虚拟机中尝试安装没有发现异常随后在实体机安装时发现liveCD中键盘不可用无法设置密码和主机名在连接外接键盘后安装完成却发现Fn快捷键仍然可用。</p>
<h2 id="er-ju-ti-si-lu">二.具体思路</h2>
<p>根据机革一贯的“特性”作者猜测是因为BIOS或者ACPI出现了故障随后在翻阅论坛时发现是由于锐龙笔记本键盘中断描述与其他键盘不同其为边缘敏 感、低电平有效的而蛟龙16K机器键盘实际是边缘敏感、高电平有效Edge ActiveHigh。结合linux的特性读取到边缘敏感、低电平有效的中断时会认为BIOS有Bug会直接当成边缘敏感、高电平有效进行处理。因此键盘就没有了响应。</p>
<h2 id="san-jie-jue-fang-fa">三.解决方法</h2>
<p>既然是高低电平表述的错误那么我们只需建立DSDT表副本将其修改然后让它优先启动从而让键盘配置正常另外还存在BIOS修复内核编译的方法比较复杂这里不做说明。</p>
<h3 id="shou-xian-jian-li-yi-ge-dsdtwen-jian-jia">首先建立一个DSDT文件夹</h3>
<p>sudo su
mkdir -p /home/dsdt</p>
<h3 id="sui-hou-jiang-xi-tong-de-dsdtbiao-du-qu-dao-li-mian-bing-an-zhuang-acpica-tools">随后将系统的DSDT表读取到里面并安装acpica-tools</h3>
<p>cat /sys/firmware/acpi/tables/DSDT &gt; dsdt.dat
apt install acpica-tools
iasl -d dsdt.dat</p>
<h3 id="jin-ru-vimbian-ji-dsdtbiao-mei-you-vimde-xian-an-zhuang-yi-ge">进入vim编辑DSDT表没有vim的先安装一个</h3>
<p>apt install vim
vim dsdt.dsl</p>
<h3 id="sou-suo-bing-ti-huan-device-ps2k-xia-mian-de">搜索并替换 Device(PS2K) 下面的</h3>
<p>IRQ (Edge, ActiveLow, Shared, )
IRQ (Edge, ActiveHigh, Shared, ) </p>
<h3 id="vimsou-suo-de-fang-fa-wei-zai-ming-ling-mo-shi-xia-an-xia-jian-ru-sou-suo-zi-fu-bing-hui-che-ji-ke-an-n-tiao-zhuan-dao-xia-yi-chu-n-tiao-zhuan-dao-qian-yi-chu-an-wqbao-cun">vim搜索的方法为在命令模式下按下“/”键入搜索字符并回车即可按“n”跳转到下一处“N”跳转到前一处按: wq保存</h3>
<h3 id="sui-hou-sou-suo-definitionblock-jiang-qi-bu-jin-zhi-zeng-jia-yi-shi-liu-jin-zhi-ji-geng-gai">随后搜索DefinitionBlock将其步进值增加一十六进制即更改</h3>
<p>DefinitionBlock (&quot;&quot;, &quot;DSDT&quot;, 2, &quot;ALASKA&quot;, &quot;A M I&quot;, 0x01072009)
DefinitionBlock (&quot;&quot;, &quot;DSDT&quot;, 2, &quot;ALASKA&quot;, &quot;A M I&quot;, 0x0107200A)</p>
<h3 id="guan-bi-dsdt-bing-she-zhi-qi-you-xian-qi-dong">关闭DSDT并设置其优先启动</h3>
<p>iasl dsdt.dsl
mkdir -p kernel/firmware/acpi
cp dsdt.aml kernel/firmware/acpi/
find kernel | cpio -H newc --create &gt; acpi_override
cp acpi_override /boot/acpi_override
echo &quot;GRUB_EARLY_INITRD_LINUX_CUSTOM=&quot;acpi_override&quot;&quot; &gt;&gt;/etc/default/grub</p>
<h3 id="geng-xin-bing-zhong-qi">更新并重启:</h3>
<p>update-grub2
reboot</p>
<p>不出意外重启后键盘即可使用若系统不同将apt替换即可。</p>
</div>
<div class="pagination">
<div class="pagination__title">
<span class="pagination__title-h">Thanks for reading! Read other posts?</span>
<hr />
</div>
<div class="pagination__buttons">
<span class="button previous">
<a href="https://blog.dich.ink/calling-cards/">
<span class="button__icon"></span>&nbsp;
<span class="button__text">流量卡购买与套路</span>
</a>
</span>
<span class="button next">
<a href="https://blog.dich.ink/android-root/">
<span class="button__text">安卓刷机与root教程</span>&nbsp;
<span class="button__icon"></span>
</a>
</span>
</div>
</div>
</div>
</div>
<footer class="footer">
<div class="footer__inner">
<div class="copyright">
<span>©
2024
Dichgrem</span>
<span class="copyright-theme">
<span class="copyright-theme-sep">:: </span>
Theme: <a href="https://github.com/pawroman/zola-theme-terminimal/">Terminimal</a> by pawroman
</span>
</div>
</div>
</footer>
</div>
</body>
</html>