Page 2 of 3
Re: coreboot on ASRock H110M-DVS rev 3.0 and rev 2.0 and me_cleaner
Posted: Sat Sep 14, 2024 2:16 pm
by david
I do have rom with EDK-2 but need to be build specificly for your GPU and your monitor.
I did tested only on Radeon 560 4GB and Radeon 580 4GB so if you want to test with EDK2 efi you need to give me one code.
When you are in grub menu (before OS start):
press "c" and type "vbeinfo"
then give me the value that is for your resolution example most monitors works on 1920x1080 or just make picture on all of them so i can build you EFI for your Nvidia640 or Radeon r9 360.
Sea bios not work on Nvidia 640 cos it has only EFI rom. but with EDK2 it shall work if i build with right value for your monitor and resolution.
Never tested serial port. Is interesting why only the single ram slot is working i did tested with 2x8GB and in sea bios my usb ports was not woking maybe i did used difrent port number but PS2 keybord is working , in EDK2 all worked PS2 and USB.
Re: coreboot on ASRock H110M-DVS rev 3.0 and rev 2.0 and me_cleaner
Posted: Sat Sep 14, 2024 2:30 pm
by walterav
Thanks for the update:
Monitor is indeed 1920x1080 see output:
vbeinfo #prefered resolution 1920x1080 #0x1d2 / 0x1d4 16bit / 32bit?
vbetest 1920x1080 #shows perfect screen
If you would like to make ed2k image for uefi and 1920x1080 that would be very cool, can only test it tomorrow.
Maybe the 2nd ram slot is broken on this specific board, will test original BIOS soon and report back also check PS2 mouse and Com1 serial.
Re: coreboot on ASRock H110M-DVS rev 3.0 and rev 2.0 and me_cleaner
Posted: Sat Sep 14, 2024 3:22 pm
by david
Re: coreboot on ASRock H110M-DVS rev 3.0 and rev 2.0 and me_cleaner
Posted: Sun Sep 15, 2024 1:06 pm
by walterav
Good news, the board was dirty and air dust cleaning wasn't enough! The following is now correct for your first posted coreboot rom!
RAM DDR4_B1 slot also working!
Multiple combinations of DDR4 DIMM "sets" are working just like proprietary BIOS 4GB + 8GB both run at 2133 because 4GB is slowest instead of 2400 and DMI decode shows correct DIMM information for 12GB ram. If other RAM arrives 2400MHz I will try other mixes to see if 8+4 goes to 2400MHz.
COM1 serialport also working!
Multiple insertions/reinsertions onto the motherboard header made serial work at default 115200 8n 1 also in coreboot/seabios! Also noticed that it was running in debug mode...
SATA ports 0-3
The labeling of the onboard SATA ports matches the seaBIOS labels when it detects drives to boot from.
AUDIO
The green speaker/line-out 3,5mm jack connector on the motherboard also works with correct left/right channel sound. Compared to the original BIOS which reports 3 output devices: LineOut, Speakers and Headphone, the coreboot SeaBIOS booted operating systems only shows 2: HeadPhones and Lineout. Onboard DVI-D to HDMI cable gives HDMI audio on connected TV.
DUAL-GPU
Both the AMDGPU in PCIE 16x slot and the iGPU can operate at the same time having two screens connected!
PS2 mouse
Is still broken but verified to be working on proprietary BIOS 1.10 on this board!
RESET / POWERBUTTON
Haven't reported before but the onboard buttons work as expected.
*seabiosMPFSP.rom
With this ROM seaBIOS starts to accept input from PS2 keyboard and I can choose between SATA ports 0-3 if device is connected or USB however it will not boot any OS and just hangs after pressing 1 for SATA or 2 for USB. It will state Grub loading when USB is selected but than hangs, no bootlaoder screen no kernel loading no os... Since Serial output is working now might check again for debug info.
*cbEDK2R360.rom
This rom won't boot only sortof posts with a blinking white cursor in the top left of the screen no matter what GPU Nvidia GTX640 or AMDGPU R9 360. So no booting or ed2K tianocore white rabbit screens. Since Serial output is working now might check again for debug info.
Further testing:
Might try to make a hybrid coreboot.rom with INTEL LAN firmware from the original 1.10 BIOS to see if it enough to make NIC work. Might also post some superiotool/lspci info of the original 1.10 BIOS if more info is needed to this or other issues.
Re: coreboot on ASRock H110M-DVS rev 3.0 and rev 2.0 and me_cleaner
Posted: Sun Sep 15, 2024 2:36 pm
by walterav
Including the original Intel ROM using "ifdtool" doesn't make it active by coreboot:
Code: Select all
sudo apt install coreboot-utils
ifdtool asrock-h110pbtc-spi-oem-C-01.rom -f lay-oem.txt
cat lay-oem.txt
#00000000:00000fff fd
#00200000:007fffff bios
#00003000:001fffff me
#00001000:00002fff gbe
ifdtool -x asrock-h110pbtc-spi-oem-C-01.rom
#flashregion_0_flashdescriptor.bin
#flashregion_1_bios.bin
#flashregion_2_intel_me.bin
#flashregion_3_gbe.bin <-------------------- NIC ROM
ifdtool corebootMECLEAN.rom -n lay-oem.txt
#File corebootMECLEAN.rom is 8388608 bytes
#DANGER: Region Intel ME is shrinking.
# The region will be truncated to fit.
# This may result in an unusable image.
#Copy Descriptor 0 (Flash Descriptor) (4096 bytes)
# from 00000000+00000000:00000fff ( 4096)
# to 00000000+00000000:00000fff ( 4096)
#Copy Descriptor 1 (BIOS) (6291456 bytes)
# from 00200000+00000000:007fffff ( 6291456)
# to 00200000+00000000:007fffff ( 6291456)
#Copy Descriptor 2 (Intel ME) (2084864 bytes)
# from 00001000+00000000:001fffff ( 2093056)
# to 00003000+00000000:001fffff ( 2084864)
#Skip descriptor 3 (GbE) (region missing in the old image)
#Modify Flash Descriptor regions
#Writing new image to corebootMECLEAN.rom.new
mv corebootMECLEAN.rom.new corebootMECLEAN-uplay.rom
ifdtool corebootMECLEAN-uplay.rom -i Gbe:flashregion_3_gbe.bin
#File corebootMECLEAN-uplay.rom is 8388608 bytes
#File flashregion_3_gbe.bin is 8192 bytes
#Adding flashregion_3_gbe.bin as the GbE section of corebootMECLEAN-uplay.rom.new
#Writing new image to corebootMECLEAN-uplay.rom.new
mv corebootMECLEAN-uplay.rom.new corebootMECLEAN-uplay-gbe.rom
Flashing the "corebootMECLEAN-uplay-gbe.rom" still lets the system boot, but won't detect intel NIC. Coreboot probably doesn't know it can read roms from that part of the firmware?
Output of "superiotool -dV" running on OEM firmware 1.64beta with xeon and mecleanded:
Code: Select all
sudo superiotool -dV
Probing for Nuvoton Super I/O at 0x2e...
Found Nuvoton NCT6791D (id=0xc803) at 0x2e
Register dump:
idx 07 10 11 13 14 1a 1b 1c 1d 20 21 22 24 25 26 27 28 2a 2b 2c 2d 2f
val 0b ff ff ff ff b0 e6 10 00 c8 03 ff fb 00 00 10 00 64 00 40 03 02
def 00 ff ff 00 00 30 70 10 00 c8 03 ff 04 00 MM 00 00 c0 00 01 00 MM
LDN 0x01 (Parallel Port)
idx 30 60 61 70 74 f0
val 01 03 78 05 03 3b
def 01 03 78 07 04 3f
LDN 0x02 (UART A)
idx 30 60 61 70 f0 f2
val 01 03 f8 04 00 00
def 01 03 f8 04 00 00
LDN 0x03 (UART B, IR)
idx 30 60 61 70 f0 f1 f2
val 00 00 00 00 00 00 00
def 01 02 f8 03 00 00 00
LDN 0x05 (Keyboard Controller)
idx 30 60 61 62 63 70 72 f0
val 01 00 60 00 64 01 0c 83
def 00 00 00 00 00 00 00 83
LDN 0x06 (Consumer IR)
idx 30 60 61 70 f0 f1 f2 f3
val 00 00 00 00 08 09 32 00
def 00 00 00 00 08 09 32 00
LDN 0x07 (GPIO 6, GPIO 7, GPIO 8)
idx 30 e0 e1 e2 e3 e4 e5 e6 e7 ec ed f4 f5 f6 f7 f8
val 02 7f 0d 00 00 ff ff ff ff 00 ff ff ff ff ff ff
def 00 7f NA 00 NA ff NA 00 NA 00 00 ff NA 00 NA 00
LDN 0x08 (WDT1, WDT_MEM, GPIO 0, GPIO 1)
idx 30 60 61 e0 e1 e2 e3 e4 f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fe ff
val 82 00 00 ff 80 00 00 00 ff fb 00 00 00 ff 00 ff ff 00 ff 00 00
def 00 00 00 ff NA 00 NA 00 ff NA 00 NA 00 00 00 00 00 00 00 00 00
LDN 0x09 (GPIO 2, GPIO 3, GPIO 4, GPIO 5)
idx 30 e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 ea eb ee f0 f1 f2 f4 f5 f6 f7 fe
val 0f ff d0 00 00 7b 02 00 00 00 00 04 00 00 7f 80 00 df d5 00 00 00
def 00 ff NA 00 NA 7f NA 00 NA NA 00 00 00 00 ff NA 00 ff NA 00 NA 00
LDN 0x0a (ACPI)
idx e0 e1 e2 e3 e4 e5 e6 e7 e9 ec ed ee f0 f2 f3 f4 f6 f7 fc fe
val 01 07 03 00 00 02 1a 01 00 80 01 00 30 5c 00 00 00 e0 80 00
def 01 00 00 00 00 02 1a 00 00 00 00 00 10 5c 00 00 00 c0 00 00
LDN 0x0b (Hardware Monitor, Front Panel LED)
idx 30 60 61 62 63 70 e0 e1 e2 e3 e4 e6 e7 f0 f1 f2 f5 f6 f7 f8 f9 fa fb
val 01 02 90 02 a0 00 7f 7f ff ff ff 08 ff 00 00 00 10 00 87 47 00 00 00
def 00 00 00 00 00 00 7f 7f ff ff ff 08 ff 00 00 00 10 00 87 47 00 00 00
LDN 0x0d (BCLK, WDT2, WDT_MEM)
idx e0 e1 e7 e8 eb ed f0 f3
val 00 cc 00 32 14 00 00 00
def 00 MM 00 32 14 00 00 00
LDN 0x0e (CIR Wake-Up)
idx 30 60 61 70
val 00 00 00 00
def 00 00 00 00
LDN 0x0f (GPIO Push-Pull or Open-Drain selection)
idx e0 e1 e2 e3 e4 e5 e6 e7 e9 f0 f1 f2
val fe ff 79 7f ff ff 7f ff ff 9d 00 00
def ff ff 7f ff ff ff 0f ff ff 9d 00 00
LDN 0x14 (Port 80 UART)
idx e0 e1 e2 e3 e4
val 80 00 00 10 aa
def 80 00 00 10 00
LDN 0x16 (Deep Sleep)
idx 30 e0 e1 e2 e3
val 68 20 04 05 01
def 20 20 04 05 01
If I compare to your coreboot superiotool output and diff these are changes:
Code: Select all
sudo superiotool -dV
Probing for Nuvoton Super I/O at 0x2e...
Found Nuvoton NCT6791D (id=0xc803) at 0x2e
Register dump:
idx 07 10 11 13 14 1a 1b 1c 1d 20 21 22 24 25 26 27 28 2a 2b 2c 2d 2f
val 0b ff ff ff ff b0 e6 10 00 c8 03 ff fb 00 00 10 00 04 00 40 03 08
def 00 ff ff 00 00 30 70 10 00 c8 03 ff 04 00 MM 00 00 c0 00 01 00 MM
LDN 0x01 (Parallel Port)
idx 30 60 61 70 74 f0
val 01 03 78 07 04 3c
def 01 03 78 07 04 3f
LDN 0x02 (UART A)
idx 30 60 61 70 f0 f2
val 01 03 f8 04 00 00
def 01 03 f8 04 00 00
LDN 0x03 (UART B, IR)
idx 30 60 61 70 f0 f1 f2
val 01 02 f8 03 00 00 00
def 01 02 f8 03 00 00 00
LDN 0x05 (Keyboard Controller)
idx 30 60 61 62 63 70 72 f0
val 01 00 60 00 64 01 0c 83
def 00 00 00 00 00 00 00 83
LDN 0x06 (Consumer IR)
idx 30 60 61 70 f0 f1 f2 f3
val 00 00 00 00 08 09 32 00
def 00 00 00 00 08 09 32 00
LDN 0x07 (GPIO 6, GPIO 7, GPIO 8)
idx 30 e0 e1 e2 e3 e4 e5 e6 e7 ec ed f4 f5 f6 f7 f8
val 07 7f 0d 00 00 ff ff ff 00 00 ff ff ff ff 00 ff
def 00 7f NA 00 NA ff NA 00 NA 00 00 ff NA 00 NA 00
LDN 0x08 (WDT1, WDT_MEM, GPIO 0, GPIO 1)
idx 30 60 61 e0 e1 e2 e3 e4 f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fe ff
val 82 00 00 ff 80 00 00 00 ff 00 00 00 00 ff 00 ff ff 00 ff 00 00
def 00 00 00 ff NA 00 NA 00 ff NA 00 NA 00 00 00 00 00 00 00 00 00
LDN 0x09 (GPIO 2, GPIO 3, GPIO 4, GPIO 5)
idx 30 e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 ea eb ee f0 f1 f2 f4 f5 f6 f7 fe
val 0f ff d0 00 00 7b 02 00 00 00 00 04 00 00 7f 80 00 df c0 00 00 00
def 00 ff NA 00 NA 7f NA 00 NA NA 00 00 00 00 ff NA 00 ff NA 00 NA 00
LDN 0x0a (ACPI)
idx e0 e1 e2 e3 e4 e5 e6 e7 e9 ec ed ee f0 f2 f3 f4 f6 f7 fc fe
val 01 00 70 01 70 02 5a 01 00 80 01 00 30 5c 00 00 00 c0 80 00
def 01 00 00 00 00 02 1a 00 00 00 00 00 10 5c 00 00 00 c0 00 00
LDN 0x0b (Hardware Monitor, Front Panel LED)
idx 30 60 61 62 63 70 e0 e1 e2 e3 e4 e6 e7 f0 f1 f2 f5 f6 f7 f8 f9 fa fb
val 01 02 90 00 00 00 7f 7f ff ff ff 08 ff 00 00 00 10 00 87 47 00 00 00
def 00 00 00 00 00 00 7f 7f ff ff ff 08 ff 00 00 00 10 00 87 47 00 00 00
LDN 0x0d (BCLK, WDT2, WDT_MEM)
idx e0 e1 e7 e8 eb ed f0 f3
val 00 cc 00 32 14 00 00 00
def 00 MM 00 32 14 00 00 00
LDN 0x0e (CIR Wake-Up)
idx 30 60 61 70
val 00 00 00 00
def 00 00 00 00
LDN 0x0f (GPIO Push-Pull or Open-Drain selection)
idx e0 e1 e2 e3 e4 e5 e6 e7 e9 f0 f1 f2
val ff ff 7f ff ff ff 7f ff ff 9d 00 00
def ff ff 7f ff ff ff 0f ff ff 9d 00 00
LDN 0x14 (Port 80 UART)
idx e0 e1 e2 e3 e4
val 80 00 00 10 7c
def 80 00 00 10 00
LDN 0x16 (Deep Sleep)
idx 30 e0 e1 e2 e3
val 68 20 04 05 01
def 20 20 04 05 01
diff sitoem164b.txt sitcb-c.txt
Code: Select all
102c102
< val 0b ff ff ff ff b0 e6 10 00 c8 03 ff fb 00 00 10 00 64 00 40 03 02
---
> val 0b ff ff ff ff b0 e6 10 00 c8 03 ff fb 00 00 10 00 04 00 40 03 08
106c106
< val 01 03 78 05 03 3b
---
> val 01 03 78 07 04 3c
114c114
< val 00 00 00 00 00 00 00
---
> val 01 02 f8 03 00 00 00
126c126
< val 02 7f 0d 00 00 ff ff ff ff 00 ff ff ff ff ff ff
---
> val 07 7f 0d 00 00 ff ff ff 00 00 ff ff ff ff 00 ff
130c130
< val 82 00 00 ff 80 00 00 00 ff fb 00 00 00 ff 00 ff ff 00 ff 00 00
---
> val 82 00 00 ff 80 00 00 00 ff 00 00 00 00 ff 00 ff ff 00 ff 00 00
134c134
< val 0f ff d0 00 00 7b 02 00 00 00 00 04 00 00 7f 80 00 df d5 00 00 00
---
> val 0f ff d0 00 00 7b 02 00 00 00 00 04 00 00 7f 80 00 df c0 00 00 00
138c138
< val 01 07 03 00 00 02 1a 01 00 80 01 00 30 5c 00 00 00 e0 80 00
---
> val 01 00 70 01 70 02 5a 01 00 80 01 00 30 5c 00 00 00 c0 80 00
142c142
< val 01 02 90 02 a0 00 7f 7f ff ff ff 08 ff 00 00 00 10 00 87 47 00 00 00
---
> val 01 02 90 00 00 00 7f 7f ff ff ff 08 ff 00 00 00 10 00 87 47 00 00 00
154c154
< val fe ff 79 7f ff ff 7f ff ff 9d 00 00
---
> val ff ff 7f ff ff ff 7f ff ff 9d 00 00
158c158
< val 80 00 00 10 aa
---
> val 80 00 00 10 7c
Output of lspci on OEM 1.64 beta firmware with XEON and me cleaned.
Code: Select all
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers (rev 05)
00:01.0 PCI bridge: Intel Corporation 6th-10th Gen Core Processor PCIe Controller (x16) (rev 05)
00:14.0 USB controller: Intel Corporation 100 Series/C230 Series Chipset Family USB 3.0 xHCI Controller (rev 31)
00:14.2 Signal processing controller: Intel Corporation 100 Series/C230 Series Chipset Family Thermal Subsystem (rev 31)
00:17.0 SATA controller: Intel Corporation Q170/Q150/B150/H170/H110/Z170/CM236 Chipset SATA Controller [AHCI Mode] (rev 31)
00:1c.0 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #5 (rev f1)
00:1d.0 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #9 (rev f1)
00:1d.1 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #10 (rev f1)
00:1f.0 ISA bridge: Intel Corporation H110 Chipset LPC/eSPI Controller (rev 31)
00:1f.2 Memory controller: Intel Corporation 100 Series/C230 Series Chipset Family Power Management Controller (rev 31)
00:1f.3 Audio device: Intel Corporation 100 Series/C230 Series Chipset Family HD Audio Controller (rev 31)
00:1f.4 SMBus: Intel Corporation 100 Series/C230 Series Chipset Family SMBus (rev 31)
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (2) I219-V (rev 31)
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Hawaii XT / Grenada XT [Radeon R9 290X/390X] (rev 80)
01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Hawaii HDMI Audio [Radeon R9 290/290X / 390/390X]
04:00.0 PCI bridge: ASMedia Technology Inc. ASM1187e 7-Port PCIe x1 Gen2 Packet Switch
05:01.0 PCI bridge: ASMedia Technology Inc. ASM1187e 7-Port PCIe x1 Gen2 Packet Switch
05:02.0 PCI bridge: ASMedia Technology Inc. ASM1187e 7-Port PCIe x1 Gen2 Packet Switch
05:03.0 PCI bridge: ASMedia Technology Inc. ASM1187e 7-Port PCIe x1 Gen2 Packet Switch
05:04.0 PCI bridge: ASMedia Technology Inc. ASM1187e 7-Port PCIe x1 Gen2 Packet Switch
05:05.0 PCI bridge: ASMedia Technology Inc. ASM1187e 7-Port PCIe x1 Gen2 Packet Switch
05:06.0 PCI bridge: ASMedia Technology Inc. ASM1187e 7-Port PCIe x1 Gen2 Packet Switch
05:07.0 PCI bridge: ASMedia Technology Inc. ASM1187e 7-Port PCIe x1 Gen2 Packet Switch
-[0000:00]-+-00.0 8086:5918
+-01.0-[01]--+-00.0 1002:67b0
| \-00.1 1002:aac8
+-14.0 8086:a12f
+-14.2 8086:a131
+-17.0 8086:a102
+-1c.0-[02]--
+-1d.0-[03]--
+-1d.1-[04-0c]----00.0-[05-0c]--+-01.0-[06]--
| +-02.0-[07]--
| +-03.0-[08]--
| +-04.0-[09]--
| +-05.0-[0a]--
| +-06.0-[0b]--
| \-07.0-[0c]--
+-1f.0 8086:a143
+-1f.2 8086:a121
+-1f.3 8086:a170
+-1f.4 8086:a123
\-1f.6 8086:15b8
-[0000:00]-+-00.0 Intel Corporation Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers
+-01.0-[01]--+-00.0 Advanced Micro Devices, Inc. [AMD/ATI] Hawaii XT / Grenada XT [Radeon R9 290X/390X]
| \-00.1 Advanced Micro Devices, Inc. [AMD/ATI] Hawaii HDMI Audio [Radeon R9 290/290X / 390/390X]
+-14.0 Intel Corporation 100 Series/C230 Series Chipset Family USB 3.0 xHCI Controller
+-14.2 Intel Corporation 100 Series/C230 Series Chipset Family Thermal Subsystem
+-17.0 Intel Corporation Q170/Q150/B150/H170/H110/Z170/CM236 Chipset SATA Controller [AHCI Mode]
+-1c.0-[02]--
+-1d.0-[03]--
+-1d.1-[04-0c]----00.0-[05-0c]--+-01.0-[06]--
| +-02.0-[07]--
| +-03.0-[08]--
| +-04.0-[09]--
| +-05.0-[0a]--
| +-06.0-[0b]--
| \-07.0-[0c]--
+-1f.0 Intel Corporation H110 Chipset LPC/eSPI Controller
+-1f.2 Intel Corporation 100 Series/C230 Series Chipset Family Power Management Controller
+-1f.3 Intel Corporation 100 Series/C230 Series Chipset Family HD Audio Controller
+-1f.4 Intel Corporation 100 Series/C230 Series Chipset Family SMBus
\-1f.6 Intel Corporation Ethernet Connection (2) I219-V
The onboard nic I219-V is missing from the coreboot booted system...
Re: coreboot on ASRock H110M-DVS rev 3.0 and rev 2.0 and me_cleaner
Posted: Sun Sep 15, 2024 3:28 pm
by walterav
Also tried adding option rom via "cbfstool" instead of "ifdtool" but it probably won't load options roms did you enable that on your build?
Code: Select all
cbfstool corebootMECLEAN.rom print
FMAP REGION: COREBOOT
Name Offset Type Size Comp
cbfs_master_header 0x0 cbfs header 32 none
cpu_microcode_blob.bin 0x80 microcode 643072 none
intel_fit 0x9d0c0 (unknown) 176 none
fallback/romstage 0x9d1c0 stage 56496 none
fallback/ramstage 0xaaf00 stage 110894 LZMA (246284 decompressed)
config 0xc60c0 raw 3990 LZMA (14107 decompressed)
revision 0xc70c0 raw 727 none
build_info 0xc73c0 raw 102 none
fallback/dsdt.aml 0xc7480 raw 11703 none
rt8168-macaddress 0xca280 raw 17 none
vbt.bin 0xca2c0 raw 1180 LZMA (4284 decompressed)
cmos_layout.bin 0xca7c0 cmos_layout 724 none
payload_revision 0xcaac0 raw 237 none
etc/threads 0xcac00 raw 8 none
(empty) 0xcac40 null 356 none
fspm.bin 0xcadc0 fsp 405504 none
fsps.bin 0x12de00 fsp 147442 LZ4 (188416 decompressed)
fallback/postcar 0x151e40 stage 23808 none
fallback/payload 0x157bc0 simple elf 72795 none
payload_config 0x169880 raw 1621 none
(empty) 0x169f00 null 4718244 none
bootblock 0x5e9dc0 bootblock 24576 none
cbfstool corebootMECLEAN.rom add -f flashregion_3_gbe.bin -n pci8086,15b8.rom -t optionrom
cbfstool corebootMECLEAN.rom print
FMAP REGION: COREBOOT
Name Offset Type Size Comp
cbfs_master_header 0x0 cbfs header 32 none
cpu_microcode_blob.bin 0x80 microcode 643072 none
intel_fit 0x9d0c0 (unknown) 176 none
fallback/romstage 0x9d1c0 stage 56496 none
fallback/ramstage 0xaaf00 stage 110894 LZMA (246284 decompressed)
config 0xc60c0 raw 3990 LZMA (14107 decompressed)
revision 0xc70c0 raw 727 none
build_info 0xc73c0 raw 102 none
fallback/dsdt.aml 0xc7480 raw 11703 none
rt8168-macaddress 0xca280 raw 17 none
vbt.bin 0xca2c0 raw 1180 LZMA (4284 decompressed)
cmos_layout.bin 0xca7c0 cmos_layout 724 none
payload_revision 0xcaac0 raw 237 none
etc/threads 0xcac00 raw 8 none
(empty) 0xcac40 null 356 none
fspm.bin 0xcadc0 fsp 405504 none
fsps.bin 0x12de00 fsp 147442 LZ4 (188416 decompressed)
fallback/postcar 0x151e40 stage 23808 none
fallback/payload 0x157bc0 simple elf 72795 none
payload_config 0x169880 raw 1621 none
pci8086,15b8.rom 0x169f00 optionrom 8192 none <----Additional ROM
(empty) 0x16bf40 null 4709988 none
bootblock 0x5e9dc0 bootblock 24576 none
Flashing the resulting rom, didn't make the intel nic work...
Re: coreboot on ASRock H110M-DVS rev 3.0 and rev 2.0 and me_cleaner
Posted: Sun Sep 15, 2024 8:28 pm
by david
Nice Discovery! I was wondering for the ram so is good is working !
*cbEDK2R360.rom
--> this mean rom is working just maybe you changed the GPU or monitor or maybe i need to use 32bit value i will check again how i did it with my case!
Also system need to have uefi boot drive to be able to boot , possible need to be selected from uefi settings that why you see only blinking line EDK is trying to initialize display but if fail to set correct vga settings cos i use vga rom from card gop driver not worked for me.
====================================================================================
My asrock v2.0 do not contain any data in this part of the firmware for the lan that on original hw.i think part for initialization of the lan card is done in the coreboot firmware and my is using Realtek lan that why on intel is not working.But i think is not big deal

This board has so many pce-e slots so one lan adapter or usb to eth adapter will be fine
4 - GbE Region (FLREG3): (Unused)
FLREG3: 0x00007fff
Flash Region 3 (GbE): 00fff000 - 00000fff (unused)
=====================================================================================
Re: coreboot on ASRock H110M-DVS rev 3.0 and rev 2.0 and me_cleaner
Posted: Tue Sep 17, 2024 5:53 pm
by walterav
Some food for thought about C232/C236 with native supported XEONS like the e3-1270-v6 or perhaps coffeelake XEONS. Found a 8MB flashrom sized motherboard with same similar sized IntelME, its the Gigabye ga-x150-plus-ws with BIOS F21 and F22 supporting these Kabylake XEONS....
https://www.gigabyte.com/Motherboard/GA ... rt-dl-bios
However this boards comes with different Chipset and different superio chip from Ite not nuvoton, might try to flash this weekend.
Re: coreboot on ASRock H110M-DVS rev 3.0 and rev 2.0 and me_cleaner
Posted: Wed Sep 25, 2024 10:29 am
by walterav
NEWS: Onboard I219-V LAN works on Asrock H110 Pro BTC+ !
Compiled own coreboot.rom using all defaults, but edited "devicetree.cb" to mimic older legacy pci definitions with extra disabled 1f.6 location found here look at the end of the file:
https://www.coreboot.org/fossology/?mod ... &item=9156
Code: Select all
end # LPC Interface
device pci 1f.1 on end # P2SB
device pci 1f.2 on end # Power Management Controller
device pci 1f.3 on # Intel HDA
register "PchHdaVcType" = "Vc1"
end
device pci 1f.4 on end # SMBus
device pci 1f.5 on end # PCH SPI
device pci 1f.6 off end # GbE <--- Extra port which contains I219-V but disabled
end
end
While the current devicetree.cb shows "ref" block definitions without mentioning location "1f.6":
https://github.com/coreboot/coreboot/bl ... icetree.cb
Code: Select all
end # chip superio/common
chip drivers/pc80/tpm
device pnp 4e.0 on end # TPM module
end
end
device ref hda on
register "PchHdaVcType" = "Vc1"
end
device ref smbus on end
device ref fast_spi on end
end
end
So I changed devicetree.cb to:
Code: Select all
end # chip superio/common
chip drivers/pc80/tpm
device pnp 4e.0 on end # TPM module
end
end
device ref hda on
register "PchHdaVcType" = "Vc1"
end
device ref smbus on end
device ref fast_spi on end
device pci 1f.6 on end # <--- enables I219-V onboard
end
end
I also added the "flashdescription region3 GbE" to the coreboot rom which also used original "Descriptor and ME" regions:
Code: Select all
ifdtool coreboot-1f6pci.rom -i Gbe:flashregion_3_gbe.bin
Re: coreboot on ASRock H110M-DVS rev 3.0 and rev 2.0 and me_cleaner
Posted: Wed Sep 25, 2024 11:54 am
by walterav
More GOOD News for Asrock H110 Pro BTC+!
PCI-E Switch ASM1187e 7-Port PCIe x1 Gen2 Packet Switch detected using these "devicetree.cb" edits:
Code: Select all
..............................
device ref pcie_rp7 on
register "PcieRpEnable[6]" = "1"
register "PcieRpClkReqSupport[6]" = "1"
register "PcieRpClkReqNumber[6]" = "3"
register "PcieRpAdvancedErrorReporting[6]" = "1"
register "PcieRpLtrEnable[6]" = "1"
register "PcieRpClkSrcNumber[6]" = "3"
register "PcieRpHotPlug[6]" = "1"
end
### original code above ^^^
device pci 1d.0 on
register "PcieRpEnable[8]" = "1"
register "PcieRpClkReqSupport[8]" = "1"
register "PcieRpClkReqNumber[8]" = "4"
register "PcieRpAdvancedErrorReporting[8]" = "1"
register "PcieRpLtrEnable[8]" = "1"
register "PcieRpClkSrcNumber[8]" = "4"
register "PcieRpHotPlug[8]" = "1"
end
device pci 1d.1 on
register "PcieRpEnable[9]" = "1"
register "PcieRpClkReqSupport[9]" = "1"
register "PcieRpClkReqNumber[9]" = "5"
register "PcieRpAdvancedErrorReporting[9]" = "1"
register "PcieRpLtrEnable[9]" = "1"
register "PcieRpClkSrcNumber[9]" = "5"
register "PcieRpHotPlug[9]" = "1"
end
### original code below
device ref lpc_espi on
subsystemid 0x1849 0x1a43
# Set @0x280-0x2ff I/O Range for SuperIO HWM
register "gen1_dec" = "0x007c0281"
# Set LPC Serial IRQ mode
register "serirq_mode" = "SERIRQ_CONTINUOUS"
....................
lspci
LOL!
Tested 7 different devices in all the white PCI-E asmedia switched slots at the same time, and some of the network adapters with option roms are even loaded in SeaBIOS and shows numbered PXE boot options besides the SATA/USB ! The OS detects all 7 devices!
Also tested all black 6x pci-e slots with 1X length devices, but the slot called PCIE5 won't detect device, maybe because numbering of PCI devices ends with 06 with that being the ASmedia switch controller...?
IGPU
Also onboard igpu libgfxinit works in text mode in SeaBIOS by just adding "select MAINBOARD_HAS_LIBGFXINIT" to Kconfig file from the onboard DVI connector linked to a HDMI screen. This works for both G4400 Skylake and G3950 Kabylake gpu!