[Guide] CoffeeLake CPUs on Skylake and KabyLake mainboards

You don’t ask for much, do you?

Took the PC apart again to take photos. I have this 8x magnifier that’s kind of difficult to take pictures through, but it came out sort of okay (the third picture). Bent another pin with the scope, but I think I got it back where it belongs.

IMG_3129.JPG

IMG_3129_crop.jpg

IMG_3132.JPG

Were those nicely burnt pins bended too when you check this socket first time? I checked the socket of my board too (after a day of use) and couldn’t see anything unusual. I even tried to take some pictures just to realize that my camera is potato.

They’re not bent. The tips are gone. It was other pins that I bent.

Can I use the Celeron G4900 G4920 and Pentium G5400 G5500 on the this Mod BIOS?

M8I with i5-8600k @ 5.0Ghz on all cores using 1.35V with 120mm AIO liquid cooler (SilentiumPC Navis Pro).

CPU-Z validation: https://valid.x86.fr/aa73ih
UserBenchmark: http://www.userbenchmark.com/UserRun/8832709

cine5ghz.jpg



Pretty sure I can go a bit lower with the voltage or a bit faster with the clock speed.

@mcf I checked Afuwin version 3.05.04 and the /GAN command and it really works! This is great news because it is a much more convenient and simpler way than using the SPI programmer. Thanks again.

@mtothaj

:wink:

@Wolf_Larsen No need to thank me. I found this solution after a random google search.

One thing I can’t understand. If I modify the batch file sel1151 in order to preserve the kaby lake microcode instead of skylake, next update the bios file (with Vbios 1054) with UBU and finally run UBU again to check the file then no Vbios version is shown in UBU.

On the other hand if I extract OROM from this modified file with MMTool and open the extracted dat file with notepad I can still find the string "1054Intel(R)". So maybe there is no problem.

@mcf , Yesterday I tried my own advice and made a bios that had coffee lake and kaby lake by editing sel1151.bat. But I was lazy and didn’t start from the beginning; I used an intermediate file that I made a month and a half ago, that said it had the vbios only.

I added the coffee lake microcode first, the kaby lake second. It seemed to work.

When I flashed with it, the kaby lake cpu worked! But the cofffee lake did not, even though I had it working previously.

So I messed up the bios somehow, which is fair since I was lazy, but the process should work.

I did not get the apparent error you mention, though. Even though it supposedly had the vbios already, I did go through the step to update it (selection 2? Whatever it is before you choose 7 and update the microcodes). It told me it was updated.

@Dnatwork Here’s the notepad view of my modified sel1151.bat. Both my kaby and coffee lake CPUs worked. I extracted the microcode 84 (kaby lake) from the latest official bios and put it into the folder 1151.

if %kbl%==0 goto mn_skl

echo,
echo Attention!
echo If you select two microcode may require an adjustment in the FIT

:mn
set ec=
echo.
echo Select Microcode for CPU Kabylake (LGA1151)
echo.
echo 34 Version 34 Date 10-07-2016
echo 3A Version 3A Date 22-08-2016
echo 3C Version 3C Date 05-09-2016
echo 3E Version 3E Date 16-09-2016
echo 42 Version 42 Date 02-10-2016
echo 48 Version 48 Date 15-11-2016
echo 58 Version 58 Date 09-03-2017
echo 5E Version 5E Date 06-04-2017 - Bug fix HT
echo 70 Version 70 Date 09-03-2017
echo 7C Version 7C Date 03-12-2017
echo 80 Version 80 Date 04-01-2018
echo 84 Version 84 Date 21-01-2018
echo 0 Skip
echo.
:mn1
set /p ec=Enter Microcode:
if not defined ec goto mn1

if /I %ec%==34 (set mc1=1151\cpu000906E9_plat22_ver00000034_date10-07-2016.bin) && goto mn_skl
if /I %ec%==3A (set mc1=1151\cpu000906E9_plat22_ver0000003A_date22-08-2016.bin) && goto mn_skl
if /I %ec%==3C (set mc1=1151\cpu000906E9_plat22_ver0000003C_date05-09-2016.bin) && goto mn_skl
if /I %ec%==3E (set mc1=1151\cpu000906E9_plat22_ver0000003E_date16-09-2016.bin) && goto mn_skl
if /I %ec%==42 (set mc1=1151\cpu000906E9_plat22_ver00000042_date02-10-2016.bin) && goto mn_skl
if /I %ec%==48 (set mc1=1151\cpu000906E9_plat22_ver00000048_date15-11-2016.bin) && goto mn_skl
if /I %ec%==58 (set mc1=1151\cpu000906E9_plat22_ver00000058_date09-03-2017.bin) && goto mn_skl
if /I %ec%==5E (set mc1=1151\cpu000906E9_plat2A_ver0000005E_date06-04-2017.bin) && goto mn_skl
if /I %ec%==70 (set mc1=1151\cpu906E9_plat2A_ver00000070_2017-08-09_PRD_93EB3C4D.bin) && goto mn_skl
if /I %ec%==7C (set mc1=1151\cpu906E9_plat2A_ver0000007C_2017-12-03_PRD_6CF72404.bin) && goto mn_skl
if /I %ec%==80 (set mc1=1151\cpu906E9_plat2A_ver00000080_2018-01-04_PRD_6AA1DE93.bin) && goto mn_skl
if /I %ec%==84 (set mc1=1151\cpu906E9_plat2A_ver00000084_2018-01-21.bin) && goto mn_skl
if /I %ec%==0 goto mn_skl
goto mn1

:mn_skl
set ec=
echo.
echo Select Microcode for CPU Skylake (LGA1151)
echo.
echo 10 Version 10 Date 22-04-2015
echo 16 Version 16 Date 13-05-2015
echo 1A Version 1A Date 28-05-2015
echo 1C Version 1C Date 02-06-2015
echo 1E Version 1E Date 10-06-2015
echo 20 Version 20 Date 18-06-2015
echo 24 Version 24 Date 01-07-2015
echo 2E Version 2E Date 21-07-2015
echo 30 Version 30 Date 29-07-2015
echo 32 Version 32 Date 04-08-2015
echo 34 Version 34 Date 08-08-2015
echo 3A Version 3A Date 23-08-2015
echo 4A Version 4A Date 18-09-2015
echo 4C Version 4C Date 01-10-2015
echo 50 Version 50 Date 12-10-2015
echo 56 Version 56 Date 24-10-2015
echo 5C Version 5C Date 06-11-2015
echo 6A Version 6A Date 14-12-2015
echo 74 Version 74 Date 05-01-2016 - Last for non-K overclocking
echo 76 Version 76 Date 07-01-2016
echo 7C Version 7C Date 31-01-2016
echo 82 Version 82 Date 21-02-2016
echo 84 Version 84 Date 01-03-2016
echo 88 Version 88 Date 16-03-2016
echo 8A Version 8A Date 06-04-2016
echo 9E Version 9E Date 22-06-2016
echo A0 Version A0 Date 27-06-2016
echo A2 Version A2 Date 27-07-2016
echo A6 Version A6 Date 21-08-2016
echo B2 Version B2 Date 01-02-2017
echo BA Version BA Date 09-04-2017 - Bug fix HT
echo BE Version BE Date 20-08-2017
echo 72 Version 72 Date 20-09-2017 - Coffee Lake !!!
echo.
:mn1
set /p ec=Enter Microcode:
if not defined ec goto mn1
if /I %ec%==10 (set mc2=1151\cpu000506E3_plat36_ver00000010_date22-04-2015.bin) && exit /b
if /I %ec%==16 (set mc2=1151\cpu000506E3_plat36_ver00000016_date13-05-2015.bin) && exit /b
if /I %ec%==1A (set mc2=1151\cpu000506E3_plat36_ver0000001A_date28-05-2015.bin) && exit /b
if /I %ec%==1C (set mc2=1151\cpu000506E3_plat36_ver0000001C_date02-06-2015.bin) && exit /b
if /I %ec%==1E (set mc2=1151\cpu000506E3_plat36_ver0000001E_date10-06-2015.bin) && exit /b
if /I %ec%==20 (set mc2=1151\cpu000506E3_plat36_ver00000020_date18-06-2015.bin) && exit /b
if /I %ec%==24 (set mc2=1151\cpu000506E3_plat36_ver00000024_date01-07-2015.bin) && exit /b
if /I %ec%==2E (set mc2=1151\cpu000506E3_plat36_ver0000002E_date21-07-2015.bin) && exit /b
if /I %ec%==30 (set mc2=1151\cpu000506E3_plat36_ver00000030_date29-07-2015.bin) && exit /b
if /I %ec%==32 (set mc2=1151\cpu000506E3_plat36_ver00000032_date04-08-2015.bin) && exit /b
if /I %ec%==34 (set mc2=1151\cpu000506E3_plat36_ver00000034_date08-08-2015.bin) && exit /b
if /I %ec%==3A (set mc2=1151\cpu000506E3_plat36_ver0000003A_date23-08-2015.bin) && exit /b
if /I %ec%==4A (set mc2=1151\cpu000506E3_plat36_ver0000004A_date18-09-2015.bin) && exit /b
if /I %ec%==4C (set mc2=1151\cpu000506E3_plat36_ver0000004C_date01-10-2015.bin) && exit /b
if /I %ec%==50 (set mc2=1151\cpu000506E3_plat36_ver00000050_date12-10-2015.bin) && exit /b
if /I %ec%==56 (set mc2=1151\cpu000506E3_plat36_ver00000056_date24-10-2015.bin) && exit /b
if /I %ec%==5C (set mc2=1151\cpu000506E3_plat36_ver0000005C_date06-11-2015.bin) && exit /b
if /I %ec%==6A (set mc2=1151\cpu000506E3_plat36_ver0000006A_date14-12-2015.bin) && exit /b
if /I %ec%==74 (set mc2=1151\cpu000506E3_plat36_ver00000074_date05-01-2016.bin) && exit /b
if /I %ec%==76 (set mc2=1151\cpu000506E3_plat36_ver00000076_date07-01-2016.bin) && exit /b
if /I %ec%==7C (set mc2=1151\cpu000506E3_plat36_ver0000007C_date31-01-2016.bin) && exit /b
if /I %ec%==82 (set mc2=1151\cpu000506E3_plat36_ver00000082_date21-02-2016.bin) && exit /b
if /I %ec%==84 (set mc2=1151\cpu000506E3_plat36_ver00000084_date01-03-2016.bin) && exit /b
if /I %ec%==88 (set mc2=1151\cpu000506E3_plat36_ver00000088_date16-03-2016.bin) && exit /b
if /I %ec%==8A (set mc2=1151\cpu000506E3_plat36_ver0000008A_date06-04-2016.bin) && exit /b
if /I %ec%==9E (set mc2=1151\cpu000506E3_plat36_ver0000009E_date22-06-2016.bin) && exit /b
if /I %ec%==A0 (set mc2=1151\cpu000506E3_plat36_ver000000A0_date27-06-2016.bin) && exit /b
if /I %ec%==A2 (set mc2=1151\cpu000506E3_plat36_ver000000A2_date27-07-2016.bin) && exit /b
if /I %ec%==A6 (set mc2=1151\cpu000506E3_plat36_ver000000A6_date21-08-2016.bin) && exit /b
if /I %ec%==B2 (set mc2=1151\cpu000506E3_plat36_ver000000B2_date01-02-2017.bin) && exit /b
if /I %ec%==BA (set mc2=1151\cpu000506E3_plat36_ver000000BA_date09-04-2017.bin) && exit /b
if /I %ec%==BE (set mc2=1151\cpu506E3_plat36_ver000000BE_2017-08-20_PRD_DFF17890.bin) && exit /b
if /I %ec%==72 (set mc2=1151\cpu906EB_plat02_ver00000072_2017-09-20_PRD_A08C2841.bin) && exit /b
goto mn1

exit /b

Congrats! Good to know it would work if I did it right.

My 8MB bios happens to have 3 microcode slots. So I’ve managed to keep those 3 slots working while doing the bios mod.
I guess someone else might need this too.

Unzip to your UBU folder and replace the .bat with the same name.
Following the fist page of this thread.
During update CPU microcode.
It will ask 3 times
1. Choose 6core CoffeeLake/4core CoffeeLake
2. Choose Kaby Lake/4core CoffeeLake
3. Choose Skylake
eg. I don’t need to support Kaby Lake CPU, so I pick 6core Cfl, 4core Cfl, and Skylake.

## Do not use this patch, if your bios have only 2 microcode slots in the beginning.
Use this at your own risk. I won’t be responsible for any of your test result.

UBU_3mCode.zip (304 KB)

Nice work vincentCfl, the batch file worked on my Gigabyte Z170-HD3-DDR3 F21f BIOS and the FIT table appears to be intact.

@VincentCfl Thanks. Is this for the UBU version 1.69.17? Did you only modify the file sel1151.bat?



It’s based on UBU_v1_69_17_2, but I think all 1.69.** will do the job.

You have to replace both UBU.bat and sel1151.bat to support 3 microcode slots.

finally successfully running i3 8350k in impact
thank you very much for @mtothaj , for your help

SS



My Rig

Anyone willing to make a bios for me?

I have a GB Z270 Gaming SOC MB and a few different coffee chips that I can try. If you mod the bios and load it for me, I will flash it with a KBL chip then pop in a CFL and see if it boots. The latest bios got a microcode update near coffee release, which I thought was interesting, but it does not boot.

I was thinking if someone wants to do this, they can just grab the latest bios here: https://www.gigabyte.com/Motherboard/GA-…support-dl-bios




Ok. try it Z27XGSOC.F5

Notice:Before flashing use F44Editor to fill in unique board details -this step is not compulsory
I’m not sure that it will work with 6-core processors, but try. Do at your own risk, in case of failure, you may need an ISP programmer.
For the operation of 6-core processors is necessary insulate and connect some pins, read this topic carefully.

You used ME version 11.6.27.3264, so this bios probably will not work with coffee lake.
FD44editor is intended only for Asus motherboards.

@Nastojka Thanks for making the bios :slight_smile: However, it does not load, I get an error trying to flash it and the board will not accept it. I found PD44 Editor but it does not open either the stock bios or the bios you made.

@Wolf_Larsen This! I was unable to open the GB bios with "FD44Editor_0.9.2_win"

Anyone else want to try making a bios for me? I am willing to try flashing since the MB has dual bios with switch. Thanks again to the community :slight_smile: