Рейтинг:7

Клавиатура не работает после выключения (ASUS Zenbook 13 OLED UM325S)

флаг in

Я только что установил Ubuntu 20.04 на свой новый ASUS Zenbook 13 OLED UM325S.

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

Моя запись в личинке; GRUB_CMDLINE_LINUX_DEFAULT="тихий всплеск"

Сделанные открытия

  1. serio_raw Модуль ядра не загружается при холодной загрузке. Открытие, сделанное в этом суть.
  2. Клавиатура AT Translate Set 2 это клавиатура ноутбука. Этого не видно после холодной загрузки, но есть после перезагрузки. Суть здесь.
  3. Я не могу использовать xinput для управления свойствами устройства, как это было предложено @Sancho.s в его ответе ниже. Иногда xinput не показывает ни одну из подключенных клавиатур, он показывает только виртуальные устройства. libinput с другой стороны, показывает все устройства правильно.
  4. Горячие клавиши WMI ASUS работают, поэтому иногда я вижу, что настройки яркости, звука и т. д. работают, когда F1-F12 используется в сочетании с фн ключ.

Попытки заставить это работать

  1. у меня принудительная загрузка serio_raw оба используют initramfs и load-modules.d безуспешно. Модуль загружается, но не влияет на проблему с клавиатурой.
  2. Пытался запустить xinput set-prop "AT Translated Set 2 keyboard" "Device Enabled" 1 однако xinput выдает ошибку, что устройство не найдено.

Обходной путь на данный момент — подключить внешнюю клавиатуру, дождаться запуска Cryptsetup, а затем нажать CTRL+ALT+DEL а потом загружаться нормально. Если я перезагружусь из GRUB, это не повлияет.

Спасибо

denNorske avatar
флаг sl
Просто чтобы добавить сюда, у меня точно такая же проблема, как и у вас, с новым ноутбуком, купленным сегодня. точно такая же модель. Для справки: моя клавиатура работает в GRUB во время загрузки, но сразу после этого она не работает, когда cryptsetup запрашивает мой пароль на моем зашифрованном диске. Я буквально не могу загрузить систему без внешней клавиатуры.Клавиатура не работает на консолях TTY или где-либо еще, но иногда я вижу, что горячие клавиши для яркости работают, а иногда нет.
denNorske avatar
флаг sl
Я провел некоторое расследование, я перечислил все модули ядра, загруженные после перезагрузки и после холодной загрузки, и на самом деле есть один модуль, который не загружается при холодной загрузке: «serio_raw» — https://cateee.net/lkddb/web- lkddb/SERIO_RAW.html (не уверен, что это связано, но кажется вероятным!) Вот моя суть. Я загрузил LSMOD в алфавитном порядке здесь. Первая версия с работающей клавиатурой, последняя версия без клавиатуры. https://gist.github.com/dennorske/ae5f96d36b367f3bc874889c8a8a6c5b/revisions#diff-9025194bc67b0b297fd6bd585ea504ec71c275c9d94654d14bc3c30115b010fb
denNorske avatar
флаг sl
Извините за тройной комментарий, но вот еще команды, которые запускаются как после холодной загрузки, так и после перезагрузки, чтобы показать состояния lspci, lsmod, xinput list, dmesg. https://gist.github.com/dennorske/f9ed4abbd435f7cdda09133c25d1ac63 Я также добавляю награду сюда, чтобы привлечь внимание, я надеюсь, что это станет моим ежедневным драйвером.
denNorske avatar
флаг sl
Пока внесенные мной изменения не будут приняты, моя запись в grub будет выглядеть следующим образом: `GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"`
denNorske avatar
флаг sl
Таким образом, проходит много времени между каждым редактированием и его утверждением - чтобы ничего не упустить из виду проходящие читатели; «Обнаружено новое сообщение об ошибке (по состоянию на 14 сентября 2021 г.:)« Не удается прочитать CTR при инициализации i8042 »». Итак, в одном из ответов ниже упоминается, что некоторые устройства не имеют встроенного самотестирования, и, следовательно, это не удается. Я также нашел похожие темы здесь: https://bbs.archlinux.org/viewtopic.php?id=264868 и https://forums.linuxmint.com/viewtopic.php?f=46&t=355162.
Рейтинг:3
флаг pl

Я буду опираться на вашу хорошую работу по выявлению различий между "условия труда" (ВКС) и "нерабочие условия" (НВК).
Запись: Я удивлен, что вам приходится делать что-либо из того, что предлагается ниже, но если это сработает... хорошо для вас.


Вам может потребоваться явно принудительно загрузить модуль serio_raw к системад во время загрузки. Попробуйте добавить его в /и т.д./модули (источник). Или создать файл /etc/modules-load.d/serio_raw.conf содержащий serio_raw. Холодная загрузка и отправка отзывов (как это повлияло на различия, которые вы обнаружили ранее? см. это для проверки вставки модуля).

Если вам нужно загрузить модуль раньше (вы упомянули «cryptsetup запрашивает мой пароль на моем зашифрованном диске»), во время загрузки с initrd, ты можешь использовать initramfs-инструменты или же чертеж. Этот и это может помочь. Смотрите также официальная информация, или же это.


Если это само по себе не работает, предполагая, что когда вы выполнили xinput список под ВКС не было внешней клавиатуры, Клавиатура AT Translate Set 2 это внутренняя клавиатура (источник).

Добавить автоматическое выполнение команды

$ xinput list-props "Клавиатура AT Translated Set 2"

при загрузке, чтобы увидеть, получите ли вы что-то вроде

Устройство «Клавиатура AT Translated Set 2»:
    Устройство включено (124): 0
    ...

при холодной загрузке. Если да, добавьте автоматическое выполнение команды

$ xinput set-prop "AT Translated Set 2 keyboard" "Device Enabled" 1

и снова холодная перезагрузка. Пожалуйста, оставьте отзыв.


Вы также можете проверить состояние вашей системы в НВК к sshвникая в это. Возможно, это «менее инвазивно», чем использование внешней клавиатуры с точки зрения конфигурации клавиатуры.


Связанный:

  1. https://unix.stackexchange.com/questions/89538/как-сказать-какая-клавиатура-была-использована-для-нажатия-кнопки
denNorske avatar
флаг sl
Спасибо за такой хороший подробный ответ. Я форсировал модуль `serio_raw` как в `initramfs`, так и в `modules-load.d`, и модуль загружался при каждой загрузке, но kyeboard все еще не работал. Далее, когда я сейчас проверяю `xinput list`, я просто получаю подмножество устройств, и я не знаю, что изменилось. Попытка сделать это на "клавиатуре AT Translated Set 2", как было предложено, не удалась. Доступные устройства находятся только в разделе «Указатель виртуального ядра» и «Виртуальная клавиатура ядра», например, «xwayland-keyboard» и «Указатель виртуального ядра XTEST». Я попробую SSH, чтобы увидеть, что он возвращает.
denNorske avatar
флаг sl
Небольшое обновление, используя libinput, оно появляется, когда оно находится в WKC.
denNorske avatar
флаг sl
* Обновление № 2: * «AT Translated Set 2 Keyboard» также не отображается в _NWC_ с libinput (из SSH)
sancho.s ReinstateMonicaCellio avatar
флаг pl
@Denny - Даже если вы не писали исходный OP, я предлагаю вам отредактировать его, добавив все, что вы найдете. Я также предлагаю вам продолжать редактировать суть и т. д., указав точные команды, которые вы вводите, точный результат, который вы получаете, и при каких условиях вы это сделали (конечно, это занимает больше времени, но экономия в долгосрочной перспективе того стоит) ). Вы значительно повысите свои шансы на решение проблемы. «Рассказ» о действиях и результатах размывает картину.
Рейтинг:2
флаг de

Ваш вопрос указывает на то, что клавиатура вообще не определяется ядром Linux. Похоже, это связано не только с X-сервером. В противном случае вы сможете ввести пароль для расшифровки дисков или на виртуальном терминале.

В то время как настольные клавиатуры в настоящее время обычно подключаются через USB, клавиатуры ноутбуков могут быть особенными. Клавиатура моей клавиатуры DELL Precision 5520, например, подключена к контроллеру клавиатуры i8042 микросхемы SuperIO. Обычно это относится как к стандартным клавиатурам AT, так и к PS/2. Если бы он был скомпилирован как модуль, модуль назывался бы «i8042». Однако Ubuntu компилирует serio_i8042 непосредственно в ядро ​​(см.: https://kernel.ubuntu.com/~kernel-ppa/config/hirsute/linux/5.10.0-14.15/amd64-config.flavour.generic ).

Если вы ищете i8042 и «Zenbook», кажутся известные проблемы с драйвером и Zenbook, которые связаны с тем, что в Zenbook отключено самотестирование i8042. Раньше это вызывало проблемы с клавиатурой после приостановки/возобновления.В первый раз это было исправлено с помощью коммита 77b425399f6d в 2016 году, и есть недавний патч, исправляющий эту проблему для Zenbook Flip с ядром 5.4.243 (см.: https://lore.kernel.org/lkml/[email protected]/ ). Также похоже, что патч Convertible что-то сломал до ядра 5.11.057, которое было исправлено еще в марте 2021 года. ( https://lore.kernel.org/lkml/[email protected]/ ). Мой Ubuntu в настоящее время работает под управлением ядра 5.11.0-34, что означает, что у него все еще есть эта проблема, как и у вашего ядра. Я бы посоветовал вам попробовать обновить ядро ​​до более поздней версии и посмотреть, решит ли это вашу проблему.

Вы можете загрузить пакеты .deb для более позднего ядра с: https://kernel.ubuntu.com/~kernel-ppa/mainline/?C=N;O=D - или вы можете использовать основной инструмент для установки более свежего ядра:

sudo add-apt-repository ppa:cappelikan/ppa
судо подходящее обновление
sudo apt установить основную линию
sudo mainline --install-latest

Затем вам нужно перезагрузиться и выбрать самое последнее ядро ​​​​из вашего загрузчика (обычно grub).

Если проблема связана с ошибкой ядра, ваша клавиатура теперь должна работать. вы также можете посмотреть /proc/bus/input/devices, чтобы увидеть, отображается ли там ваша клавиатура.

denNorske avatar
флаг sl
Привет Марсель и спасибо за информацию. Похоже, это проблема с ядром, поэтому я копался в загруженных модулях и тому подобном. Я пытался использовать mainline для обновления своего ядра, но ничего, кроме `5.12.x`, не работает, так как зависимость libc6 составляет 2.34 и выше. Ubuntu 21.04 имеет версию 2.33, поэтому не удается установить заголовки. Есть ли у вас какое-либо представление о том, что можно сделать, чтобы это сработало? Я полагаю, что одним из способов было бы скомпилировать собственное ядро ​​​​из исходного кода? Также много информации отсутствует в ОП, так как у меня есть довольно большое ожидающее одобрения редактирование :) Извините за это.
Marcel Noe avatar
флаг de
Если бы я был в такой ситуации, я бы сам собрал ядро. Вы можете использовать среду сборки ядра Ubuntu/Debian, но это может привести к большим накладным расходам. Быстрым решением было бы загрузить исходный код ядра с kernel.org и использовать конфигурацию ядра Ubuntu в качестве входных данных. Вы можете найти конфигурацию в /boot, например. /boot/config-5.4.0-84-общий . Загрузите исходный код ядра с kerne.org и извлеките его в /usr/src/linux-{версия}. CD в ​​каталог, скопируйте конфигурацию из /boot в .config. Запустите make oldconfig; делать; сделать модули_установить; сделать bzImage; скопируйте bzImage в /boot. Добавьте ядро ​​​​в grub и перезагрузите компьютер.
Marcel Noe avatar
флаг de
Этот ответ содержит более исчерпывающую инструкцию по правильной компиляции ядра «способом Ubuntu»: https://askubuntu.com/questions/718381/how-to-compile-and-install-custom-mainline-kernel/718662#718662 Я думаю, вы можете адаптировать его для компиляции ядра 5.8.X.
denNorske avatar
флаг sl
Спасибо! Согласно форуму Arch Linux, у парня были такие же проблемы, и он был скомпилирован с некоторыми измененными флагами; https://bbs.archlinux.org/viewtopic.php?id=264868 Я хотел бы попробовать то же самое, может быть, вы знаете, как?
Marcel Noe avatar
флаг de
Да. Просто отредактируйте .config с помощью текстового редактора и найдите параметры, указанные в сообщении Arch Linux. В качестве альтернативы запустите «make menuconfig» вместо «make oldconfig», и вы получите интерфейс на основе curses — однако он задаст вам много вопросов, поэтому вариант текстового редактора может быть быстрее.
denNorske avatar
флаг sl
Я думаю, что это самое близкое к решению с моей стороны, так что счастлив +100 баллов, и я вернусь, как только появятся какие-либо новости. Я еще не смог добиться успеха, т.
Marcel Noe avatar
флаг de
Мне очень жаль это слышать. Если хотите, мы можем продолжить попытки отладки. Удалось собрать ядро? И спасибо за +100!
Рейтинг:1
флаг ph

У меня была такая же проблема на моем ASUS Zenbook UM325UA.

А публиковать на linux.org указал на запись в вики Arch который содержал ту же проблему для другого ASUS ZenBook с расплывчатым, но работающим решением.

После некоторых проб и ошибок я обнаружил, что загрузка i8042 Модуль необходим для того, чтобы клавиатура работала во время загрузки. Что касается того, почему он работает без него после перезагрузки, я до сих пор понятия не имею.

В Arch Linux, следующий модуль должен быть включен в /etc/mkinitcpio.conf:

# Для ранней (initramfs) клавиатуры
# В разделе МОДУЛИ
МОДУЛИ=(i8042)

После чего образ initramfs должен быть воссозданный.

В Ubuntu, согласно initramfs-инструменты справочная страница, i8042 модуль должен быть указан в /etc/initramfs-tools/модули файл, то изображение должно быть воссоздано с помощью обновление-инитрамфс-у.

Я не использую Ubuntu, поэтому я не тестировал ее, скажите, работает ли она у вас.

Рейтинг:1
флаг in

Была ошибка ядра несколько версий назад это повлияет на некоторые клавиатуры ноутбуков. Хотя для версии 5.8.0-20 было выпущено исправление, это может быть возможностью для изучения.

Попробуй это:

  1. Откройте терминал (если он еще не открыт)
  2. Определите тип шасси вашей машины:
    кошка /sys/класс/dmi/id/chassis_type
    
    Если значение 31 или же 32, игнорируйте остальную часть этого ответа.
  3. Проверьте, если intel_vbtn загружается:
    судо dmesg | grep intel-vbtn
    
    Если нет вывода, игнорируйте остальную часть этого ответа.
  4. Если вы зашли так далеко, решение может состоять в том, чтобы заблокировать intel_vbtn от загрузки:
    1. Создайте новый файл в /etc/modprobe.d:

      sudo vi /etc/modprobe.d/intel-vbtn.conf
      

      Примечание: Не стесняйтесь использовать текстовый редактор по вашему выбору. Использование ви в примере больше мышечная память, чем индоссамент.

    2. Скопируйте в файл следующее:

      # Этот модуль ломает клавиатуру, так что не загружайте его
      черный список intel_vbtn
      
    3. Сохраните файл и выйдите:

      Если вы используете ви, это было бы Esc, тогда : ¢ ж ¢ д ¢ Войти к жобряд и дв редакторе.

  5. Завершите работу и перезапустите, чтобы убедиться, что клавиатура работает после «холодной» перезагрузки.
denNorske avatar
флаг sl
Спасибо! Я проверил с помощью `lsmod`, а также проверил `dmesg`, а также `journalctl`, чтобы увидеть, есть ли упоминания о таком модуле, если они есть. В моем случае я использую систему на базе AMD (Ryzen 7 5700U) и не уверен, что у OP. К сожалению, я ничего не нашел по этому имени, но, поскольку вы предложили его, я попробовал. Не получилось, к сожалению. Мой тип шасси сообщил «10».
Рейтинг:1
флаг in

Наконец, это решение работает для меня.

Я использую ASUS Zenbook 13 OLED UM325S с Kubuntu 20.04.

Отредактируйте файл: /etc/default/grub

Замените нижнюю линию

GRUB_CMDLINE_LINUX=""

С

GRUB_CMDLINE_LINUX="i8042.reset i8042.nomux i8042.nopnp i8042.noloop"

Обновить загрузчик

sudo update-grub
Рейтинг:0
флаг ru

Откройте виртуальную консоль, например. Ctrl+Альт+F3

Клавиатура там работает?
Затем попробуйте установить оттуда:

sudo apt установить xserver-xorg-input-all

и попробуйте обновить:

судо подходящее обновление
судо подходящее обновление

Затем попробуйте завершить X с помощью

Судо /etc/init.d/gdm остановить

После этого попробуйте перенастроить X

sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.backup
sudo dpkg-перенастроить xserver-xorg

Наконец, перезапустите X с помощью

sudo /etc/init.d/gdm начать
denNorske avatar
флаг sl
Клавиатура нигде не отвечает после grub, то же самое здесь с тем же ноутбуком. Я пробовал ваши инструкции безуспешно.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.