TP_HKEY_EV_HOTPLUG_DOCK и TP_HKEY_EV_HOTPLUG_UNDOCK не видны acpi_listen

TL; DR thinkpad_acpi запускает TP_HKEY_EV_HOTPLUG_DOCK и TP_HKEY_EV_HOTPLUG_UNDOCK (соответствующие сообщения появляются в dmesg), но acpi_listen и kacpimonacpid) их не видят. [1129 ]

Предыстория:

Я работаю на ThinkPad T430 (только iGPU, без карты nVidia), с сервером Ubuntu 18.04 (на который я устанавливаю xorg и различные другие пакеты вручную). Я хотел запускать сценарии (для обработки стыковки и расстыковки) для определенных событий ACPI. Я использовал эту методологию: https://feeding.cloud.geek.nz/posts/hooking-into-docking-undocking-events-to-run-scripts/ с acpid. Это работало отлично в течение нескольких часов, но теперь скрипт больше не запускается, и acpi_listen больше не видит соответствующие события вообще.

Я установил и удалил несколько пакетов между тем, когда он работал, и когда это было не так, но я сам не изменял никакие конфигурации. Все эти пакеты с тех пор были удалены. Конкретными пакетами были:

  • thermald
  • tlp
  • tp-smapi-dkms
  • thinkfan
  • linux-tools- common

Все эти пакеты были удалены с apt remove --purge, и с тех пор я несколько раз перезагружался.

Я надеюсь, что кто-то из присутствующих мог бы подсказать, какие службы могли бы перехватывать эти события и предотвращать их захват с помощью acpid?

Я уже пытался вручную остановить службу systemd-logind, и это не имеет никакого эффекта - - соответствующие события все еще не отображаются в acpi_listen или kacpimon. Эта проблема, по-видимому, влияет только на события док-станции, поскольку клавиши регулировки громкости и яркости по-прежнему генерируют события как acpi_listen, так и kacpimon.

Это мои наблюдения до сих пор:

  1. Я вижу сообщения, такие как
[  849.503377] thinkpad_acpi: undocked from hotplug port replicator
[  982.631694] thinkpad_acpi: docked into hotplug port replicator

в dmesg, так что предположительно модуль acpi_thinkpad работает.

  1. Я вижу сообщения в acpi_listen, когда я делаю другие вещи, которые могут вызвать события. Например, увеличение громкости приводит к такому выводу:
button/volumeup VOLUP 00000080 00000000 K

, по-видимому, acpid работает правильно. Вывод kacpimon соответствовал этому поведению (также отсутствовали события стыковки / отстыковки).

  1. Как уже отмечалось, я попытался остановить systemd-logind и снова протестировать предыдущий, но безрезультатно. Я недостаточно осведомлен о systemd, чтобы быть уверенным в погоде или нет, но этого было недостаточно, чтобы помешать ему перехватывать все события acpi?

  2. Это содержание /proc/acpi/ibm/hotkey

    [ 1123]
status:         enabled
mask:           0x078c7ffb
commands:       enable, disable, reset, 

Это идентично содержимому этого файла при загрузке с live CD и имеет значение в /sys/devices/platform/thinkpad_acpi/hotkey_recommended_mask. Как отмечено в (1), это говорит о том, что модуль acpi_thinkpad работает и генерирует правильные события.

  1. Загрузка с живого компакт-диска (Xubuntu 18.04, который мне пригодился) и запуск acpi_listen, а затем стыковка / отстыковка приводят к печати ожидаемых событий.

В заключение, я предположительно каким-то образом довел мою систему до состояния, когда что-то захватывает / маскирует эти конкретные события ACPI, прежде чем acpid сможет их получить.

1143 Кто-нибудь может подсказать, что может быть источником этой проблемы? Альтернативный способ запуска сценариев для запуска в доке / отсоединении тоже подойдет.

1
задан 19 May 2019 в 05:36

0 ответов

Другие вопросы по тегам:

Похожие вопросы: