Pular para o conteúdo

Atualizando microcódigo de processadores AMD

Dica publicada em Linux / Introdução
krum krum
Hits: 10.339 Categoria: Linux Subcategoria: Introdução
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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

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

Como descobrir seu IP externo com cURL

SqStat com Squid 3.3.6 monitorando usuários

Slackware e BIND - Corrigindo erro em chroot após upgrade

Usando o editor de texto VIM para editar o sources.list

Triggers para utilização de recursos do PostGIS

Instalando e configurando um servidor LAMP (Linux, Apache, MySQL e PHP) no Debian Etch

Mudando mensagem do AzBox

Configurando RIP v2 em roteadores CISCO

#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

Entre na sua conta para comentar.