Jump to content
Sign in to follow this  
Followers 0
Andy Vandijck

AnVMSR V1.0 - Tool and driver to read from or write to CPU MSR registers

11 posts in this topic

Recommended Posts

This tool is made by me for reading and writing to CPU MSR registers.

It works in kernel mode by a driver which is linked to the tool in user land with a user client.

Source is included ;)

WARNING: Don't randomly read or write to MSR registers... If you read or write invalid MSR registers, or invalid data written, your system will crash...

 

Usage:

anvmsr read E2

= read MSR register E2 and show value.

anvmsr write E2 0BAD

= write 0BAD to MSR register E2

 

Enjoy... :D

AnVMSR-1.0.zip

Share this post


Link to post
Share on other sites
Advertisement

Haven't tested yet, but thanks anyway. :)

Is there some software to read and interpret values of common PCI registers, such as LPC (D31:F0) or ME interface? Will be very useful too. ;)

Share this post


Link to post
Share on other sites

Haven't tested yet, but thanks anyway. :)

Is there some software to read and interpret values of common PCI registers, such as LPC (D31:F0) or ME interface? Will be very useful too. ;)

lspci? It included into DarwinDumper, see inside.

Andy,

See to compare msr_tools

Share this post


Link to post
Share on other sites

lspci? It included into DarwinDumper, see inside.

Andy,

See to compare msr_tools

Ok, just checked out the source...

I'll build and test that tool too ;)

Share this post


Link to post
Share on other sites

Forgive my ignorance but could this eventually develop into something that can allow us to bypass BIOS/AICPUPM patching for native power management? 

Share this post


Link to post
Share on other sites

Forgive my ignorance but could this eventually develop into something that can allow us to bypass BIOS/AICPUPM patching for native power management? 

Sorry, no.

MSR register 0xE2 has a property WriteOnce.

It means that if BIOS write something in it then further writing is impossible. This is the reason why you need to patch ASUS BIOS no matter what you do later.

Another method is to patch AICPUPM so that it will not use the register at all.

Share this post


Link to post
Share on other sites

Sorry, no.

MSR register 0xE2 has a property WriteOnce.

It means that if BIOS write something in it then further writing is impossible. This is the reason why you need to patch ASUS BIOS no matter what you do later.

Another method is to patch AICPUPM so that it will not use the register at all.

 

Thanks for the explanation :)

Share this post


Link to post
Share on other sites

I tried this tool to write 1FC to disable prochot (my CPU is throttling). The register reads 0x14005f so I tried with write 14005e but I get kernel panic. Throttlestop under Windows does just that and it works. I'm thinking if there's a way to mod the bios as we do for power management ..

Share this post


Link to post
Share on other sites

Just registered here to download this software,

 

Having some trouble getting the prebuilt binary to work. On an i5-540 with OSx 10.11.4 I did manage to make it read the registers, but writing anything (even the same value) results always in a freeze + reboot. Just interested in changing 0x1FC to disable thermal throttling.

 

Tried it on a couple of other computers (T9300 / OSx 10.10.5) and (i5-2557M / OSx 10.12.1) but couldn't get it to read anything, it just blurbs out "Can't get registry-entry path"

 

I installed the supplied kext (to both locations, just to be sure), also tried running the binary in superuser mode (although on the i5-540 it worked without any priviledges..) 

 

Am I missing some support package on those two machines? Xcode? 

 

Under Windows (with ThrottleStop) I managed to disable BD_PROCHOT on the i5-540, and under Ubuntu I guess it's disabled by default, but installing msr-tools and running read/write commands on 0x1FC worked without crashing.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By ludufre
      [GUIA] Correção de assinatura BIOS Insyde H2O
       
      Recentemente comprei um notebook Lenovo L440 pra instalar o macOS Mojave e fui substituir a placa wireless pela DW1560 porque a atual não é compatível. Descobri que existia uma whitelist de placas permitidas que as fabricantes estão adotando recentemente (no meu caso utiliza uma bios Phoenix Insyde BIOS H2O).
       
      Procurei em fórums de BIOS MODDING e encontrei pessoas que fizeram o patch pra mim. Só que após substituir a BIOS notei que o computador ficava apitando 5 vezes todas vez que ligava e fui me aprofundar no caso. E foi aí que descobri como resolver isso e por isso criei esse guia baseado nas informações que achei em alguns fóruns russos.
       
       
      Prefácio
       
      Quando a BIOS falha no teste te integridade, algumas funcionalidades Intel AMT param de funcionar e é emitido uma sequência de 5 apitos duas vezes no boot.
      Após modificar para remover whitelist (habilitar placas WI-FI não autorizadas), destravar MSR 0xe2 (hackintosh), habilitar menu avançado, etc. a BIOS não vai passar no teste de integridade causando esse problema.
      Essa verificação de integridade é feita através da assinatura RSA do bloco da BIOS chamado TCPABIOS (mais informações abaixo) com a chave pública no formato modulus 3 também armazenada na BIOS.
      Esse bloco TCPABIOS armazena os checksums de cada volume da BIOS.
       
      O que faremos é gerar novos checkums para esses volumes que foram modificados, gerar um para de chaves RSA (privada e pública), assinar esse bloco com a chave privada e substituir a chave pública.
       
       
      Ferramentas necessárias
       
      - EFITool NE alpha 54: https://github.com/LongSoft/UEFITool/releases
      - HxD 2.1.0: https://mh-nexus.de/en/hxd/
      - OpenSSL: http://gnuwin32.sourceforge.net/packages/openssl.htm (Download -> Binaries)
      - Microsoft File Checksum Integrity Verifier (FCIV.exe): https://www.microsoft.com/en-us/download/details.aspx?id=11533
       
      Passo a passo
       
      Vamos abrir a BIOS modificada, localizar o bloco TCPABIOS e entender sua anatomia.
       
      1. Abra a BIOS no HxD
       

      (Vamos utilizar nesse guia a BIOS modificada no fórum MyDigitalLife.com pelo usuário Serg008 para o notebook Lenovo B590)
       
      2. Busque a palavra TCPABIOS:
       


       
      3. O bloco começa com TCPABIOS e termina com antes de TCPACPUH
       

       
      4. Anatomia:
       
      54 43 50 41 42 49 4F 53 48 31 38 34 61 31 31 2F
      32 36 2F 31 33 49 42 4D 53 45 43 55 52 00 FD 27
      34 2A 35 AB 41 26 39 E3 32 E5 B6 8A D6 49 5B 0B
      77 F9 82 58 48 00 00 00 CE 18 1F 00 00 00 03 00
      00 00 00 00 00 00 27 00 00 00 00 00 00 00 00 00
      00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
      00 00 00 00 00 00 00 00 00 00 00 FF FF 83 04 D4
      52 52 95 C5 D7 21 55 78 0E 5C AD 47 EE C4 3D 1D
      C1 EC 69 03 2B 51 A5 42 61 96 22 F9 7B 88 57 B7
      A8 9D D0 20 DB 5B 11 10 55 07 84 6C 62 DF FA 2F
      6A A8 43 0C 8A 40 AF 79 0D 31 DB 5A 5D C8 2F EB
      F8 7C 87 B0 A6 3D 2A 88 AE 91 9D 88 E3 AA 85 E3
      5A B3 91 7F 28 68 1F BA 92 C4 7E 10 F5 1A 7E 75
      A9 6F CE C0 4F BA FA 79 A5 98 2B 50 60 BA 09 73
      7B 03 D1 0C 3E A2 9C 44 DF E9 F2 92 34 7B
       
      Cinza: Nome e informações do bloco
      Vermelho: Informações dos volumes (Checksum e Cabeçalho)
      Azul: Separação da lista de volumes para a assinatura do bloco
      Verde: Assinatura do bloco TCPABIOS são os últimos 128 bytes
       
      Lista de Volumes:
       
      Cada volume tem o formato: 00 FD 27 34 2A 35 AB 41 26 39 E3 32 E5 B6 8A D6 49 5B 0B 77 F9 82 58 48 00 00 00 CE 18 1F 00 00 00 03 00 00 00 00 00
                                                      (prefixo 3 bytes + checksum 20 bytes + offset 4 bytes + tamanho do volume 6 bytes + separador do fim 6 bytes)
       
      Os volumes são enumerados e utilizam o primeiro byte no prefixo para isso (00 FD 27), começando do 0.
      A BIOS utilizada nesse exemplo possui somente um volume, mas no caso de mais de um volume, seria: 00 FD 27 .., 01 FD 27 ..., 02 FD 27 ...
      - Checksum é o cálculo SHA1 do volume.
      - Offset é a posição do volume dentro da BIOS. Os bytes ficam invertidos, nesse caso seria 00 00 00 48 ou seja: 48h
      - Tamanho do volume também está com os bytes invertidos, então: 1F18CEh
       
      Então é isso. Precisamos corrigir essas informações (checksum, offset e tamanho)
       
      5. Para extrair os volumes abra a BIOS com o UEFITool e veja como identificar os volumes (nosso exemplo há somente um volume, se houvessem outros estariam também dentro de EfiFirmwareFileSystemGuid):
       

       
      Na BIOS original, circulado em vermelho podemos ver o nosso volume.
      Observe que em azul temos Offset e verde o tamanho. Exatamente como verificamos acima no HxD. Já na BIOS modificada vemos que está diferente o tamanho:
      Oridinal: 1F18CEh
      Modificada: 1F12D5h (vamos precisar disso mais tarde)
       
      6. Vamos extrair esse volume escolhendo a opção “Extract as is...”
       
       
       
      7. Utilize esse comando para obter o checkum desse volume: fciv.exe -sha1 File_Volume_image_FvMainCompact.ffs
       

       
      Agora temos o checksum que é 396e0dc987219b4369b1b9e010166302ce635202
       
      8. Substitua as informações no bloco TCPABIOS:
       

       
      Observe que o tamanho do volume precisa ter os bytes invertidos, então se o total são 6 bytes e é 1F12D5h, fica D5 12 1F 00 00 00 no lugar de CE 18 1F 00 00 00.
      Se o offset for diferente, também realizar o mesmo procedimento invertendo os bytes.
      Checksum alterar de 34 2A 35 AB 41 26 39 E3 32 E5 B6 8A D6 49 5B 0B 77 F9 82 58 para 39 6E 0D C9 87 21 9B 43 69 B1 B9 E0 10 16 63 02 CE 63 52 02
       
      Faça esse procedimento para cada volume na BIOS.
       
      9. Agora precisamos gerar o checksum de todo o bloco TCPABIOS mas sem considerar os últimos 131 bytes, ou seja desconsiderar de FF FF 83 + 80 bytes da assinatura anterior.
       
      Copie para um novo arquivo no HxD e salve como tcpabios
       

       
      Utilize o comando para gerar o checksum desse bloco: fciv.exe -sha1 tcpabios
       

       
      Checksum do bloco TCPABIOS: 0da6715509839a376b0a52e81fdf9683a8e70e52
       
      Crie um novo arquivo no HxD e adicione 108 bytes com 00 e cole o checksum no final e salve como tcpabios_sha, ficando assim:
       

       
      10. Agora vamos gerar a chave privada RSA com modulus 3: openssl genrsa -3 -out my_key.pem 1024
       

       
      Assinar o arquivo tcpabios_sha: openssl rsautl -inkey my_key.pem -sign -in tcpabios_hash -raw > tcpabios_sign
       

       
      Agora aproveite para gerar a chave publica: openssl rsa -in my_key.pem -outform der -pubout -out my_key_pub.der
       

       
      E gerar modulus 3 da chave pública: openssl rsa -pubin -inform der -in my_key_pub.der -text -noout
       

       
      Copie e cole a chave em um arquivo de texto para utilizar daqui a pouco. Remova todos os “:” e coloque tudo em uma única linha, ficando assim:
       

       
      11.   Abra o arquivo tcpabios_sign no HxD, copie o conteúdo e substitua a assinatura no final do bloco TCPABIOS:
       
       
       
      12. Agora vamos localizar na BIOS o local da chave pública e substituir. Essa chave começa com 12 04 e termina com 01 03 FF e fica após o bloco TCPABBLK.
       
      A chave fica assim: 12 04 + 81 bytes + 01 03 FF. Faça uma busca por 01 03 FF para localizar mais facilmente. Verifique se antes dos 81 bytes tem os bytes 12 04 para ter certeza que achou.
       

       

       
      Agora substitua pela chave pública que ficou anotado no arquivo de texto anteriormente, ficando assim:
       

       
       
      Salve e está pronto. Sua BIOS está assinada e pronta.
       
    • By ludufre
      [GUIDE] Fix Insyde H2O BIOS signature (5 beeps on Lenovo)
       
      I recently bought a Lenovo L440 laptop to install the Mojave macOS and I replaced the wireless card with the DW1560 because the current one is not compatible. I discovered that there was a whitelist of enabled cards that manufacturers are adopting recently (in my case it uses a Phoenix Insyde BIOS H2O).
       
      I searched the BIOS Modding forums and found people who did the patch for me. But after replacing the BIOS I noticed that the computer keep beeping 5 times every time I boot. So, I went deeper into this issue and that's when I figured out how to solve it. Then I created this guide based on the information I found in some Russian forums.
       
      Preface
       
      When the BIOS integrity test fails, some Intel AMT functionality stops working and a sequence of 5 whistles is issued twice at boot.
      After modifying to remove whitelist (enable unauthorized WI-FI cards), unlock MSR 0xe2 (hackintosh), enable advanced menu, etc. the BIOS will not pass the integrity test causing this problem.
      This integrity check is done through the RSA signature of the BIOS block called TCPABIOS (more information below) with the public key in modulus 3 format also stored in the BIOS.
      This TCPABIOS block stores the checksums of each BIOS volume.
       
      What we will do is generate new checksum for those volumes that have been modified, generate a RSA (private and public) key pair, sign that block with the private key, and replace the public key.
       
       
      Tools needed
       
      - EFITool NE alpha 54: https://github.com/LongSoft/UEFITool/releases
      - HxD 2.1.0: https://mh-nexus.de/en/hxd/
      - OpenSSL: http://gnuwin32.sourceforge.net/packages/openssl.htm (Download -> Binaries)
      - Microsoft File Checksum Integrity Verifier (FCIV.exe): https://www.microsoft.com/en-us/download/details.aspx?id=11533
       
      Step by step
       
      Let's open the modified BIOS, locate the TCPABIOS block and understand its anatomy.
       
      1. Open the BIOS with HxD
       

      (We will use the modded BIOS in the MyDigitalLife.com forum by the Serg008 user for the Lenovo B590 laptop in this guide)
       
      2. Find the word TCPABIOS:
       


       
      3. The block starts with TCPABIOS and ends before TCPACPUH
       

       
      4. Anatomy:
       
      54 43 50 41 42 49 4F 53 48 31 38 34 61 31 31 2F
      32 36 2F 31 33 49 42 4D 53 45 43 55 52 00 FD 27
      34 2A 35 AB 41 26 39 E3 32 E5 B6 8A D6 49 5B 0B
      77 F9 82 58 48 00 00 00 CE 18 1F 00 00 00 03 00
      00 00 00 00 00 00 27 00 00 00 00 00 00 00 00 00
      00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
      00 00 00 00 00 00 00 00 00 00 00 FF FF 83 04 D4
      52 52 95 C5 D7 21 55 78 0E 5C AD 47 EE C4 3D 1D
      C1 EC 69 03 2B 51 A5 42 61 96 22 F9 7B 88 57 B7
      A8 9D D0 20 DB 5B 11 10 55 07 84 6C 62 DF FA 2F
      6A A8 43 0C 8A 40 AF 79 0D 31 DB 5A 5D C8 2F EB
      F8 7C 87 B0 A6 3D 2A 88 AE 91 9D 88 E3 AA 85 E3
      5A B3 91 7F 28 68 1F BA 92 C4 7E 10 F5 1A 7E 75
      A9 6F CE C0 4F BA FA 79 A5 98 2B 50 60 BA 09 73
      7B 03 D1 0C 3E A2 9C 44 DF E9 F2 92 34 7B
       
      Gray: Name and Block Information
      Red: Volume Information (Checksum and Header)
      Blue: Separation of the list of volumes and the block signature
      Green: Signature of the TCPABIOS block are the last 128 bytes
       
      List of Volumes:
       
      Each volume has the format: 00 FD 27 34 2A 35 AB 41 26 39 E3 32 E5 B6 8A D6 49 5B 0B 77 F9 82 58 48 00 00 00 CE 18 1F 00 00 00 03 00 00 00 00 00
                                              (Prefix 3 bytes + checksum 20 bytes + offset 4 bytes + volume size 6 bytes + end delimiter 6 bytes)
       
      The volumes are enumerated and use the first byte in the prefix for this (00 FD 27), starting at 0.
      The BIOS used in this example has only one volume, but in the case of more than one volume, it would be: 00 FD 27 .., 01 FD 27 ..., 02 FD 27 ...
      - Checksum is SHA1 calculation of the volume.
      - Offset is the volume position within the BIOS. The bytes are inverted, in this case it would be 00 00 00 48, equals to 48h
      - Volume Size is also with the bytes inverted, then: 1F18CEh
       
      Then that's it. We need to correct this information (checksum, offset and size)
       
      5. To extract the volumes open the BIOS with the UEFITool and see how to identify the volumes (our example there is only one volume if there were others would also be inside EfiFirmwareFileSystemGuid):
       

       
      In the original BIOS, circled in red we can see our volume.
      Note that in blue we have offset and green the size. Exactly as we checked up on HxD. In the modified BIOS we see that the size is different:
      Original: 1F18CEh
      Modified: 1F12D5h (we'll need this later)
       
      6. Let's extract this volume to calculate the checksum by choosing the "Extract as is ..."
       
       
       
      7. Use this command to get the checksum of this volume: fciv.exe -sha1 File_Volume_image_FvMainCompact.ffs
       

       
      Now we have the checksum that is 396e0dc987219b4369b1b9e010166302ce635202
       
      8. Replace the information in the TCPABIOS block:
       

       
      Note that the volume size must have the bytes inverted, so if the total is 6 bytes and is 1F12D5h, becomes D5 12 1F 00 00 00 in place of CE 18 1F 00 00 00.
      If the offset is different, also perform the same process by inverting the bytes.
      Checksum change from 34 2A 35 AB 41 26 39 E3 32 E5 B6 8A D6 49 5B 0B 77 F9 82 58 to 39 6E 0D C9 87 21 9B 43 69 B1 B9 E0 10 16 63 02 CE 63 52 02
       
      Do this for each volume in the BIOS.
       
      9. Now we need to generate the checksum of the whole TCPABIOS block but without considering the last 131 bytes, that is to dismiss FF FF 83 + 80 bytes from the previous signature.
       
      Copy to a new file in HxD and save as tcpabios
       

       
      Use the command to generate the checksum of this block: fciv.exe -sha1 tcpabios
       

       
      Checksum of TCPABIOS block: 0da6715509839a376b0a52e81fdf9683a8e70e52
       
      Create a new file in HxD and add 108 bytes with 00 and paste the checksum at the end and save as tcpabios_hash, thus:
       

       
      10. Now let's generate the RSA private key with modulus 3: openssl genrsa -3 -out my_key.pem 1024
       

       
      Sign the file tcpabios_hash: openssl rsautl -inkey my_key.pem -sign -in tcpabios_hash -raw > tcpabios_sign
       

       
      Now enjoy to generate the public key: openssl rsa -in my_key.pem -outform der -pubout -out my_key_pub.der
       

       
      And generate public key modulus 3: openssl rsa -pubin -inform der -in my_key_pub.der -text -noout
       

       
      Copy and paste the key into a text file to use soon. Remove all ":" and put everything on a single line, thus:
       

       
      11.   Open the tcpabios_sign file in HxD, copy the contents and replace the signature at the end of the TCPABIOS block:
       
       
       
      12. Now let's locate the location of the public key in the BIOS and replace it. This key starts with 12 04 and ends with 01 03 FF and is after the TCPABBLK block.
       
      The key looks like this: 12 04 + 81 bytes + 01 03 FF. Search for 01 03 FF to locate more easily. Verify that before the 81 bytes have bytes 12 04 to make sure you found.
       

       

       
      Now substitute for the public key that was annotated in the text file previously, thus:
       

       
       
      Save and you're ready. Your BIOS is signed and ready.
    • By kylon
      *FLASH THIS AT OWN RISK* - I DO NOT ASSUME ANY RESPONSABILITY
       
      Thanks to:
      Fernando
      iceman
      soniX
       
      Tested on Asus X53SJ-SX148V - i7 variant
       
      Unlock MSR 0xE2:
      Advanced Tab
      CPU configuration
      CPU Lock Options
      CFG lock
      Set to Disabled
      profit [disable KernelPM and AsusAICPUPM/AppleIntelCPUPM patches in Clover]

       
       
      How to flash:
       
      Easy way (safe?):
      Place the BIOS rom in the root of a FAT32 usb stick
      Reboot and enter BIOS or Setup
      Go to Advanced -> EASY FLASH
      Select the BIOS rom and flash

      AFUWINGUI:
      Run afuwingui
      Load the BIOS rom
      Check Program ALL Blocks and Do Not Check ID
      Flash and cross your fingers

       
       
      How to go back to stock:
       
      You will need to HexEdit the release date (be careful!), or you can pm me.
    • By danielstuart14
      Hello everybody! I'm creating an asus bios repo, with MSR0xE2 unlocked and many updates/mods.

      You can ask me to upload your model without any problem. 
      I'll not edit ANY bios that isn't from asus. (Ex: Already modified bios file / from other manufactor)
       
      Here are the modifications that are present:
      -MSR 0xE2 Unlocked (Apple PM Fix) -CPU MICROCODE UPDATED (Latest Version) -iGPU GOP UPDATED (Integrated GPU UEFI driver) -LAN PXE UPDATED (Intel/Realtek/BCM) -AHCI/RAID UPDATED (Intel/Marvel/JMicron) -ASUS ROG LOGO (From Rampage IV Black) Attention: Some mods aren't available in certain chipsets. Look in my github description.
       
      The updates were made with UBU (UEFI bios updater), and MSR unlock & ROG Logo with UEFITool.

      I only tested with P8Z77-V Deluxe, since I only have this board. But, all the files should be working.
      Would be great, if who test it post a feedback here.

      Current supported Asus Models (More coming):
      LGA1155: -P8Z68 Deluxe -P8Z68-V LX -P8Z77-I Deluxe -P8Z77-I Deluxe/WD -P8Z77-M -P8Z77-V -P8Z77-V Deluxe -P8Z77-V LK -P8Z77-V LX -P8Z77-V Premium -P8Z77-V Pro LGA1150:
      -ROG G20AJ -Z87 Sabertooth -B85-PRO GAMER -Z97-PRO GAMER -Z97 Gryphon LGA2011: -P9X79
      -X99-A II
      -------------------------------------------------------------------------------------------------------
      As always: I'm not going to take any responsability if you mess your MB up. If it fails, just download the bios file from asus website, rename it, and put into your pendrive. (Rename with the modded bios name)
       
      How to Update (ASUS USB Flashback):
      Download the bios file on my github. (below) Format a pendrive to fat32 Copy the bios file to your pendrive. Shutdown your computer Connect your pendrive into "Usb Flashback" port. (If you can't find, search in yours board manual) Now press the "Usb Flashback" button.   Wait until the blue light stop (can take up to 5 minutes) Start your computer, and configure bios again -------------------------------------------------------------------------------------------------------

      Download Repository (Github)
    • By Mieze
      Yesterday I got my new mainboard, an Asrock Fatal1ty B85 Killer. The first thing I did was upgrading the BIOS to the latest version available (V1.30). Next I wanted to patch it with PMpatch in order to unlock the MSRs but I was very surprised that PMpatch didn't found a match pattern in the power management module. This made me curious and I tried to boot Mavericks with the vanilla BIOS and it succeeded. No KP, no early reboot.
       
      Obviously Asrock has decided to change their policy with regard to the CPU's MSRs in some of their latest BIOS releases for at least a few of their boards because I don't think that the Fatal1ty B85 Killer is the only board with unlocked MSRs. I wouldn't be surprised in case other members of their Fatal1ty series of mainboards are affected of this change of mind too. It would be great if anybody with access to one of these boards could confirm this.
       
      Update:
       
      I downloaded the BIOS files of the following boards from Asrock's website and tried to patch them with PMPatch but it didn't find a matching pattern in any of these BIOS files. It looks like all these boards have unlocked MSRs too. Well, it might also be the case that PMPatch lacks some matching patterns but you would need a board in order to verify this.
      Asrock Fatal1ty H97 Killer (Version 1.10) Asrock Fatal1ty Z97 Killer (Version 1.30) Asrock Fatal1ty Z87 Killer (Version 1.40) Mieze
×