Jump to content
lpranal

Updating BIOS to UEFI on z68ap-d3 (rev. 1)

26 posts in this topic

Recommended Posts

So I've got my hack working fairly well, with one or 2 small issues. Setup:

 

yosemite 10.10.3, clover (legacy mode) 

z68ap-d3 rev. 1, f8 bios

i5 2500k (@4.2-4.4 oc)

16gb DDR3, 180G SSD os drive

r9 290 (powercolor turboduo, non-reference)

 

Only issues are lack of sleep support, and video card issues - namely, flashing screen at start (fixed by unplugging / replugging monitor or sleep/wake display, which does work), no dual monitor support.  I'm hoping going to UEFI bios will help with sleep / wake, and also possibly with GPU issues

 

I'm going to try and flash a UEFI BIOS on my video card as well. Intuitively, it seems everything 'should' work together better if it's all UEFI, which my mobo's bios is still currently legacy BIOS (award).  

 

Which begs the question - if I do update to UEFI - which I've already found a compatible, working update for my board - will I have to do a reinstall? Or, just delete / generate new DSDT?

 

Thanks in advance!

Share this post


Link to post
Share on other sites
Advertisement

I wouldn't recommend you to update to UEFI, it's really not that good and even though it may solve your sleep problems it will add others, like lack of fan control for the CPU (a show stopper for me) and lacking voltage controls for overclock.

I've been using 10.10 in legacy mode and it's been absolutely flawless and found no reason to update to the UEFI firmware other than just for fun.

 

Later I'll upload my DSDT and other files you may need.

Share this post


Link to post
Share on other sites

I wouldn't recommend you to update to UEFI, it's really not that good and even though it may solve your sleep problems it will add others, like lack of fan control for the CPU (a show stopper for me) and lacking voltage controls for overclock.

I've been using 10.10 in legacy mode and it's been absolutely flawless and found no reason to update to the UEFI firmware other than just for fun.

 

Later I'll upload my DSDT and other files you may need.

Thank you!  Yeah, definitely a showstopper here as well. I didn't see that info anywhere else, either, you just saved me a TON of time and most likely wasted effort.

 

Really, if  I can get sleep working that'll pretty much have me sorted since the monitor issue only happens from a cold boot. If I can just put the system to sleep instead of shut down, that's all I'll really need. 

Share this post


Link to post
Share on other sites

Here's my own DSDT, it includes some sleep patches, HDMI audio for AMD graphics, ethernet and USB/USB3 patches (USB3 needs kexts patches included in the config.plist). There's no code for the onboard graphics card but it's easy to add if you want it. Also there's no layout audio injection, I do that with Clover's audio->inject (included in the plist too).

If you have a DSDT then leave the ACPI->DropTables section, otherwise you'll need to remove that and enable ACPI->SSDT->Generate. Customize the graphics section for your own graphics card or remove the framebuffer and ports. Check out the KernelAndKextPatches->KextsToPatch section, there are several patches already, most should work with 10.10 but no idea with older versions. And remember to add your own serials to the SMBIOS and sections if you want iMessages to work.

 

Regarding your cold boot graphics issue, I believe I read about it somewhere about a quick fix. I'll post the link if I find it later.

 

Let me know if you need to fix something else.

Good luck!

 

Maniac10.zip

 

 

EDIT: well here's that patch I told you above http://www.insanelymac.com/forum/files/file/424-agdpfix/

Edited by Maniac10

Share this post


Link to post
Share on other sites

Very interesting - I hadn't seen that patch before, and in fact, I am using the mac pro 6,1 definition - I will have to give it a go this weekend! Cheers!

Share this post


Link to post
Share on other sites

I found a "patched" UEFI bios for the rev. 1 board a while ago. (There seems to be no official one for it, only for rev. 2 boards)

Working well with 10.10.  (Have 3 hacks, two with rev. 2, one with rev. 1)


I wouldn't recommend you to update to UEFI, it's really not that good and even though it may solve your sleep problems it will add others, like lack of fan control for the CPU (a show stopper for me) and lacking voltage controls for overclock.
I've been using 10.10 in legacy mode and it's been absolutely flawless and found no reason to update to the UEFI firmware other than just for fun.

Later I'll upload my DSDT and other files you may need.

 

Fan control works fine with the UEFI bios available for the rev. 1 board. No need to use any DSDT at all

Z68APD3.U1A.zip

Share this post


Link to post
Share on other sites

Fan control works fine with the UEFI bios available for the rev. 1 board. No need to use any DSDT at all

That hasn't been true for me with that U1A update, (I was even provided with a couple of modded bioses as well) and fan control is completely broken and was told it won't ever be fixed.

Share this post


Link to post
Share on other sites

That hasn't been true for me with that U1A update, (I was even provided with a couple of modded bioses as well) and fan control is completely broken and was told it won't ever be fixed.

 

Interesting!

 

Let me double check later today. Should look with hwmonitor then, I guess? 

Share this post


Link to post
Share on other sites

The problem is most noticeable at boot when the CPU fan won't even start, under load within the OS it may turn on sometimes but it's very slow. The "solution" is to plug the CPU fan to another socket like "system fan" but that will just make it run full speed all the time (very loud!). 

 

Hey, your U1A is dated 22/12/13 while mine is 9/5/12. Perhaps you have a custom one? Where did you get it from?

 

EDIT: nope, they're identical.

shasum Z68APD3.U1A.sailor
dd135854011fdcf0afe11e575f5b19b6a5e397e0
shasum Z68APD3.U1A
dd135854011fdcf0afe11e575f5b19b6a5e397e0

Share this post


Link to post
Share on other sites

 

The problem is most noticeable at boot when the CPU fan won't even start, under load within the OS it may turn on sometimes but it's very slow. The "solution" is to plug the CPU fan to another socket like "system fan" but that will just make it run full speed all the time (very loud!). 

 

Hey, your U1A is dated 22/12/13 while mine is 9/5/12. Perhaps you have a custom one? Where did you get it from?

 

EDIT: nope, they're identical.

shasum Z68APD3.U1A.sailor
dd135854011fdcf0afe11e575f5b19b6a5e397e0
shasum Z68APD3.U1A
dd135854011fdcf0afe11e575f5b19b6a5e397e0

 

I don't remember exactly, but I think it was a Russian forum or so.

 

Please have a look at the attached video. I just recorded it during a geekbench3 run.

15_06_27 19_16_06.mov

post-975315-0-01241700-1435427724_thumb.jpg

post-975315-0-25425700-1435427732_thumb.jpg

Share this post


Link to post
Share on other sites

And that is on a rev1 with the U1A firmware? I wasn't the only one complaining about the fan control issue in that thread so yours working is really strange. Can you take a picture of your bios in the fan control and voltages screens?

 

In the end, even in the best of cases I think this update won't really solve the OP's problem and still advice him to apply that patch and fix his DSDT first before updating his motherboard and graphics firmwares.

Share this post


Link to post
Share on other sites

 

The problem is most noticeable at boot when the CPU fan won't even start, under load within the OS it may turn on sometimes but it's very slow. The "solution" is to plug the CPU fan to another socket like "system fan" but that will just make it run full speed all the time (very loud!). 

 

 

 

Now as you're mentioning this, I remember from a few weeks ago, I had adjusted something in the UEFI/BIOS settings which had exactly the same effect. The fan didn't start and I got the alarm sound. I put the setting back and all was good again.

And that is on a rev1 with the U1A firmware? I wasn't the only one complaining about the fan control issue in that thread so yours working is really strange. Can you take a picture of your bios in the fan control and voltages screens?

 

In the end, even in the best of cases I think this update won't really solve the OP's problem and still advice him to apply that patch and fix his DSDT first before updating his motherboard and graphics firmwares.

 

Pictures were just made during the video recording :-)

But I'll check and try to send you some pics from the boot and UEFI settings.

Now I remember which setting it was: I had changed something at the CPU fan control setting, which is now on normal. Didn't check again which one it was, though. 

 

[edit: rotated pictures]

post-975315-0-97363400-1435429347_thumb.jpg

post-975315-0-38429600-1435429355_thumb.jpg

post-975315-0-08360700-1435429362_thumb.jpg

Share this post


Link to post
Share on other sites
On 6/27/2015 at 11:43 AM, sailor25462 said:

I found a "patched" UEFI bios for the rev. 1 board a while ago. (There seems to be no official one for it, only for rev. 2 boards)

Working well with 10.10.  (Have 3 hacks, two with rev. 2, one with rev. 1)

 

 

 

Fan control works fine with the UEFI bios available for the rev. 1 board. No need to use any DSDT at all

Z68APD3.U1A.zip

 

On 6/27/2015 at 8:15 PM, sailor25462 said:

 

Now as you're mentioning this, I remember from a few weeks ago, I had adjusted something in the UEFI/BIOS settings which had exactly the same effect. The fan didn't start and I got the alarm sound. I put the setting back and all was good again.

 

Pictures were just made during the video recording :-)

But I'll check and try to send you some pics from the boot and UEFI settings.

 

Now I remember which setting it was: I had changed something at the CPU fan control setting, which is now on normal. Didn't check again which one it was, though. 

 

[edit: rotated pictures]

post-975315-0-97363400-1435429347_thumb.jpg

post-975315-0-38429600-1435429355_thumb.jpg

post-975315-0-08360700-1435429362_thumb.jpg

so your bios didn,t broke the fan controller as i wanna flash uefi to it ??

Share this post


Link to post
Share on other sites
9 hours ago, sailor25462 said:

For me, no. 

thanks sir for fast reply as i wanna flash your uefi file for rev 1

but i was affraid for fan control get damage

so you was in f8 bios then flashed the u1a bios ?

 

Share this post


Link to post
Share on other sites

Frankly speaking I don’t know. It’s because I sold the rack a while ago. I would believe i updated from F8, but it’s not guaranteed. 

Also you should be aware that many seem to have issues with this uefi (fan), so you should be aware of the risk it could also happen to you. 

I don’t want to encourage you, but neither want to say: don’t do it. 

All i can say is that it worked for me, as shown on the screen captures. 

I have no clue why it worked for me and for others not. Could be language settings or something we don’t even dream of. 

 

So from my side: if you feel safe and are ready to go through an unsupported downgrade path in case it doesn’t work, then fine. 

 

Its obviously not for the faint at heart.... 

Oh, maybe one more advice: make sure you really “flush” all settings to default after the upgrade (should you decide to do it)

I would believe that removing power and the backup battery from the board should ensure you start from blank. 

Share this post


Link to post
Share on other sites
31 minutes ago, sailor25462 said:

Frankly speaking I don’t know. It’s because I sold the rack a while ago. I would believe i updated from F8, but it’s not guaranteed. 

Also you should be aware that many seem to have issues with this uefi (fan), so you should be aware of the risk it could also happen to you. 

I don’t want to encourage you, but neither want to say: don’t do it. 

All i can say is that it worked for me, as shown on the screen captures. 

I have no clue why it worked for me and for others not. Could be language settings or something we don’t even dream of. 

 

So from my side: if you feel safe and are ready to go through an unsupported downgrade path in case it doesn’t work, then fine. 

 

Its obviously not for the faint at heart.... 

Oh, maybe one more advice: make sure you really “flush” all settings to default after the upgrade (should you decide to do it)

I would believe that removing power and the backup battery from the board should ensure you start from blank. 

thanx sir for your answer

yeah i see its kinda risky think as its not official bios flash its 3rd party flashing so all risk goes on me

but i really love style of uefi and all new mobos have it and i searched alot for it and founded many bios files but most of users say its get fan control stuck

and after i saw your comment about your fan works gived me some hope here

may be its a set in the options or must clear all setting to fail safe before and after flashing?

and get the cpu fan to normal after flash....

hmm very interesting

 iwill try it when i ready for it and i will let you know the result 

hope you good day sir and thanks again..

and last question where you manged to get this uefi bios as i see many files in the fourms  

i wanna see th date for it

Share this post


Link to post
Share on other sites

i must say what happened with your file sir

nothing changing while try ro flash it i created a bootable usb by hp tool and window98 dos files

and placed the file you provided but i saw that flashefi.exe file and autoexc.bat file missing

igot them from another rev 2

and edited the autoexc.bat file and added the z68ap-d3.u1a name there

so it must auto flash when i boot from the usb 

but it freeze like this 

20180616_021207.jpg

Share this post


Link to post
Share on other sites

you mean Qflash?

i read that uefi must be flashed from bootable usb not from qflash?

do you remeber how you flashed it?

Share this post


Link to post
Share on other sites
Quote

 

so as i read it will not flash and lead to id error :(

so what is wrong here?

i know may be i waste your time here sir

20180619_002952.jpg

Share this post


Link to post
Share on other sites

Frankly speaking, I do not know what to say. I have not come across such problems. Don't really dare to ask, but are you sure you have a rev.1 board?

Except from that, I've no clue what to do. As I said, I have sold the rig a while ago, so I have no chance to test anything myself. sorry.

Share this post


Link to post
Share on other sites
4 hours ago, sailor25462 said:

Frankly speaking, I do not know what to say. I have not come across such problems. Don't really dare to ask, but are you sure you have a rev.1 board?

Except from that, I've no clue what to do. As I said, I have sold the rig a while ago, so I have no chance to test anything myself. sorry.

i,m very thank you for you to answer me sir no need to be sorry for any thing

and i know you say you sold your mobo along ago 

3 hours ago, sailor25462 said:

By the way, here is the original source I found my files in: http://forum.gigabyte.ru/viewtopic.php?t=47933

Use google translate to read in English.

thanks this was a great help to remember the source

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

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Slice
      Since rev 4844 Vector Themes are supported and there are ready-to-use Clovy by Clovy, cesium by Slice and BGM_SVG by Blackosx.
      You may see it's structure to create own theme
      -------------------------------------------------------------------------------------------------------------------------------------------------------
       
       
      Now I want to add vector graphics support in Clover. See rev 4560 and later.
      It is not working yet but designers may begin to create Vector Themes.
      It supposed to consist of SVG elements and has design size. It will be rendered to any screen size scaled from design size.
       
      What application in macOS can create SVG graphics?
      Inkscape is not working in macOS 10.11+. Pity.
      LibreOffice Draw works with SVG but buggy.
      Boxy SVG cost 10$ but looks good enough. It creates the best in simplicity files and have more then enough features.
      Illustrator is good but expensive.
       
      How to improve SVG file?
      Clover has restricted support for SVG. It is your job to make compatible file and as small as possible to speedup rendering.
      Some helps:
      Help:Inkscape – From invalid to valid SVG Inkscape files
      From invalid to valid SVG Adobe Illustrator files
      From invalid to valid SVG files of other editors: BKchem, ChemDraw and CorelDRAW
      Help:Illustrator – Assistance with creating and saving SVG images in Adobe Illustrator that will pass W3C validation
      User:Quibik/Cleaning up SVG files manually
      Later I will write own instructions specific to Clover abilities.
       
      How to create SVG fonts?
      You can google to find ready-to-use SVG fonts.  I found some problems with too beaty fonts: slow rendering and overflow crash. Be careful.
      You can get ttf or otf fonts and convert them into svg by using online WEB services. Not a problem to google.
      But then I want to find a way to simplify the font to reduce a size and speedup rendering.
      You can create own font by FontForge It is opensource and available for Windows, Mac and GNU+Linux. It creates otf font which you can convert to svg font.
       
      Pictures from Badruzeus
      https://www.insanelymac.com/forum/applications/core/interface/file/attachment.php?id=301597
    • 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 Entropi
      PREFACE
       
      I’ve used a 2015 15” MBP as my main system since it was released. I do photo and video editing in the Adobe suite regularly and have been eyeballing the performance of the latest MBP models. I’m on the road all the time, so a laptop is basically my only option.

      After the whole mess with the CPU VRM hardware flaws being made apparent by the poor power management profile shipped at release with the 2018 i9 MBP I’ve been more weary of the hardware design of MacBooks. That’s before I account for losing all USB-A ports, losing the SD card slot (‽), losing reliability and tactility of the keyboard, and losing the ESC key to the touchbar; if I compare the 2018 MBP to my current 2015.
       
      Given these flaws, I have been researching the performance situation comparing the 2018 MBP to the X1 Extreme, XPS 15 9570, and the Razer Blade 15 2018.  These are essentially the only options for a road warrior that needs a high quality panel and the best CPU and GPU that can be crammed into around 4lbs (1.8kg).  
      I used to use a ThinkPad T42p and loved it when it was new. So fast forward to now and the release of the ThinkPad X1 Extreme. It’s a truly tempting machine for an artist, given that the 4K UHD version offers just about the best color gamut available on any laptop panel. I get back the USB-A ports, get one of the fastest SD slots on any laptop, and get one of the best laptop keyboards on the market. That’s before even considering power management and modularity. I’ve been dabbling in learning Machine Learning, so a system with an nVidia GPU (CUDA) is a bonus on that front as well.
       
      For me the best color reproduction on a high resolution display panel was most important. The X1 Extreme has that, so I’ve ordered one. I got it with the fastest i7, base SSD and memory, and have separately purchased two 1TB Samsung 970 Pro M.2 SSDs and 2x16GB DDR4-3200MHz memory (just in case it’s possible to overclock the memory on the X1 Extreme). I got the system for $2,100 from Lenovo USA, and the SSDs ($390 x 2) and memory ($330) from Amazon US for a total of ~$3200.  These are easy to install on the X1 Extreme as the bottom cover is easily removed to reveal the M.2 and SODIMM slots. To compare, the 2018 MBP with the fastest i7, 32GB memory, and 2TB SSD is $4400. So I can save $1200 and get a faster system (on all counts) with a better panel and better connectivity by going with the X1 Extreme.
       
      The only thing I’m compromising is losing the big beautiful haptic touchpad and a bit more refined hardware aesthetic. Though, to be honest, I’ve kept a big thick dual-layer Tech21 case on my 2015 MBP. So I’ll actually be going down in volume and weight by moving to the more rugged ThinkPad. I think I can live without the touchpad.

      Oh, by the way, the 4K UHD panel of the X1 Extreme has touch and decent pen support! Another bonus vs. the MacBook. Though I keep a 12.9” iPad Pro around for my pen work and can’t imagine using a laptop similarly. It’s still nice to have a laptop screen actually respond when I go poke at it accidentally after switching back and forth between laptop and iPad.
       
       
      TOPIC
       
       
      So I want macOS with proper discrete GPU support on a 2018 MacBook class laptop.  That’s not possible on a pure Hackintosh as things stand, but via a macOS virtual machine it looks like it could work with what looks like some relatively bleeding edge support of PCIe UEFI passthrough.

      People have been doing this on Linux hosts to Windows VMs with some great success recently: https://gist.github.com/Misairu-G/616f7b2756c488148b7309addc940b28
      And it looks like that’s coming for macOS VMs as well: https://github.com/kholia/OSX-KVM/blob/a4fb2fd5aae871bdbc371b0cd31d4d8129d0f9ac/UEFI/README.md

      The X1 Extreme, XPS 15 9570, and Razer Blade 15 (2018) are essentially direct competition to the 2018 15” MBP. I would really like to see these three systems get some nicely fleshed out guides for getting maxed out compatibility and performance in macOS running in a VM for these systems. When I get my X1 Extreme I’ll start working on it for that one. I will post updates here. I hope to inspire others with the other two systems (or looking to get them) to do similarly.
       
       
      15” MACBOOK CLASS LAPTOP COMPARISON
       
      I chose the X1 Extreme largely because of the excellent 4K UHD HDR panel (100% of 2D AdobeRGB and 85.5% of 3D AdobeRGB, basically unparalleled), good mix of thermal performance and noise management, and overall ruggedness and connectivity.  If I were a gamer I would go with the Razer 15, but the fast low-gamut 1080p panel just doesn’t work for my purposes. If I were most concerned with aesthetics or battery life (97Wh battery for it vs 80Wh for X1E) I would go with the XPS 15.
       
      I am aware that the second 2018 refresh of the MBP is coming ~Nov 14, with the new AMD Radeon Pro Vega 16 and Vega 20 GPUs, and it looks like the latter might offer up to a 60% performance boost over the Radeon 560X. Maybe it has even given Apple enough time to update the CPU VRM along the way. This could make the performance picture more comparable for the 1050 Ti based X1E and XPS 15. I believe the 1070 Ti based Razer 15 will still win out though.
       
      Still, if you compare the fan and heat pipe solution put into the X1E vs the MBP the MBP just looks wimpy in comparison. MBP has smaller fans, less venting, and only one (smaller, thinner) heatpipe. It’s also more difficult to access if you want to put a better thermal paste or liquid metal on it.  Put simply, the thermal hardware on the MBP is basically the same design for the last 3 years and it can’t keep up with the hex-core processors. So even with the Volta 20 GPU making the MBP competitive again on the graphics end, the MBP will still be falling short on the CPU performance plane. This is before we even look at tuning options.
       
      Getting into tuning, it’s possible to improve thermal performance of all the laptops in this class by around 15-20% by using either a best in class thermal paste like Thermal Grizzly Kryonaut or (if you’re willing to deal with all the caveats that come with using a conductive fluid that permeates other metals) a liquid metal interface like Thermal Grizzly Conductonaut. The liquid metal gives you the best possible conducting interface, and the paste is more forgiving and easier to apply.  Further, it is often possible to stably undervolt the Coffee Lake i7/i9 available in this class of systems to further improve performance, thermals, and power consumption (generally another 10+%).
       
      Apple has deliberately made it impossible to undervolt the CPU on the MBP! This has been true since the first Skylake CPUs a few years ago. You used to be able to use a program called Volta to undervolt your CPU on macOS. This is a huge peeve for me and, combined with the general power and thermal underdevelopment, is one of the main reasons I want to get a competitor’s hardware. As a primer, the default voltage of modern CPUs is typically set conservatively high for the sake of production efficiency.  With the current generation Coffee Lake CPUs it is commonly possible to set the CPU voltage about 100 to 150mv lower safely.  This allows the CPU to run cooler and consume less power. For laptops which are thermally limited (basically everything in this new 6-core 14nm era), this also translates into better performance. It’s a tweak that actually improves reliability of your CPU. So it’s just stupid that Apple has deliberately made this impossible. Shame on them, someone else take my money.
       
      Wrapping up, my biggest quibbles with the X1E (before actually getting it) are that the 4K panel’s responsiveness is about the slowest I’ve seen on a modern panel, and it’s just really not suitable for gaming. There’s also what I consider an annoyingly high level of backlight corner bleed that I’m sure will be distracting during blackboxed video viewing. Hopefully these two issues will be fixed in next year’s iteration.
       
       
      FOOTNOTES
       
      MacBook i9 Thermal / VRM (below-baseline throttling/thrashing) Issue:
      https://www.macrumors.com/2018/07/24/throttling-i9-macbook-pro-power-delivery-chip/
      https://www.kitguru.net/lifestyle/mobile/apple/matthew-wilson/macbook-pro-2018-throttling-fix/
      This was mitigated with software that works around the poor hardware design, but the system would still ultimately perform better if the CPU VRM were redesigned. Non Mac systems with the similar CPUs don’t have this issue and get better sustained performance.
       
      MacBook Nov 2018 Refresh with Radeon Vega 16 and Vega 20:
      https://www.fool.com/investing/2018/11/05/apples-macbook-pro-gets-the-amd-vega-treatment.aspx
       
      MacBook Class Laptop Reviews:
      Lenovo ThinkPad X1 Extreme, 4K: https://www.notebookcheck.net/Lenovo-ThinkPad-X1-Extreme-i7-4K-HDR-GTX-1050-Ti-Max-Q-Laptop-Review.335608.0.html
      https://www.ultrabookreview.com/23223-lenovo-x1-extreme-review/
      https://youtu.be/vOPeXe1ZE74
      https://youtu.be/JgWyGKf_WlM
      Dell XPS 15 9570, 4K: https://www.notebookcheck.net/Dell-XPS-15-9570-i7-UHD-GTX-1050-Ti-Max-Q-Laptop-Review.332758.0.html
      Razer Blade 15 2018, 1070 Ti FHD 144Hz: https://www.notebookcheck.net/Razer-Blade-15-i7-8750H-GTX-1070-Max-Q-FHD-Laptop-Review.305426.0.html
       
      Best Undervolting Guide (keywords: ThrottleStop, Intel XTU):
      https://www.ultrabookreview.com/10167-laptop-undervolting-overcloking/
       
      Undervolting Coffee Lake i7/i9 (2018 MacBook class CPU):
      https://youtu.be/nobnPDtMs-E
      https://linustechtips.com/main/topic/923876-any-information-about-how-coffee-lake-h-series-undervolts/
       
      Replacing Thermal Paste with Liquid Metal on 2018 MBP:
      https://youtu.be/iw4gqfrBN4c ... and follow up: https://youtu.be/JNoZNzOQpVw
       
      Replacing Thermal Paste with Kryonaut on X1E:
      https://www.reddit.com/r/thinkpad/comments/9fyww7/x1_extreme_repaste_undervolt_tdp_limiter_removed/
       
      Replacing Thermal Paste and Undervolting X1 Carbon:
      https://youtu.be/FXR5-HwIre8
       
      Replacing Thermal Paste and Undervolting XPS 15 9570:
      https://youtu.be/ZnFdNGUETSI
       
      Possibly over-conservative BIOS update for thermal throttling on X1E:
      https://www.reddit.com/r/thinkpad/comments/9oqax2/xtu_results_with_x1_extreme_with_liquid_metal/
       
      High Sierra (10.13) drivers only for now:
      https://www.insanelymac.com/forum/topic/324195-nvidia-web-driver-updates-for-macos-high-sierra-update-11032018/
      nVidia “waiting for Apple’s approval” for Mojave (10.14) macOS driver web release:
      https://www.macrumors.com/2018/11/01/nvidia-comment-on-macos-mojave-drivers/

      Breadcrumb Links (other things I found researching this):
      https://forums.servethehome.com/index.php?threads/esxi-6-5-osx-with-gpu-passthrough.12680/
      https://arstechnica.com/civis/viewtopic.php?f=19&t=1432071
       
      https://www.notebookcheck.net/The-Best-Notebook-Displays-As-Reviewed-By-Notebookcheck.120541.0.html
×