Linux 板


LINE

Hi, 我笔电是个 ASUS X205TA, kernel 5.10.24, Debian buster 笔电 USB 插了一个所谓 "空中飞鼠" 的 HID. 这是一个两面, 有陀螺仪的"飞鼠"跟键盘. 其中一面是个简单的配置:游标,[OK], 音量, 最上面还一颗红色的 [POWER] 键,是我需要各位解惑的地方! 1. 它凭啥关我笔电?甚麽管道?我自己都还要 sudo, 它谁? 2. 如何告诉我的系统,不准接受 hid 来的 shutdown 命令? 系统只有最小的 window manager, 不用 desktop. ------------- 背景补充说明 ----------- 我把这笔电当电视盒用,是不关机的 拉 HDMI 线到一个甚麽都没有的电视 平常盖子都合起来的,上面堆满杂物 看电视或换 kernel 重开机... 都是经 ssh 或是 barrier(前身叫 synergy)直接把滑鼠滑过去 不用电脑的时候,就用这支 "空中飞鼠" 这支空中飞鼠有两个红外线 LED, 平常也没在用吧 ^^^^^^^^^^^^^ 改错字,是一颗,不是两颗! 没错,我也一直把 HID 视为恐怖的安全威胁... 没想到,它连 "正常" 的 feature 就这麽恐怖了喔 我一按到见它红色的 [POWER] 键,系统就 shutdown! 所以一直避免去碰那一颗红色键 昨天,痒痒的,心想它的 IR LED 总有个功能吧 虽然找不到资料说它可以学习电视机的摇遥控码 终於试出来了!它确实可以经由 LED 关我电视 so far so good... 但是它确同时关电视也关电脑! 哈罗~ 我不晓得怎麽告诉空中飞鼠请它不要这麽做 因为实在找不到资料 所以,只好回到我本来就要认真面对的问题: 它是怎麽关我电脑的??? 我 Linux 这边的确 load 了一个叫 cec.ko 的 module 但我的电视根本不懂甚麽是 CEC... 所以应该无关 再来就是, 我要怎麽 disable 掉来自 HID 的恐怖指令? 好了,还有甚麽我根本没搞清楚的事呢?拜托了~ --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 59.115.174.130 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Linux/M.1616295863.A.647.html
1F:推 Bencrie: 还好吧,一般桌面环境按关机也不用 root privilege03/21 11:38
2F:推 Bencrie: 如果你 init 没换还是 systemd 的话就去改 logind 的03/21 11:40
3F:→ Bencrie: config 把 HandlePowerKey 改掉试试看03/21 11:41
4F:推 Gold740716: 就像你短按电源键会正常关机一样03/21 11:53
题外话,听起来,好像我可以把 systemd 弄掉,是吗?忍很久了... HandlePowerKey=ignore 吗?那我就不能按笔电的电源键了吗? disable power key, 这我得确没想到. 但是这台只要用 XHCI 就会随机当掉, 或卡住 常常需要按住电原源键很久才能关机呀.... 所以,你们是说,它是送 ACPI 信号下的手吗? 你们都觉得还好喔... 是说,一个 remotely accessable device (广告上说 15 公尺, 天啊~) 可以有这 privilege 真的让我担心啊, 那 proximity 这一层安全保障不是彻底被 neutralized 了? .... 我先来改 logind.conf 看看... hmmm 怎麽 reload 呢? 算了,重开好了 ※ 编辑: cuello (59.115.174.130 台湾), 03/21/2021 12:13:51 回来报告,没有用,我的 logind.conf 现在只有4行有效: HandlePowerKey=ignore HandleSuspendKey=suspend HandleHibernateKey=hibernate HandleLidSwitch=ignore 只是,就算完全 disable 掉电源键, 听起来还是不理想说.... ※ 编辑: cuello (59.115.174.130 台湾), 03/21/2021 12:23:22 喔还有,刚刚确认了一下,电源键真的失效了, 但是那个东西,说关就关,哈罗~ ※ 编辑: cuello (59.115.174.130 台湾), 03/21/2021 12:26:53
5F:推 Bencrie: 反正你只用 wm,没用到 logind 的话就可以换 init03/21 12:26
6F:→ Bencrie: 传统的 sysvinit、busybox、openrc、runit03/21 12:27
感谢!你传的是福音啊~ 有空时,给个有详细说明的 pointer 吧! ※ 编辑: cuello (59.115.174.130 台湾), 03/21/2021 12:30:17
7F:→ cuello: 我想去睡了,还没....03/21 12:36
不能睡啊~ 刚刚才在想先把 logind.conf 改回来, 免得关不了机,没想到,已~经~当~了~ :) 救命啊~ 我现在怎麽关机? ..... ※ 编辑: cuello (59.115.174.130 台湾), 03/21/2021 12:42:25
8F:推 Hurricaneger: 你电源键压着也是直接关啊!03/21 12:41
9F:推 Bencrie: 另外你的系统有 lirc ?03/21 12:43
对对!抱歉!刚刚按着不放,还好关了,多谢! 另外,我这笔电没红外线也, 我也好久没看到 lirc 这个字了.. 是在怀疑笔电接收了"它"的 IR 信号吗? ※ 编辑: cuello (59.115.174.130 台湾), 03/21/2021 12:47:13
10F:推 s9209122222: systemd 很赞呀,自从有了它我才觉得 Linux 操作比较03/21 12:50
11F:→ s9209122222: 有逻辑03/21 12:50
12F:→ s9209122222: 旧的方式根本莫名其妙03/21 12:50
※ 编辑: cuello (59.115.174.130 台湾), 03/21/2021 12:56:21
13F:推 Bencrie: 举个莫名其妙的例子吧 XD03/21 13:06
14F:嘘 LinBuoRen: 临机能让系统正常关机算啥危险权限03/21 15:49
除了 hid 的 DoS, 还有更多事可以做...
15F:嘘 brli7848: 还需要啥详细说明?有关键字还找不到官网吗?03/21 17:37
啊就是技不如人,就找人帮忙罗~
16F:→ da21510: 无熔丝开关可以在超过15米的地方关你机03/21 17:38
17F:→ Bencrie: 人家笔电有电池啦03/21 17:58
※ 编辑: cuello (39.12.130.207 台湾), 03/21/2021 19:31:05
18F:→ tomsawyer: 不要用systemd阿 换alphine linux03/21 22:25
19F:推 btzhang2718: 在OpenBSD上,电源键的行为可以透过用sysctl改kerne03/22 14:57
20F:→ btzhang2718: l parameter来改变,不知道linux上面有没有类似的功03/22 14:57
21F:→ btzhang2718: 能03/22 14:57
是的,Linux 也有 sysctl(8) 我刚刚去看 linux-5.10.24/Documentation/admin-guide/kernel-parameters.txt 机器没在用的时候, 再来试试 acpi=off 或是 pci=noacpi 但是,我也真的搞不清楚两者的区别 我对这些 kernel param. 完全没有掌握... 真的是,别人怎麽用,我也跟着试试看而已 感觉上,电源键所产生的, 是个 acpi event, udev 拦不到... 不然,我是可以自己来拦住的 但是它一定是模拟电源键 event 吗? 刚刚也看了一下, /etc/acpi/powerbtn-acpi-support.sh well... systemd 介入得真很深, 然後也创造了一堆 "policies" 无论如何,我们上次已经试过把 power button disable 掉了 但是它还是可以关我机... 它是经由甚麽管道关我机器的,相信不只我一个人会想知道吧... 它是触发了一个 acpi event 吗? 我不知道.... 现在只能乱想... ※ 编辑: cuello (59.115.174.130 台湾), 03/23/2021 00:39:46 令外,刚刚又看了一下 `sysctl -a` 里面有一行 kernel.poweroff_cmd = /sbin/poweroff /sbin/poweroff --- sym-link ---> /bin/systemctl 还是 systemd 在掌控 ※ 编辑: cuello (59.115.174.130 台湾), 03/23/2021 00:59:28 所以,基本上我可以到 /etc/acpi/events/powerbtn-acpi-support 去拦截看看,试过再来报告 ※ 编辑: cuello (59.115.174.130 台湾), 03/23/2021 01:27:15
22F:→ Bencrie: sysrq 好像也能关机,不过 systemd 应该不会这麽干吧03/23 01:59
23F:推 Bencrie: 然後 poweroff、reboot 这些本来就 init 在管的吧03/23 02:02
:) 忘了 systemd 就是 init 是说... 我到底是忘了,还是害怕想起来... 我去试了 echo o | sudo tee /proc/sysrq-trigger 是关机了, 不过非常暴力,没 sync, 没 umount,看起来不像"它"关机的样子 然候 `cat /proc/sys/kernel/sysrq` 是 438, 我的其它机器也是 手痒就乱试了一下 # echo 0 > /proc/sys/kernel/sysrq 但"它"关机还是很顺畅 ※ 编辑: cuello (59.115.208.54 台湾), 03/23/2021 12:43:25 我试过了 kernel param. acpi=off 但是这一台开机不起来 (root fs 的 UUID "不存在", 进入 initramfs 的 prompt) 就没再试 pci=noiacpi 了... 去检查 /etc/acpi/events/ 有两个档案 1. /etc/acpi/events/powerbtn-acpi-support 有2行 --- event=button[ /]power action=/etc/acpi/powerbtn-acpi-support.sh --- 2. /etc/acpi/events/powerbtn 有4行 --- # /etc/acpi/events/power # This is called when the user presses the power button event=button/power (PWR||PBTN) action=/sbin/poweroff --- 其中,第2个档案有点奇怪,因为我其它机器都没有, 用 "dpkg -S" 查已安装 pkg 也用 "apt-file find" 找未安装 pkg 都查不到 "/etc/acpi/events/powerbtn" 是哪里来的 两个有不一样的 event 的写法,反正我不懂 就把两个档岸的 action 都改成指到我家的 one-liner sudo /bin/sh -c "echo $0: down down down > /dev/kmsg" (大概不需要 sudo,但无论如何我这麽做了) (我会尽量必不漏细节,像个合作的 patient) 没有用,只是 "隐约觉得" 电源键不太灵敏,似乎按两三次才关机? anyway, 无论是按哪一个电源键,我都没能阻止关机 因为看不到 `dmesg`, 又新增一行 date +%s >> /我家/down 开开关关忙乱中,印象里,"/我家/down" 不曾出现过 还好编辑的时候,又去确认一下,有!它们(?) 的确有被叫到过 忙乱中,忘了去区分是哪个档案... (後记:刚才又去看 "/我家/down" epoch 时间都是成双成对! 所以档案 1跟2 都有被执行. 我前面说 "好像没出现过" 很能是看错机器...) 不过结论还是,改掉以上两个档案的 action= 没能阻止关机. 补充说明一些或许不该遗漏的细节: 改这两个档案时,我先是用 # 把原来那一行 action= comment 掉 发现这麽做没有用之後,就把 comment-line 去掉,保留原始模样 因为我实在不能假设他们会如预期去 parse 这两行 所以,我现在的 /etc/acpi/events/ 还有另外两个档: powerbtn-acpi-support.org 跟 powerbtn.org ※ 编辑: cuello (59.115.208.54 台湾), 03/23/2021 13:31:33 ※ 编辑: cuello (59.115.208.54 台湾), 03/23/2021 13:33:10 忘了一件事,本来想要 purge 掉 acpi-support-base 并重装 因为,我多出一个来源不明的 "/etc/acpi/events/powerbtn" # apt autoremove --purge acpi-support-base 却看到它要移除5个 packages: acpi-fakekey* acpi-support* acpi-support-base* pm-utils* vbetool* 因为看 acpi-fakekey 似乎有可能塞给 key-buffer 像是 "init 0" 啊, 或是 sysrq 啊 .... etc. 就没有继续下去,而是把 acpi-fakekey 解除安装 但这件事对於关机的事情丝毫没有影响 (我是说,我没看到任何影响... god...) 解安装 pkg acpi-fakekey 时,没有其它的 dependancies ※ 编辑: cuello (59.115.208.54 台湾), 03/23/2021 13:44:47 ※ 编辑: cuello (59.115.208.54 台湾), 03/23/2021 13:45:06 ※ 编辑: cuello (59.115.208.54 台湾), 03/23/2021 14:00:37 ※ 编辑: cuello (59.115.208.54 台湾), 03/23/2021 14:02:26
24F:推 Bencrie: 我都用 aptitude 处理 dependencies,关 solver 跟03/23 19:25
25F:→ Bencrie: autoremove,全部手动调03/23 19:25
好,下次应该会记得你提过这事。 断断续续偶而玩一下我现在的 shutdown sequence. 感觉愈来愈佩服这个 "空中飞鼠" 玩电源键玩到因为这个或那个而当机 但是"它"办起事情总是乾净俐落 所以,让我们崇拜吧 https://i.imgur.com/7mJwOoi.jpg ※ 编辑: cuello (59.115.208.54 台湾), 03/24/2021 19:29:42 上几此提起到 /etc/acpi/events/ 里"来源不明"档案 (2) 原来是约一年前因为按电源键不能关机, 忘了怎麽建立的 刚刚,为了玩这两个档案,系统卡住了了无数次, 硬关, 再开 最後,居然是舍弃 acpi-support-base 套件的 /etc/acpi/events/powerbtn-acpi-support 而用我自己不知哪里看来,抄来的 /etc/acpi/events/powerbtn (那四行前面有抄进来) 相较於档 1,这个档案关机似乎是 *绕过* systemd 的 听说有一些事情是 *绕过* systemd 比较方便 而且看起来是日常的, 相当正式的 practice! 常常让我想起自己初学计算机所写的程式... 我以前因为电源直键没作用, 忙了一阵子 後来,我自己相信是因为装了 acpid 才好的 但是, 我自己是非常不可靠的... 刚刚把 acpid 停用了, 我的"两个"电源键都还很好用 所以, $ service --status-all | grep ${1:-"+"} 现在是 [ + ] cron [ + ] dbus [ + ] exim4 [ + ] kmod [ + ] network-manager [ + ] networking [ + ] ntp [ + ] procps [ + ] rsyslog [ + ] ssh [ + ] tlp [ + ] udev (题外话,还有甚麽多余的吗? :) 稍微整理一下, 目前的状态 ("两个"电源键都正常动作) 1. logind.conf 没有动, i.e. HandlePowerKey=poweroff 2. /etc/acpi/events/powerbtn 是绕过 systemd 的(再抄一次好了) --- # /etc/acpi/events/power # This is called when the user presses the power button event=button/power (PWR||PBTN) action=/sbin/poweroff --- 3. acpid 停用了 4. logind.conf: HandlePowerKey=ignore 的话 电源键失效, 但是 "空中飞鼠" bypass systemd 还是关我机 而且是... err.... gracefully! (想到再补) 5. 也试过 # echo 0 > /proc/sys/kernel/sysrq (它照关不误) ※ 编辑: cuello (59.115.208.54 台湾), 03/24/2021 20:01:41
26F:推 Bencrie: journalctl 那边不知道有没有得查,一般关机只会知道 03/24 20:01
27F:→ Bencrie: logind 会打 log 03/24 20:01
我不熟,所以只有 $ sudo journalctl -a |grep shut |less -r (删掉了,见以下修正,因为忘了 case) 刚刚又在想,照片上的产品是要卖给所有人的(包括 windows 用户) 所以,它应该做的是很低阶的事情... 我不晓得有无包含 mac 用户... ※ 编辑: cuello (59.115.208.54 台湾), 03/24/2021 20:26:34 喔,还有,这东西买家很多是拿来插各厂牌智慧型电视机的 不过, 当初,这个是跟 remix mini 电视盒来的(Android 5) ※ 编辑: cuello (59.115.208.54 台湾), 03/24/2021 20:33:38 ※ 编辑: cuello (59.115.208.54 台湾), 03/24/2021 20:34:18 抱歉!case! $ sudo journalctl -a |grep -i shut |less -r Mar 24 20:05:53 h systemd[1]: Starting Update UTMP about System Boot/Shutdown... Mar 24 20:05:54 h systemd[1]: Started Update UTMP about System Boot/Shutdown. Mar 24 20:05:54 h systemd[1]: Starting Restore /etc/resolv.conf if the system crashed before the ppp link was shut down... Mar 24 20:05:54 h systemd[1]: Started Restore /etc/resolv.conf if the system crashed before the ppp link was shut down. Mar 24 20:05:58 h systemd[1]: Starting TLP system startup/shutdown... Mar 24 20:05:58 h systemd[1]: Started TLP system startup/shutdown. $ sudo journalctl -a |grep -i power |less -r Mar 24 20:05:50 h kernel: ACPI: Power Resource [P18P] (off) Mar 24 20:05:50 h kernel: ACPI: Power Resource [P1XT] (off) Mar 24 20:05:52 h kernel: input: Power Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input15 Mar 24 20:05:52 h kernel: ACPI: Power Button [PWRB] Mar 24 20:05:54 h dbus-daemon[1730]: dbus[1730]: Unknown group "power" in message bus configuration file Mar 24 20:05:55 h kernel: Modules linked in: uvcvideo(+) videobuf2_vmalloc videobuf2_memops videobuf2_v4l2 videobuf2_common videodev mc intel_soc_dts_thermal intel_powerclamp coretemp kvm_intel kvm irqbypass crc32_pclmul nls_ascii aesni_intel crypto_simd cryptd nls_cp437 intel_cstate vfat brcmfmac brcmutil deflate efi_pstore asus_nb_wmi pcspkr evdev cfg80211 intel_chtdc_ti_pwrbtn ofpart iTCO_wdt intel_pmc_bxt iTCO_vendor_support intel_spi_platform intel_spi spi_nor mtd tiny_power_button button soc_button_array int3403_thermal int3406_thermal int3400_thermal processor_thermal_device int340x_thermal_zone acpi_thermal_rel intel_soc_dts_iosf snd_intel_sst_acpi snd_soc_acpi_intel_match snd_soc_acpi snd_intel_sst_core acpi_pad intel_int0002_vgpio asus_wireless ac snd_soc_rt5645 snd_soc_sst_atom_hifi2_platform snd_soc_rl6231 snd_soc_core elan_i2c snd_compress snd_pcm_dmaengine snd_pcm snd_timer snd soundcore i915 cec rc_core drm_kms_helper drm i2c_algo_bit fb_sys_fops syscopyarea sysfillrect sysimgblt efivarfs Mar 24 20:05:56 h systemd-logind[1723]: Watching system buttons on /dev/input/event14 (Power Button) Mar 24 20:05:58 h tlp[2736]: Applying power save settings...done. ※ 编辑: cuello (59.115.208.54 台湾), 03/24/2021 21:05:05 ※ 编辑: cuello (59.115.208.54 台湾), 03/24/2021 21:19:40
28F:推 Bencrie: journalctl -b 1 从 systemd-logind: System is powering 03/24 23:31
29F:→ Bencrie: down 开始算吧。 03/24 23:31
hmmm... 我的麻烦是会得到 Specifying boot ID or boot offset has no effect, no persistent journal was found. ※ 编辑: cuello (59.115.208.54 台湾), 03/25/2021 00:57:59 然後,我又直接去动 /etc/acpi/powerbtn-acpi-support.sh 把最後一行(叫 /sbin/shutdown 那行) 改为叫我家的 script 它只做写 /dev/kmsg 的事李情, 按笔电电源键, 不仅事情没做, 还会当机 但是,空中飞鼠的电源键关机动作很乾净, 它根本就绕过 systemd 至於会当机... 大概,反正... 我干扰了整个 interrupt handling 吧... 好,就乾脆在 /etc/acpi/powerbtn-acpi-support.sh 的第一行写: echo "$0: power button pressed..." > /dev/kmsg exit 0 然後, guess what :) 无论是笔电,还是"飞鼠" 的电源键 都可正常关机... 一如往常 XD ※ 编辑: cuello (59.115.208.54 台湾), 03/25/2021 17:50:22 下一步玩的是 xinput(1), 跟 "空中飞鼠" 有关的几行是: $ DISPLAY=:0.0 xinput --list | grep RFIC FREEWAY TECHNOLOGY RFIC-MOUSE Consumer Control id=16 [slave pointer (2)] FREEWAY TECHNOLOGY RFIC-MOUSE id=18 [slave pointer (2)] FREEWAY TECHNOLOGY RFIC-MOUSE Keyboard id=15 [slave keyboard (3)] FREEWAY TECHNOLOGY RFIC-MOUSE System Control id=17 [slave keyboard (3)] FREEWAY TECHNOLOGY RFIC-MOUSE Consumer Control id=26 [slave keyboard (3)] $ xinput disable 16 18 15 17 26 (我是分开做的, 不知能不能写在一行) 好,这样,"空中飞鼠" 武功就废了吧! 没错!全废了!...... 除了.... 那一颗红色的[电源]键! 难怪他们漆成红色的... 厉害吧~ 所以,不晓得有没有硬体比较熟的网友? 另外,那.... 我们的 USB 好像还真的蛮 weak 的说.... ※ 编辑: cuello (59.115.208.54 台湾), 03/25/2021 19:09:08
30F:推 Bencrie: 你要不要直接 boot 进 bash 按看看到底是不是真的绕过 03/25 19:59
31F:→ Bencrie: init 直接关机 03/25 19:59
好,我来试看看,平时用 lilo, 但这台是 grub.... ※ 编辑: cuello (59.115.208.54 台湾), 03/25/2021 21:30:07 我在 google .... 刚是到 grub 里把 command line 加了 "init=/bin./bash"... 不是喔.... 你的意思是到最单纯的 single user mode 吗? ※ 编辑: cuello (59.115.208.54 台湾), 03/25/2021 21:40:22 啊对啦,忘了讲,我想在 grub 画面用键盘,必须先拔掉 USB 的发射器 不然键盘不动... ※ 编辑: cuello (59.115.208.54 台湾), 03/25/2021 21:42:14 先讲你上次提的,我改了 /etc/systemd/journald.conf (Storage=persistent) 可以看到最後一次关机 (按飞鼠关的) (我觉得有关的) (...) Mar 25 21:53:56 h sudo[3573]: pam_unix(sudo:session): session closed for user root Mar 25 21:54:14 h systemd-logind[1840]: Power key pressed. Mar 25 21:54:14 h systemd-logind[1840]: Powering Off... Mar 25 21:54:14 h systemd-logind[1840]: System is powering down. Mar 25 21:54:15 h systemd[1]: Stopped target Graphical Interface. (...) Mar 25 21:54:16 h systemd[2804]: Reached target Shutdown. 这样的话,又不像是绕过 init 啊.... 只是目前看不到 key press 来源... ※ 编辑: cuello (59.115.208.54 台湾), 03/25/2021 22:03:23 有啦, -a -o verbose 可以看到 (...) SYSLOG_IDENTIFIER=systemd-logind _COMM=systemd-logind _EXE=/usr/lib/systemd/systemd-logind _CMDLINE=/lib/systemd/systemd-logind _CAP_EFFECTIVE=24420002f _SYSTEMD_CGROUP=/system.slice/systemd-logind.service _SYSTEMD_UNIT=systemd-logind.service CODE_FILE=../src/login/logind-button.c CODE_LINE=158 CODE_FUNC=button_dispatch MESSAGE=Power key pressed. (...) 还有刚刚 xinput 的故事,我也不会讲了 整支都变砖块了,只有「电源键」」会动 另外,grub 我後面加了 init=/bin/bash 还是开到最高 runlevel... 真的不会用... :( ※ 编辑: cuello (59.115.208.54 台湾), 03/25/2021 22:16:37 再来把一些东西整理一下 $ lsusb -t Bus 001 Device 005: ID 25a7:2402 ^^^^^^^^^^^^ 刚忘了讲是这个 Bus 001 Device 006: ID 2318:2808 Shining Technologies, Inc. [hex] Bus 001 Device 004: ID 05e3:0610 Genesys Logic, Inc. 4-port hub Bus 001 Device 003: ID 0bda:57b5 Realtek Semiconductor Corp. Bus 001 Device 002: ID 8087:07e6 Intel Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub $ ls -l /dev/input/by-id/usb-FREEWAY_TECHNOLOGY_RFIC-MOUSE-* | cut -d " " -f9- /dev/input/by-id/usb-FREEWAY_TECHNOLOGY_RFIC-MOUSE-event-if00 -> ../event2 /dev/input/by-id/usb-FREEWAY_TECHNOLOGY_RFIC-MOUSE-event-joystick -> ../event4 /dev/input/by-id/usb-FREEWAY_TECHNOLOGY_RFIC-MOUSE-event-kbd -> ../event1 /dev/input/by-id/usb-FREEWAY_TECHNOLOGY_RFIC-MOUSE-if01-event-mouse -> ../event5 /dev/input/by-id/usb-FREEWAY_TECHNOLOGY_RFIC-MOUSE-if01-mouse -> ../mouse0 /dev/input/by-id/usb-FREEWAY_TECHNOLOGY_RFIC-MOUSE-joystick -> ../js0 先前把 event[2415] mouse0 js0 都 rm 掉, 所有功能都正常 这我也不懂... 要不是 Bencrie 一路陪到底,我自己才不会玩到这里咧.... ※ 编辑: cuello (59.115.208.54 台湾), 03/25/2021 22:40:51 ※ 编辑: cuello (59.115.208.54 台湾), 03/25/2021 22:45:06
32F:推 Bencrie: init 指到 bash 那个我省略太多细节 orz 03/26 11:33
33F:推 Bencrie: journalctl 应该可以看到 systemd 监控哪些input devices 03/26 11:45
34F:推 mgdesigner: 不要用systemd ,MX Linux也可以 03/26 12:34
35F:推 holishing: 还有 Devuan GNU+Linux 03/26 23:17
又有许多功课要作了, mx, devuan :) 有啦,我用 devuan usb-live 开过机, 後来不知怎样不了了之... 无论如何, Bencrie 给了一个, 我想是很关键的提示啦 就是 systemd 跟 desktop 的关系 而我是从来不用 desktop 的,以後应该也不会 这给了我具体的感觉:抽掉 systemd 原来是可能的 但是还没有机会开始着手去爬文就是 无意引起 "vi-或是-emacs" 的讨论 我从来不详 systemd 发展过程, 只是有一天突然找不到 inittab ... 先来跟大家报告,目前为止暂时的结论: 问题 (1) 至今无解, 也就是, 这个 "空中飞鼠" 是怎麽关我机的. 目前比较可靠的想像是 它最像是触发了一个 [临机按下电源键的 event] 不管是甚麽 event... 我先前要坚称的"它绕过" init,似乎很错... 问题 (2) 我怎麽阻止它关我机?现在只能用 Bencrie 一开始的提议 /etc/systemd/logind.conf: HandlePowerKey=ignore 就是完全不用笔电的电源键. 大家会说,啊~ 我不是说,改 logind.conf 无效吗? 是这样的,我当时不是还碎碎念说, 改了之後怎麽 reload 让它生效吗... 其实到现在我也没有个确定的答案 那重新开机不是就生效了?! 这就是我必须说声抱歉的主因 情况显示,并非如此!!! 我最近机器开开关关的都已经三位数了 所以我後来愈保守,不想随便把实验结果po出来乱! 根据 sudo journalctl -f 里所看到的红字, 例如: i2c i2c-3: i2c write failed: -121 i2c_designware 80860F41:04: controller timed out intel_soc_pmic_chtdc_ti i2c-INT33F5:00: Failed to ack 0x1: -110 intel_soc_pmic_chtdc_ti i2c-INT33F5:00: Failed to read IRQ status: -110 爬了许多文,很多是在规定蛮严的地方 (我没有全部都列举 也没真的彻底爬完所有的讨论) 大家会碰到一个还蛮头痛的问题, 就是 "你上一次关机前的 state,会影响到这次..." 用我的话说:关机并没有 initialize 机器到同样的状态向量. 更何况,在这中间,我又 compiled 过 kernels 从 5.10.24 到 5.10.26,然後又换到 5.4.108 然後,他们也认真地在考虑 patch 某 .c 档案里的*常数*(!) 当然,我并没有跟着玩进去... 想说,我既然决定躲在 longterm 的 kernel 就不该这麽勇敢吧... voila ※ 编辑: cuello (59.115.200.5 台湾), 03/29/2021 21:31:35
36F:→ tomsawyer: 还是南桥直接把usb讯号转成关机键讯号了 03/30 00:48
是的,虽然我的是 Atom Z3735F Bay Trail 是个 SoC 但相信对应的功能都在里面 所以无论是笔电的电源验键或是 USB HID 的电源键 经过 hardware abstraction 都成为所谓的 "KEY_POWER" $ grep KEY_POWER /usr/src/linux-`uname -r`/include/uapi/linux/input-event-codes.h #define KEY_POWER 116 /* SC System Power Down */ #define KEY_POWER2 0x164 我不晓得 KEY_POWER2 是甚麽...
37F:推 joe820730: 那颗红色按钮最终送到系统的动作就是短按电源按钮, 04/01 22:02
38F:→ joe820730: 中间的过程则是由driver(或者说kernel module)实现, 04/01 22:02
39F:→ joe820730: 要保留原本电源按钮的功能的话只能driver 04/01 22:02
是,不管是从 USB, 还是从笔电的键直接焊到 GPIO 或哪里... 它们应该都是被 abstracted 成 KEY_POWER... 只是如果我在上层玩, 会区分不出是哪里来的信号 我心里一直偷偷地在想的就是 interrupt source... 事实上, 我这一两天已经成功区分出两个电源键 并且只禁用我不想要的那一颗电源键 所以, /etc/systemd/logind.conf 已改回 HandlePowerKey=poweroff 这个档案是满头痛的, 因为我需要 HandleLidSwitch=ignore 而每一次更新 systemd 都会覆概过去 但现在找到一个可以一并处理的办法 放在属於自己管理的地方 不必每次安装系统都要一个一个去 "修复" 到 "堪用" 为止... 不过,我想... 看甚麽时候来另外回一篇 回报到目前为止的结果好了 这篇已经太长,太乱了... ※ 编辑: cuello (59.115.154.132 台湾), 04/04/2021 23:53:49 ※ 编辑: cuello (59.115.154.132 台湾), 04/04/2021 23:55:46
40F:推 skycat2216: 你要不要测试看看Windows to go会不会有这种状况好了 04/08 19:53
41F:→ skycat2216: WTG会关就是南桥问题了 04/08 19:53
没有 WTG, 改天有机会再看看, 我想应该会是一样的结果吧... 基本上, 两个电源键分别走不同的路径一直到 kernel 的 /usr/src/linux-`uname -r`/drivers/input/evdev.c 笔电上的电源键或可以很直接到 GPIO, 但 USB HID 总是要 经过 USB controller, 经 usbhid, 到 ... evdev ... 我先前想像得那麽 "硬体" 应该是蛮错的 ... :( ※ 编辑: cuello (59.115.221.229 台湾), 04/10/2021 02:16:12







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Soft_Job站内搜寻

TOP