Atualizando microcódigo de processadores AMD

Publicado por krum em 01/11/2012

[ Hits: 9.758 ]

 


Atualizando microcódigo de processadores AMD



Por que atualizar?

- O que é uma atualização de microcódigo:

Microcódigo do processador é semelhante ao firmware do processador. O kernel é capaz de atualizar o firmware do processador sem a necessidade de atualizá-lo através de uma atualização de BIOS.

A AMD oferece suporte para os processadores de patch microcódigo pertencentes à famílias de processadores AMD 10h, 11h, 12h, 14h, e 15h. O site visa Linux, Solaris e distribuições baseadas.

Mais informações sobre microcode consulte:

Detectando o erro e corrigindo

Para checar o erro, utilize o comando:

cat /var/log/dmesg | grep microcode

O seguinte erro foi obtido:

microcode: CPU0: patch_level=0x010000bf
microcode: failed to load file amd-ucode/microcode_amd.bin
microcode: CPU1: patch_level=0x010000bf
microcode: failed to load file amd-ucode/microcode_amd.bin
microcode: CPU2: patch_level=0x010000bf
microcode: failed to load file amd-ucode/microcode_amd.bin
microcode: CPU3: patch_level=0x010000bf
microcode: failed to load file amd-ucode/microcode_amd.bin
microcode: CPU4: patch_level=0x010000bf
microcode: failed to load file amd-ucode/microcode_amd.bin
microcode: CPU5: patch_level=0x010000bf
microcode: failed to load file amd-ucode/microcode_amd.bin
microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba


Para corrigir o erro vamos baixar o último microcode do site da AMD:

# wget http://www.amd64.org/pub/microcode/amd-ucode-latest.tar

Extraia o arquivo:

# tar -xvf amd-ucode-latest.tar

Entre no diretório extraído e leia o README:

# cat README

Será exibido o seguinte conteúdo:

INSTALLING AMD microcode patch container files

Linux

  # cd /tmp
  # tar xf /path/to/amd-ucode-2012-09-10.tar
  # mkdir -p  /lib/firmware/amd-ucode
  # mv amd-ucode-2012-09-10/microcode_amd.bin /lib/firmware/amd-ucode
  # mv amd-ucode-2012-09-10/microcode_amd_fam15h.bin /lib/firmware/amd-ucode
  # modprobe -r microcode
  # modprobe microcode


Solaris

  # cd /tmp
  # tar xf /path/to/amd-ucode-2012-09-10.tar
  # mv amd-ucode-2012-09-10/microcode_amd_solaris.bin /platform/i86pc/ucode/amd-ucode.bin

  and finally

  # reboot

  or

  # ucodeadm -i /platform/i86pc/ucode/amd-ucode.bin
  # ucodeadm -u /platform/i86pc/ucode/amd-ucode.bin

No meu caso, meu sistema é GNU/Linux Slackware 13.1 -x86_64, portanto executarei os seguintes comandos:

# tar xvf /path/to/amd-ucode-2012-09-10.tar
# mkdir -p /lib/firmware/amd-ucode
# mv amd-ucode-2012-09-10/microcode_amd.bin /lib/firmware/amd-ucode
# mv amd-ucode-2012-09-10/microcode_amd_fam15h.bin /lib/firmware/amd-ucode
# modprobe -r microcode
# modprobe microcode


Agora checamos se ocorreu tudo perfeitamente:

# dmesg | grep microcode
microcode: CPU0: patch_level=0x010000bf
microcode: CPU0: new patch_level=0x010000dc
microcode: CPU1: patch_level=0x010000bf
microcode: CPU1: new patch_level=0x010000dc
microcode: CPU2: patch_level=0x010000bf
microcode: CPU2: new patch_level=0x010000dc
microcode: CPU3: patch_level=0x010000bf
microcode: CPU3: new patch_level=0x010000dc
microcode: CPU4: patch_level=0x010000bf
microcode: CPU4: new patch_level=0x010000dc
microcode: CPU5: patch_level=0x010000bf
microcode: CPU5: new patch_level=0x010000dc
microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba


Tudo certo.

Se seu sistema não iniciar o módulo microcode no boot, insira ele no rc.modules:

# echo "/sbin/modprobe microcode" >> /etc/rc.d/rc.modules

E chegamos ao final da dica.

Outras dicas deste autor

PHP - Fatal error: Allowed memory size of bytes exhausted [Resolvido]

Exportar variáveis de um script no mesmo sub-shell

IPtables - Bloquear Facebook, Twitter e derivados [Definitivo]

SqStat com Squid 3.3.6 monitorando usuários

Como descobrir seu IP externo com cURL

Leitura recomendada

Como fazer seu próprio Debian Live USB Linux

Instalando placa wireless Realtek chipset RTL8185 Slackware 11

Colecionando discos de boot

Pós-instalação Debian Wheezy

Um pouco sobre a distribuição Linux Metasys

  

Comentários
[1] Comentário enviado por wingnux em 01/11/2012 - 20:31h

MUITO OBRIGADO! Sempre via esse erro de microcode no boot do meu linux mas não fazia a mímina ideia do que era!

[2] Comentário enviado por wingnux em 01/11/2012 - 21:09h

Tive que reverter o procedimento, o som ficou inaudível (basicamente ruídos) no Kubuntu depois dessa atualização =/

[3] Comentário enviado por krum em 02/11/2012 - 01:50h

Poxa que pena wingnux, qual seu processador ?

[4] Comentário enviado por albfneto em 02/11/2012 - 16:39h

No meu, fiz o comando cat e obtive mensagem de que não tem microcode no meu processador

AMD CPU family 0xf not supported

é um Atlhon AMD X2.

[5] Comentário enviado por krum em 02/11/2012 - 18:24h


[4] Comentário enviado por albfneto em 02/11/2012 - 16:39h:

No meu, fiz o comando cat e obtive mensagem de que não tem microcode no meu processador

AMD CPU family 0xf not supported

é um Atlhon AMD X2.


Qual seu kernel ?

[6] Comentário enviado por wingnux em 05/11/2012 - 11:49h


[3] Comentário enviado por krum em 02/11/2012 - 01:50h:

Poxa que pena wingnux, qual seu processador ?


Esse:

processor : 0
vendor_id : AuthenticAMD
cpu family : 16
model : 6
model name : AMD Athlon(tm) II X2 245 Processor
stepping : 2
microcode : 0x10000b7
cpu MHz : 2900.000
cache size : 1024 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt hw_pstate npt lbrv svm_lock nrip_save
bogomips : 5825.51
clflush size : 64
cache_alignment : 64
address sizes : 48 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate


O áudio eh obtido via HDMI, com a placa de vídeo ligada no conector S/PDIF da placa mãe.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts