udevadm monitor не видит события HDMI при включенном intel-ucode

хочу настроить udev rules на выполнение скрипта при подключении/отключении HDMI,
но udevadm monitor не видит события HDMI при включенном intel-ucode.

#dmesg | grep microcode
[    0.000000] microcode: microcode updated early to revision 0xb8, date = 2019-03-30
[    2.011839] microcode: sig=0x806eb, pf=0x80, revision=0xb8
[    2.012003] microcode: Microcode Update Driver: v2.2.

соответственно при отключении микрокода в загрузчике, все прекрасно работает, события отлавливаются.

[    0.283366] MDS: Vulnerable: Clear CPU buffers attempted, no microcode
[    1.114657] microcode: sig=0x806eb, pf=0x80, revision=0xa4
[    1.114839] microcode: Microcode Update Driver: v2.2.

проц относительно новый
model name : Intel(R) Core(TM) i3-8145U CPU @ 2.10GHz

вопрос:
1. насколько плохо оставлять его без микрокода?
2. где взять предыдущие версии микрокода?
3. возможно проблема в ядре, может его версию постарше пробовать?
4. может есть другое решение, чтоб и события были и микрокод этот ;)

кстати, если после отключения монитора, дернуть xrandr, то события приходят, но это уже не то.
mj2ks
udevadm monitor не видит события HDMI при включенном intel-ucode
Был раньше такой bug, но, насколько помню, он не был связан с обновлением микрокода. В принципе даже не понятно как обновление микрокода может влиять на события udevadm monitor. Спорить не буду, проверить не могу - так что примем за аксиому.
Хотя, если найдутся проверяющие, то не плохо бы и потдвердить данный bug.

mj2ks
1. насколько плохо оставлять его без микрокода?
Если не параноик и все работает нормально, без проблем, то можешь и забыть про обновление.

mj2ks
2. где взять предыдущие версии микрокода?
Для Intel - можно скачать с ихнего сайта, но проще установить соответствующий intel-ucode - но не вижу смысла понижать.
PS - как узнать версию микрокода в intel-ucode описано в Wiki.

mj2ks
3. возможно проблема в ядре, может его версию постарше пробовать?
Если давно не обновлялся и имеется уже новая версия, пробуй (сейчас стоит 5.1.14-arch1-1-ARCH). Хотя можешь попробовать и linux-lts.

mj2ks
4. может есть другое решение, чтоб и события были и микрокод этот ;)
Чисто теоретически можно загружать микрокод уже в загруженной системе (поздняя загрузка), но вот получится ли его выгрузить? - вопрос, никогда не пробовал, хотел поэкспериментировать, но нет бинарника микрокода.
Хотя, повторюсь, этот микрокод вообще не нужен.

EDIT 1 - ради интереса проверил, скачал микрокод с сайта Intel, загрузился в ручную нормально, а вот убрать, конечно же, не получилось (да и не должно было)
до обновления
[    0.291336] MDS: Vulnerable: Clear CPU buffers attempted, no microcode
[    0.315562] core: PEBS disabled due to CPU errata, please upgrade microcode
[    1.356788] microcode: sig=0x206a7, pf=0x10, revision=0x14
[    1.357087] microcode: Microcode Update Driver: v2.2.

после обновления ручками (из работающей системы) - старые строки в выводе dmesg повторять не стал
[  975.001945] microcode: updated to revision 0x2f, date = 2019-02-17
[  975.003911] core: PEBS enabled due to microcode update
[  975.003930] x86/CPU: CPU features have changed after loading microcode, but might not take effect.
[  975.003938] microcode: Reload completed, microcode revision: 0x2f

Была ревизия 0x14, стала 0x2f
Ошибки не исчезают с опытом - они просто умнеют
попробовал позднюю загрузку микрокода,
как я понял достаточно распаковать
bsdtar -xOf /boot/intel-ucode.img > /usr/lib/firmware/intel-ucode/microcode-intel.bin
не ясно, как проверить,
dmesg | grep microcode
в этом случае не сработает видимо,
но судя по тому что события снова отвалились, код подцепился.

удалил microcode-intel.bin - все опять заработало.

ядро 5.1.14-arch1-1-ARCH, свежая установка - экспериментирую.

прикол в том, что примерно в 12 версии еще все работало, вроде (мог просто не ставить тогда ucode, но 90% что ставил).
mj2ks
как я понял достаточно распаковать

bsdtar -xOf /boot/intel-ucode.img > /usr/lib/firmware/intel-ucode/microcode-intel.bin
Я делал по другому - у меня intel-ucode не установлен, я просто скачал с сайта Intel (правда там отсылают для linux на github) комплект документов, в котором имеется папка intel-ucode (в ней 108 файлов) и скопировал эту папку в /usr/lib/firmware/intel-ucode, а дальше запускаю команду
echo 1 | sudo tee /sys/devices/system/cpu/microcode/reload
(если использовать su, то просто echo 1 > /sys/devices/system/cpu/microcode/reload)
Все код загружен.
Если эту папку оставить, то при следующей загрузке микрокод обновится автоматом (просто в одном из конфигов прописано по дефолту значение sys/devices/system/cpu/microcode/reload=1), а потому, если нет желания загружать этот микрокод, то папку /usr/lib/firmware/intel-ucode нужно удалять.

mj2ks
не ясно, как проверить,

dmesg | grep microcode

в этом случае не сработает видимо,
сработает, я же эти данные вывода приводил выше - привожу полный вывод
journalctl -b -1 | grep microcode
июн 25 18:02:02 arch kernel: MDS: Vulnerable: Clear CPU buffers attempted, no microcode
июн 25 18:02:02 arch kernel: core: PEBS disabled due to CPU errata, please upgrade microcode
июн 25 18:02:02 arch kernel: microcode: sig=0x206a7, pf=0x10, revision=0x14
июн 25 18:02:02 arch kernel: microcode: Microcode Update Driver: v2.2.
июн 25 18:18:09 arch sudo[6115]:    vasek : TTY=pts/0 ; PWD=/home/vasek ; USER=root ; COMMAND=/usr/bin/tee /sys/devices/system/cpu/microcode/reload
июн 25 18:18:09 arch kernel: microcode: updated to revision 0x2f, date = 2019-02-17
июн 25 18:18:09 arch kernel: core: PEBS enabled due to microcode update
июн 25 18:18:09 arch kernel: x86/CPU: CPU features have changed after loading microcode, but might not take effect.
июн 25 18:18:09 arch kernel: microcode: Reload completed, microcode revision: 0x2f
Видно загрузился микрокод из BIOS revision=0x14, видна команда, после которой загрузилось обновление микрокода и получили revision 0x2f

И все-таки рекоменжую установить дополнительно linux-lts и проверить с ним.
Кроме того всегда полезно иметь lts на всякий пожарный - сломается linux, можно загрузить linux-lts.
Ошибки не исчезают с опытом - они просто умнеют
Нашел на BBS этот топик с багом udevadm, о котором упоминал выше
Ошибки не исчезают с опытом - они просто умнеют
да, похожая у них проблема. надо им написать чтобы микрокод отключили ;))
я там зарегаться не смог, ввел хеш капчи, а не пущает все равно.

в общем, поставил микрокод с github
- journalctl вывел ту же версию, дату и события не приходят.

скачал с интела предыдущую версию 18 года, с ней journalctl показывает только версию с биоса, видимо в ней еще не было патчей этого проца.

с linux-lts пока облом - места на загрузочном не хватает, возможно, позже попробую, так отпишусь.

насколько я понял критичные баги типа Meltdown фиксятся еще и на уровне ядра, так что поживем без микрокода, пока.

спасибо за наводки ))
 
Зарегистрироваться или войдите чтобы оставить сообщение.