Atualizando microcódigo de processadores AMD

Publicado por krum em 01/11/2012

[ Hits: 7.932 ]

 


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

SqStat com Squid 3.3.6 monitorando usuários

Shellshock (Slackware): Falha de segurança grave no bash [Resolvido]

Logs do Squid de forma legível

Corrigir Heartbleed OpenSSL no Slackware

Slackware com kernel 3.10 - Erro com driver NVidia [Resolvido]

Leitura recomendada

Corrigindo 'bug' em placa de Vídeo NVIDIA: segundo monitor não aparece disponível no Ubuntu 11.10

Localizando IP de seu servidor Linux (inclusive IP dinâmico)

Configurando um proxy trasparente com liberação para o site da caixa (Conectividade Social)

SSH + Autenticação de dois fatores + Google Authenticator + Ubuntu

FFmpeg - Como inserir Logo em vídeo

  

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
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts