Как проверить, не используются ли i2c-hid и hid-rmi для тачпада?

Вопрос или проблема

Я вижу следующее предупреждение в dmesg:

[    2.631179] psmouse serio2: synaptics: Ваш тачпад (PNP: SYN1218 PNP0f13) сообщает, что он может поддерживать другой интерфейс. Если i2c-hid и hid-rmi не используются, вы можете попробовать установить psmouse.synaptics_intertouch в 1 и сообщить об этом на [email protected].
...
[    2.819449] input: SynPS/2 Synaptics TouchPad как /devices/platform/i8042/serio2/input/input10

Тачпад работает, но мне кажется, что он не работает так хорошо, как раньше. Я использую Gentoo с пользовательским ядром. Недавно я переключился на другие дистрибутивы и вернулся к Gentoo, полностью перенастроив ядро. Я не думаю, что сделал что-то необычное в отношении устройств ввода, так что это возможно является ошибкой, как указано в dmesg.

$ uname -r
5.1.4-gentoo

$ grep -E 'INPUT|I2C_HID|HID_RMI' .config
CONFIG_RFKILL_INPUT=y
CONFIG_INPUT=y
CONFIG_INPUT_LEDS=m
CONFIG_INPUT_FF_MEMLESS=y
CONFIG_INPUT_POLLDEV=y
CONFIG_INPUT_SPARSEKMAP=m
# CONFIG_INPUT_MATRIXKMAP не установлен
# CONFIG_INPUT_MOUSEDEV не установлен
# CONFIG_INPUT_JOYDEV не установлен
CONFIG_INPUT_EVDEV=y
# CONFIG_INPUT_EVBUG не установлен
CONFIG_INPUT_KEYBOARD=y
CONFIG_INPUT_MOUSE=y
CONFIG_INPUT_JOYSTICK=y
CONFIG_INPUT_TABLET=y
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_INPUT_MISC=y
# CONFIG_INPUT_AD714X не установлен
# CONFIG_INPUT_BMA150 не установлен
# CONFIG_INPUT_E3X0_BUTTON не установлен
# CONFIG_INPUT_MSM_VIBRATOR не установлен
# CONFIG_INPUT_PCSPKR не установлен
# CONFIG_INPUT_MMA8450 не установлен
# CONFIG_INPUT_APANEL не установлен
# CONFIG_INPUT_ATLAS_BTNS не установлен
# CONFIG_INPUT_ATI_REMOTE2 не установлен
# CONFIG_INPUT_KEYSPAN_REMOTE не установлен
# CONFIG_INPUT_KXTJ9 не установлен
# CONFIG_INPUT_POWERMATE не установлен
# CONFIG_INPUT_YEALINK не установлен
# CONFIG_INPUT_CM109 не установлен
# CONFIG_INPUT_UINPUT не установлен
# CONFIG_INPUT_PCF8574 не установлен
# CONFIG_INPUT_ADXL34X не установлен
# CONFIG_INPUT_IMS_PCU не установлен
# CONFIG_INPUT_CMA3000 не установлен
# CONFIG_INPUT_IDEAPAD_SLIDEBAR не установлен
# CONFIG_INPUT_DRV2665_HAPTICS не установлен
# CONFIG_INPUT_DRV2667_HAPTICS не установлен
CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
CONFIG_USB_PWC_INPUT_EVDEV=y
CONFIG_SND_JACK_INPUT_DEV=y
# CONFIG_SND_HDA_INPUT_BEEP не установлен
CONFIG_HID_RMI=y
CONFIG_I2C_HID=y

Если i2c-hid и hid-rmi не используются

Мой вопрос: как проверить, не используются ли они?

вы можете попробовать установить psmouse.synaptics_intertouch в 1

$ sudo sysctl -a | grep "psmouse.synaptics_intertouch"

Ничего не возвращает, поэтому нечего устанавливать.

Если вы скомпилировали i2c-hid и hid-rmi как модули, вы можете проверить, были ли они автоматически загружены или же всё ломается, когда вы их выгружаете.

$ sudo sysctl -a | grep “psmouse.synaptics_intertouch

Ничего не возвращает, поэтому нечего устанавливать.

Это параметр командной строки ядра. В качестве альтернативы, если вы скомпилировали psmouse как модуль, вы можете выгрузить его и снова загрузить через modprobe, передавая synaptics_intertouch=1 в качестве параметра.

Ответ или решение

Для проверки использования i2c-hid и hid-rmi для вашего сенсорного устройства, как предполагается в предупреждении из dmesg, следует учитывать несколько аспектов, связанных с загрузкой ядра и модулями. Код dmesg, который вы наблюдаете, указывает на то, что, возможно, управление сенсорной панелью не оптимально и рекомендуется использовать другие драйверы.

Теория: В Linux система устройства, такие как сенсорные панели, могут поддерживать разные интерфейсы и драйверы. Ваше устройство, судя по информации из dmesg, может использовать i2c и HID протоколы, которые более продвинуты по сравнению с PS/2. Драйверы i2c-hid и hid-rmi разработаны для оптимального использования этих протоколов с повышенной функциональностью и отзывчивостью. Когда система загружает ядро, она может выбрать использование одного из них, если это предусмотрено вашей конфигурацией ядра и настройками системы.

Пример: Из вашей конфигурации ядра .config, вы отметили, что и CONFIG_HID_RMI=y, и CONFIG_I2C_HID=y установлены. Это говорит о том, что ядро поддерживает данные модули. Для проверки их фактического использования можно выполнить несколько шагов.

Применение:

  1. Проверка загруженных модулей:

    • Выполните команду lsmod в терминале. Это покажет все загруженные модули ядра. Обратите внимание на наличие i2c_hid и hid_rmi в списке.
  2. Проверка устройств:

    • Используйте команду i2cdetect (доступна в пакете i2c-tools) для проверки наличия i2c-устройств. Это может указать на использование i2c-шины вашим сенсорным устройством.
  3. Логирование устройств:

    • Посмотрите содержимое /proc/bus/input/devices, чтобы увидеть, какое устройство и какой драйвер используется для сенсорной панели.
  4. Тестирование конфигурации ядра:

    • Попробуйте выгрузить модули и загрузить их снова, чтобы проверить реакцию системы. Например, командой rmmod i2c_hid и rmmod hid_rmi, затем modprobe i2c_hid и modprobe hid_rmi.
  5. Использование параметров загрузки:

    • Если указанные модули не загружены, попробуйте изменить параметры загрузки. Настройки можно применить через grub (добавив опции) или конфигурационные файлы модулей. Для psmouse, если он скомпилирован как модуль, попробуйте команду modprobe -r psmouse и modprobe psmouse synaptics_intertouch=1.

Следуя этим шагам, вы сможете определить и настроить наиболее эффективное использование драйверов для вашей сенсорной панели, что могут привести к улучшению её производительности.

Оцените материал
Добавить комментарий

Капча загружается...