Как я могу пропатчить ядро Ubuntu 19.04, добавив FTE0001 в focaltech.c, чтобы сенсорная панель focaltech могла работать правильно
Выход из
Dmesg | grep PNP
[0.268113] acpi PNP0A08: 00: _OSC: ОС поддерживает [ExtendedConfig ASPM ClockPM Сегменты MSI] [0.271227] acpi PNP0A08: 00: _OSC: ОС теперь управляет [PCIeHotplug SHPCHotplug PME AER PCIeCapability LTR] [ 0.377020] 00:00: Устройство Plug and Play ACPI, идентификаторы PNP0c02 (активный) [ 0.377264] pnp 00:01: Устройство Plug and Play ACPI, идентификаторы PNP0b00 (активный) [ 0.377358] система 00:02: Устройство Plug and Play ACPI, идентификаторы INT3f0d PNP0c02 (активный) [ 0.378720] pnp 00:03: Устройство ACPI Plug and Play, идентификаторы PNP0303 (активный) [0.378808] pnp 00:04: Устройство ACPI Plug and Play, идентификаторы FTE0001 PNP0f13 (активный) [ 0.379404] система 00:05: Устройство Plug and Play ACPI, идентификаторы PNP0c02 (активная) [ 0.379529] система 00:06: Устройство Plug and Play ACPI, идентификаторы PNP0c02 (активная) [ 0.380283] система 00:07: Устройство Plug and Play ACPI, идентификаторы PNP0c02 (активный) [ 0.383270] система 00:08: устройство Plug and Play ACPI, идентификаторы PNP0c02 (активный) [ 1.454077] вход: переключатель крышки как / devices / LNXSYSTM: 00 / LNXSYBUS: 00 /PNP0A08: 00 / device: 19 /PNP0C09: 00 /PNP0C0D: 00 / вход /input0 [ 1.454191] вход: кнопка режима ожидания как / devices / LNXSYSTM: 00 / LNXSYBUS: 00 /PNP0C0E: 00 / вход / вход1 [ 1.454252] вход: кнопка питания as / devices / LNXSYSTM: 00 / LNXSYBUS: 00 /PNP0C0C: 00 / input / input2 [1.488961] i8042: PNP: контроллер PS / 2 [PNP0303: PS2K,PNP0f13: PS2M] при 0x60,0x64 irq 1,12 [ 15.074160] вход: события Intel HID как / devices / pci0000: 00 /0000:00:1f.0/PNP0C09: 00 / INT33D5: 00 / input / input7 [15.074244] ввод: массив кнопок Intel HID 5 в виде /devices/pci0000:00/0000:00:1f.0/PNP0C09: 00 / INT33D5: 00 / input / input8 [15.947074] вход: Video Bus as / devices / LNXSYSTM: 00 / LNXSYBUS: 00 /PNP0A08: 00 / LNXVIDEO: 00 / input / input9
1 ответ
Решение
У меня не так много времени, чтобы отредактировать и протестировать его на Linux (я когда-нибудь), но я попробовал ApplePS2SmartTouchPad.kext на MacOS, и он не работает (добавив FTE0001 в список устройств или переименовав устройство через DSDT).). (возможно) на основе исходного кода Linux и имеют идентичные идентификаторы устройств как focaltech.c (FLT0101, FLT0102, FLT0103), поэтому я считаю, что просто добавление FTE0001 на самом деле не поможет) TL;DR: вам, возможно, придется сделать гораздо больше, чем просто добавив FTE0001, чтобы он работал с поддержкой жестов.
Edit * только что протестирован на Kali Linux (ядро 4.19.0-kali4-amd64)
2.887558] input: FocalTechPS/2 FocalTech Touchpad as /devices/platform/i8042/serio1/input/input2
[ 39.391247] psmouse serio1: focaltech: Unknown packet type: 18
[ 39.404691] psmouse serio1: focaltech: Unknown packet type: fd
[ 39.424401] psmouse serio1: focaltech: Unknown packet type: 38
[ 39.437883] psmouse serio1: focaltech: Invalid finger in abs packet: -1
[ 39.955971] psmouse serio1: focaltech: Unknown packet type: 28
[ 39.969437] psmouse serio1: focaltech: Unknown packet type: fd
[ 39.989269] psmouse serio1: focaltech: Unknown packet type: 28
[ 40.002675] psmouse serio1: focaltech: First finger in rel packet invalid: 6
а также
[ 42.092572] psmouse serio1: Touchpad at isa0060/serio1/input0 lost synchronization, throwing 2 bytes away.
[ 85.854970] psmouse serio1: Touchpad at isa0060/serio1/input0 lost synchronization, throwing 2 bytes away.
[ 96.321251] psmouse serio1: Touchpad at isa0060/serio1/input0 lost synchronization, throwing 4 bytes away.
[ 985.197695] psmouse serio1: Touchpad at isa0060/serio1/input0 lost synchronization, throwing 4 bytes away.
[ 1423.832104] psmouse serio1: Touchpad at isa0060/serio1/input0 lost synchronization, throwing 2 bytes away.
[ 1433.534319] psmouse serio1: Touchpad at isa0060/serio1/input0 lost synchronization, throwing 2 bytes away.
[ 1557.015176] psmouse serio1: Touchpad at isa0060/serio1/input0 lost synchronization, throwing 2 bytes away.
[ 1939.871308] psmouse serio1: Touchpad at isa0060/serio1/input0 lost synchronization, throwing 4 bytes away.