Изменения в процессе обновления микрокода Intel

У меня получается довольно большой выбор — аж 148 предложений обновления микрокода (хотя несколько дней назад был всего один вариант). Сейчас я запустил такую команду, чтобы выбрать только процессор с моими параметрами
# bsdtar -Oxf /boot/intel-ucode.img | iucode_tool -tb -lS - | grep 206a7
iucode_tool: cpuid kernel driver unavailable, cannot scan system processor signatures
137: sig 0x000206a7, pf mask 0x12, 2013-06-12, rev 0x0029, size 10240
Для сравнения привожу информацию из БИОС (до обновления)
$ dmesg | grep -i microcode
[ 0.073083] perf_event_intel: PEBS disabled due to CPU errata, please upgrade microcode
[ 0.906944] microcode: CPU0 sig=0x206a7, pf=0x10, revision=0x14
[ 0.906951] microcode: CPU1 sig=0x206a7, pf=0x10, revision=0x14
[ 0.906962] microcode: CPU2 sig=0x206a7, pf=0x10, revision=0x14
[ 0.906971] microcode: CPU3 sig=0x206a7, pf=0x10, revision=0x14
[ 0.907031] microcode: Microcode Update Driver: v2.00 <[email protected]>, Peter Oruba
И как видно sig=0x206a7 совпадает, а вот pf нет — старый pf=0x10 (revision=0x14
), а в обновлении pf=0x12 (rev 0x0029).
Но я всеравно обновил - как выше писал все прошло нормально и dmesg выдал
arch kernel: microcode: CPU0 sig=0x206a7, pf=0x10, revision=0x29
arch kernel: CPU0 microcode updated early to revision 0x29, date = 2013-06-12
И ЗАМЕТЬ ИЗМЕНИЛОСЬ САМО СОБОЙ на pf=0x10 вместо pf=0x12 - так что все делается автоматом и не заморачивайся. После этого вернул все на место. Советую самому по экспериментировать.
[u]UPD.....фактическую версию обновления микрокода, которая забита в БИОС, можно проверить, например, так (это для моего БИОС)
$ sudo dmidecode -u | grep 'Handle 0x0000' -A4
Handle 0x0000, DMI type 4, 42 bytes
Header and Data:
04 2A 00 00 03 03 CE 02 A7 06 02 00 FF FB EB BF
01 8C 64 00 34 08 34 08 41 04 02 00 03 00 04 00
00 04 00 02 02 04 04 00 CE 00
Согласно спецификации версия обновления микрокода — смещение 19h (10 тичная — 25), длина 1 байт - смотрим 25 байт — и видим 41- перевертываем и получаем версию 14 (что мы видим и в dmesg).

Извиняюсь, напутал.....)))...
Ошибки не исчезают с опытом - они просто умнеют
vasek
смотрим 25 байт
у меня всего 24 байта ))

вообщем странно, почему-то не применяется или в dmesg не пишется,
делал через /etc/grub.d/10_linux
всё вроде получилось.. странно всё это
Нехорошо, занялся в новостях offtop, извиняюсь, пишу последний раз
Я все приводил для своего типа БИОС, тогда давай проверим для твоего
Узнаем версию cpu ID
$ sudo dmidecode processor | grep 'Processor Information' -A5
Processor Information
Socket Designation: CPU 1
Type: Central Processor
Family: Core i3
Manufacturer: Intel(R) Corporation
ID: A7 06 02 00 FF FB EB BF
….............A7 06 02 00 — 000206А7h — это версия моего процессора (такой же номер выдаст и Аида или другая виндовая утилита)
Чтбы выйти на микрокод получаем полный вывод
sudo dmidecode -u
и ищем нужный Handle, который содежит версию процессора (начало 9-ый байт) A7 06 02 00 и вот в этом выводе смотрим 25 байт
Header and Data:
04 2A 00 00 03 03 CE 02 A7 06 02 00 FF FB EB BF
01 8C 64 00 34 08 34 08 41 04 02 00 03 00 04 00
00 04 00 02 02 04 04 00 CE 00

Извиняюсь, напутал
PS...проще посмотреть все это в виндах, например, Aida
Ошибки не исчезают с опытом - они просто умнеют
Напишите пожалуйста не очень понимающему человеку, обновлять микрокод Intel обязательно на всех интеловских процессорах или нет?
У меня на двух компьютерах с Archlinux, стационарном - intel dual core E4700,на ноутбуке intel dual core celeron t1600,никакой микрокод специально не обновлял,вроде всё работает нормально.
Нужно мне вникать в эту тему или не заморачиваться?
Linux Forever!
Vadim, напишу свое мнение, но оно может отличаться от большинства.
В принципе, особых причин для обновления микрокода я не вижу.
Ну если что будет обнаружен какой-то большой баг, но эту тему так рассусолят, что об этом будет все раписано и тогда можно будет принять решение.
Но я тебе советую потренироваться - это не страшно, а после экспериментов все верни на место. В БИОС ничего не прописывается, просто идет подмена.
Для общего понятия предлагаю почитать старые статейки о микрокоде, которые нашел у себя - ...1.... и .....2.....
PS.....во 2 статье, кстати, ответ на вопрос grayich, если что то не совпадет, - .....происходит отказ на уровне чипа, если микрокод предназначается не для данного типа процессора....
Ошибки не исчезают с опытом - они просто умнеют
vasek,спасибо,попозже потренируюсь,сегодня нет настроения да и вроде пока всё работает нормально.
Linux Forever!
vasek, я ж и говорю, sig совпадает

вот если неверишь)
# dmesg | grep microcode
[    8.177362] microcode: CPU0 sig=0x1067a, pf=0x1, revision=0xa07
[    8.196115] microcode: CPU1 sig=0x1067a, pf=0x1, revision=0xa07
[    8.196234] microcode: Microcode Update Driver: v2.00 <[email protected]>, Peter Oruba

# bsdtar -Oxf /boot/intel-ucode.img | iucode_tool -tb -lS -
iucode_tool: system has processor(s) with signature 0x0001067a
selected microcodes:
001: sig 0x0001067a, pf mask 0xa0, 2010-09-28, rev 0x0a0b, size 8192
002: sig 0x0001067a, pf mask 0x11, 2010-09-28, rev 0x0a0b, size 8192
003: sig 0x0001067a, pf mask 0x44, 2010-09-28, rev 0x0a0b, size 8192

# lscpu|egrep "family|Model:|Stepping"
CPU family:            6
Model:                 23
Stepping:              10

// т.е. hex 06 17 A = 1 06 7 0A = 0x1067a
// что  соответствует

# dmidecode processor | grep 'Processor Information' -A5
Processor Information
	Socket Designation: LGA775
	Type: Central Processor
	Family: Other
	Manufacturer: Intel
	ID: 7A 06 01 00 FF FB EB BF

# dmidecode -u|grep -A2 "7A 06 01 00"
		04 28 04 00 01 03 01 02 7A 06 01 00 FF FB EB BF
		03 8D C8 00 D8 0E B8 0B 41 01 05 00 06 00 07 00
		04 05 06 02 02 02 04 00

// тоже 41,  что то 14 версии у меня нигде нет

а cpuid не нужно добавить случайно в /etc/modules-load.d/modules.conf или типа того?
В части не совпадения я говорил в общем и, в частности, о pf.
Насколько я понимаю, возможно и не прав, обновление выходит одно, большое, для всех версий процессоров, а умный компьютер выбирает сам, нужное ему - может кто и поправит и объяснит нам, как это происходит.
Насчет версии обновления - был не прав, обманул, сейчас уточнил, посмотрел спецификацию - 19h (25 байт) совсем другое - как всегда пишу потом проверяю, так что не обижайся - лучше это все смотреть в виндах аидой, а не выпендриваться. (но где то версия обновления там то же есть, лень разбираться, да это нам и не к чему).
cpuid - обычная утилита, как и другие подобные ей - только облегчают нам жизнь - зачем ее куда то пихать.
Ошибки не исчезают с опытом - они просто умнеют
немогу найти, как обновить вручную?
хочу попробовать применить и тем самым понять, что происходит, код не принимает или что то при загрузке не срабатывает
Я делал все по Wiki
PS.....сейчас моментально нашел в виндах аидой версию обновления микрокода (та что в БИОС) - 14.
Ошибки не исчезают с опытом - они просто умнеют
 
Зарегистрироваться или войдите чтобы оставить сообщение.