首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Linux中将特定硬件设备列入黑名单

在Linux中将特定硬件设备列入黑名单
EN

Unix & Linux用户
提问于 2020-06-14 20:22:05
回答 1查看 3.2K关注 0票数 4

希望有人能帮我。我有一台笔记本电脑的触控装置出故障了。该设备不能在bios中禁用,也不能以任何其他方式禁用(除了替换成本超过膝上型计算机的屏幕外)。断开是在一个粘合的屏幕后面,当移除时会碎掉。

我想完全禁用这个设备,或者以某种方式列出它的硬件地址。理想情况下,内核引导参数、udev规则或类似的内容。它似乎认为

代码语言:javascript
复制
acpi:NTRG0001:PNP0C50 . LNXSYBUS:00/PNP0A08:00/INT33C3:00/NTRG0001:01

它不是PCI设备,也不会出现在lspci中。自然,我有其他的输入设备(一个触摸屏或鼠标),因此不能只是阻止所有的驱动程序。

我试过:

  1. 禁用带有hid_multitouch的echo "blacklist hid_multitouch" > /etc/modprobe.d/hid_multitouch.conf模块,重新启动(并使用lsmod确认它没有加载),但是它随后在回退hid下注册-泛型(而不是hid_multitouch),并且仍然在我的屏幕上注册点击。因此,这似乎不能解决我的问题。
  2. 试图编写一个udev规则(在/etc/udev/rues.d/80-触摸屏中),但是,我似乎不知道如何正确地表述它-或者-(更准确地说,因为这个参数似乎不存在),我认为它不适用于设备HID或它的子设备。在所有这些INT33C3或i2c-NTRG 0001下的不同设备中,“授权”不是可写文件。我认为这是错误的路径,因为授权文件不存在。
  3. 尝试通过echo "i2c-NTRG0001:01" > /sys/bus/i2c/drivers/i2c_hid/unbind解除NTRG设备上的D8驱动程序的绑定,这似乎是唯一可行的方法,但它在重新启动时并不持久。将这个添加到rc.local或其他东西上似乎有点麻烦。我希望有其他方法来实现这一点(尽管这是我的退路)。

如何从内核、udev或模块加载透视图中简单地说“不要对此设备做任何事情”,或者始终确保它不绑定到任何驱动程序,或者简单地阻止输入设备的所有事件/输入?

一些摘录(可能是在不同的重新启动模块状态下获取的)以帮助从dmesg (禁用hid_multitouch )中识别设备。

代码语言:javascript
复制
[3.555071] input: NTRG0001:01 1B96:1B05             as /devices/pci0000:00/INT33C3:00/i2c-2/i2c-NTRG0001:01/0018:1B96:1B05.0003/input/input11
[3.555358] input: NTRG0001:01 1B96:1B05 Touchscreen as /devices/pci0000:00/INT33C3:00/i2c-2/i2c-NTRG0001:01/0018:1B96:1B05.0003/input/input12
[3.555527] input: NTRG0001:01 1B96:1B05 Mouse       as /devices/pci0000:00/INT33C3:00/i2c-2/i2c-NTRG0001:01/0018:1B96:1B05.0003/input/input13
[3.555702] input: NTRG0001:01 1B96:1B05             as /devices/pci0000:00/INT33C3:00/i2c-2/i2c-NTRG0001:01/0018:1B96:1B05.0003/input/input14
[3.555763] input: NTRG0001:01 1B96:1B05             as /devices/pci0000:00/INT33C3:00/i2c-2/i2c-NTRG0001:01/0018:1B96:1B05.0003/input/input15
[3.555880] hid-generic 0018:1B96:1B05.0003: input,hidraw2: I2C HID v1.00 Mouse [NTRG0001:01 1B96:1B05] on i2c-NTRG0001:01

udevadm

代码语言:javascript
复制
looking at device '/devices/pci0000:00/INT33C3:00/i2c-2/i2c-NTRG0001:01/0018:1B96:1B05.0003/hidraw/hidraw1':
  KERNEL=="hidraw1"
  SUBSYSTEM=="hidraw"
  DRIVER==""
looking at parent device '/devices/pci0000:00/INT33C3:00/i2c-2/i2c-NTRG0001:01/0018:1B96:1B05.0003':
  KERNELS=="0018:1B96:1B05.0003"
  SUBSYSTEMS=="hid"
  DRIVERS=="hid-multitouch"
  ATTRS{country}=="00"
  ATTRS{quirks}=="1"
looking at device '/devices/pci0000:00/INT33C3:00/i2c-2/i2c-NTRG0001:01':
  KERNEL=="i2c-NTRG0001:01"
  SUBSYSTEM=="i2c"
  DRIVER==""
  ATTR{name}=="NTRG0001:01"
looking at parent device '/devices/pci0000:00/INT33C3:00/i2c-2':
  KERNELS=="i2c-2"
  SUBSYSTEMS=="i2c"
  DRIVERS==""
  ATTRS{name}=="Synopsys DesignWare I2C adapter"
looking at parent device '/devices/pci0000:00/INT33C3:00':
  KERNELS=="INT33C3:00"
  SUBSYSTEMS=="platform"
  DRIVERS=="i2c_designware"
  ATTRS{driver_override}=="(null)"
looking at parent device '/devices/pci0000:00':
  KERNELS=="pci0000:00"S
  UBSYSTEMS==""
  DRIVERS==""

加载udevadm

代码语言:javascript
复制
P: /devices/pci0000:00/INT33C3:00
L: 0
E: DEVPATH=/devices/pci0000:00/INT33C3:00
E: SUBSYSTEM=platform
E: DRIVER=i2c_designware
E: MODALIAS=acpi:INT33C3:INT33C3:
E: USEC_INITIALIZED=29617217
E: ID_VENDOR_FROM_DATABASE=Interphase Corporation
P: /devices/pci0000:00/INT33C3:00/i2c-2
L: 0
E: DEVPATH=/devices/pci0000:00/INT33C3:00/i2c-2
E: SUBSYSTEM=i2c
P: /devices/pci0000:00/INT33C3:00/i2c-2/i2c-NTRG0001:01
L: 0
E: DEVPATH=/devices/pci0000:00/INT33C3:00/i2c-2/i2c-NTRG0001:01
E: SUBSYSTEM=i2c
E: DRIVER=i2c_hid
E: MODALIAS=acpi:NTRG0001:PNP0C50:
E: USEC_INITIALIZED=29693864
E: ID_VENDOR_FROM_DATABASE=N-trig Innovative Technologies, Inc.
P: /devices/pci0000:00/INT33C3:00/i2c-2/i2c-NTRG0001:01/0018:1B96:1B05.0003
L: 0
E: DEVPATH=/devices/pci0000:00/INT33C3:00/i2c-2/i2c-NTRG0001:01/0018:1B96:1B05.0003
E: SUBSYSTEM=hid
E: DRIVER=hid-multitouch
E: HID_ID=0018:00001B96:00001B05
E: HID_NAME=NTRG0001:01 1B96:1B05
E: HID_PHYS=i2c-NTRG0001:01
E: HID_UNIQ=
E: MODALIAS=hid:b0018g0004v00001B96p00001B05
P: /devices/pci0000:00/INT33C3:00/i2c-2/i2c-NTRG0001:01/0018:1B96:1B05.0003/hidraw/hidraw1
N: hidraw1
L: 0
E: DEVPATH=/devices/pci0000:00/INT33C3:00/i2c-2/i2c-NTRG0001:01/0018:1B96:1B05.0003/hidraw/hidraw1
E: SUBSYSTEM=hidraw
E: DEVNAME=/dev/hidraw1
E: MAJOR=245
E: MINOR=1
P: /devices/pci0000:00/INT33C3:00/i2c-2/i2c-NTRG0001:01/0018:1B96:1B05.0003/input/input32
L: 0
E: DEVPATH=/devices/pci0000:00/INT33C3:00/i2c-2/i2c-NTRG0001:01/0018:1B96:1B05.0003/input/input32
E: SUBSYSTEM=input
E: PRODUCT=18/1b96/1b05/100
E: NAME="NTRG0001:01 1B96:1B05 Pen"
E: PHYS="i2c-NTRG0001:01"
E: UNIQ=""
E: PROP=0
E: EV=1b
E: KEY=c03 0 0 0 0 0
E: ABS=1000003
E: MSC=10
E: MODALIAS=input:b0018v1B96p1B05e0100-e0,1,3,4,k140,141,14A,14B,ra0,1,18,m4,lsfw
E: USEC_INITIALIZED=1589142529
E: ID_INPUT=1
E: ID_INPUT_TABLET=1
E: ID_SERIAL=noserial
E: ID_PATH=platform-INT33C3:00
E: ID_PATH_TAG=platform-INT33C3_00
E: ID_FOR_SEAT=input-platform-INT33C3_00
E: TAGS=:seat:
P: /devices/pci0000:00/INT33C3:00/i2c-2/i2c-NTRG0001:01/0018:1B96:1B05.0003/input/input32/event5
N: input/event5
L: 0
S: input/by-path/platform-INT33C3:00-event-mouse
E: DEVPATH=/devices/pci0000:00/INT33C3:00/i2c-2/i2c-NTRG0001:01/0018:1B96:1B05.0003/input/input32/event5
E: SUBSYSTEM=input
E: DEVNAME=/dev/input/event5
E: MAJOR=13
E: MINOR=69
E: USEC_INITIALIZED=1589364685
E: ID_INPUT=1
E: ID_INPUT_TABLET=1
E: ID_INPUT_WIDTH_MM=252
E: ID_INPUT_HEIGHT_MM=167
E: ID_SERIAL=noserial
E: ID_PATH=platform-INT33C3:00
E: ID_PATH_TAG=platform-INT33C3_00
E: LIBINPUT_DEVICE_GROUP=18/1b96/1b05:i2c-NTRG0001:01
E: DEVLINKS=/dev/input/by-path/platform-INT33C3:00-event-mouse
P: /devices/pci0000:00/INT33C3:00/i2c-2/i2c-NTRG0001:01/0018:1B96:1B05.0003/input/input32/mouse1
N: input/mouse1
L: 0
S: input/by-path/platform-INT33C3:00-mouse
E: DEVPATH=/devices/pci0000:00/INT33C3:00/i2c-2/i2c-NTRG0001:01/0018:1B96:1B05.0003/input/input32/mouse1
E: SUBSYSTEM=input
E: DEVNAME=/dev/input/mouse1
E: MAJOR=13
E: MINOR=33
E: USEC_INITIALIZED=1589149616
E: ID_INPUT=1
E: ID_INPUT_TABLET=1
E: ID_SERIAL=noserial
E: ID_PATH=platform-INT33C3:00
E: ID_PATH_TAG=platform-INT33C3_00
E: DEVLINKS=/dev/input/by-path/platform-INT33C3:00-mouse
P: /devices/pci0000:00/INT33C3:00/i2c-2/i2c-NTRG0001:01/0018:1B96:1B05.0003/input/input33
L: 0
E: DEVPATH=/devices/pci0000:00/INT33C3:00/i2c-2/i2c-NTRG0001:01/0018:1B96:1B05.0003/input/input33
E: SUBSYSTEM=input
E: PRODUCT=18/1b96/1b05/100
E: NAME="NTRG0001:01 1B96:1B05"
E: PHYS="i2c-NTRG0001:01"
E: UNIQ=""
E: PROP=2
E: EV=1b
E: KEY=400 0 0 0 0 0
E: ABS=3273800000000003
E: MSC=20
E: MODALIAS=input:b0018v1B96p1B05e0100-e0,1,3,4,k14A,ra0,1,2F,30,31,34,35,36,39,3C,3D,m5,lsfw
E: USEC_INITIALIZED=1589143403
E: ID_INPUT=1
E: ID_INPUT_TOUCHSCREEN=1
E: ID_PATH=platform-INT33C3:00
E: ID_PATH_TAG=platform-INT33C3_00
E: ID_FOR_SEAT=input-platform-INT33C3_00
E: TAGS=:seat:
P: /devices/pci0000:00/INT33C3:00/i2c-2/i2c-NTRG0001:01/0018:1B96:1B05.0003/input/input33/event6
N: input/event6
L: 0
S: input/by-path/platform-INT33C3:00-event
E: DEVPATH=/devices/pci0000:00/INT33C3:00/i2c-2/i2c-NTRG0001:01/0018:1B96:1B05.0003/input/input33/event6
E: SUBSYSTEM=input
E: DEVNAME=/dev/input/event6
E: MAJOR=13
E: MINOR=70
E: USEC_INITIALIZED=1589368910
E: ID_INPUT=1
E: ID_INPUT_TOUCHSCREEN=1
E: ID_INPUT_WIDTH_MM=252
E: ID_INPUT_HEIGHT_MM=167
E: ID_PATH=platform-INT33C3:00
E: ID_PATH_TAG=platform-INT33C3_00
E: LIBINPUT_DEVICE_GROUP=18/1b96/1b05:i2c-NTRG0001:01
E: DEVLINKS=/dev/input/by-path/platform-INT33C3:00-event
P: /devices/pci0000:00/INT33C3:00/i2c-2/i2c-NTRG0001:01/0018:1B96:1B05.0003/input/input33/mouse2
N: input/mouse2
L: 0
E: DEVPATH=/devices/pci0000:00/INT33C3:00/i2c-2/i2c-NTRG0001:01/0018:1B96:1B05.0003/input/input33/mouse2
E: SUBSYSTEM=input
E: DEVNAME=/dev/input/mouse2
E: MAJOR=13
E: MINOR=34
E: USEC_INITIALIZED=1589149528
E: ID_INPUT=1
E: ID_INPUT_TOUCHSCREEN=1
E: ID_PATH=platform-INT33C3:00
E: ID_PATH_TAG=platform-INT33C3_00

udevadm扩展

代码语言:javascript
复制
P: /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/INT33C3:00/NTRG0001:00
L: 0
E: DEVPATH=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/INT33C3:00/NTRG0001:00
E: SUBSYSTEM=acpi
E: MODALIAS=
P: /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/INT33C3:00/NTRG0001:01
L: 0
E: DEVPATH=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/INT33C3:00/NTRG0001:01
E: SUBSYSTEM=acpi
E: MODALIAS=acpi:NTRG0001:PNP0C50:
E: USEC_INITIALIZED=29483509
E: ID_VENDOR_FROM_DATABASE=N-trig Innovative Technologies, Inc.
P: /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/INT33C3:00/SYNA2393:00
L: 0
E: DEVPATH=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/INT33C3:00/SYNA2393:00
E: SUBSYSTEM=acpi
E: MODALIAS=
EN

回答 1

Unix & Linux用户

发布于 2020-06-14 20:53:06

您可以使用xinput禁用它。

做一个xinput list并识别你的设备。它将有一个id=NUM

然后你就会:

代码语言:javascript
复制
xinput --disable NUM
票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/592895

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档