I soldered all components on a Asrock B150 K4 that is part of the NVME socket. It works with original BIOS, but 1x. I tried many things, but as a test I just tried flashing Z170 BIOS, and got stuck, and then I replaced only one module, SiInitPreMem, dumped from the B150 bios, and it boot (as a Z170) and works x4 NVME normally.
I’m not really experienced with BIOS mod, but well, someone can give me some light in why this worked? How can I found the module that makes this change on the NVME? (I already tried changed all modules with NVME on the name, nothing) - I have a feeling that the module SiInitPreMem only does not initialize because some artificial limitation, because the 4 extra PCI-E lanes from the chipset are connected fiscally, even have same voltage as the others…
EDIT:
It’s working on x4 NVME, I only lose the LAN, because I think, the lane “PCI-E 4” just don’t works on the B150 SKU, maybe e-fuse configs.
Here below are side by side comparison. I flashed the BIOS changing the module that I said, SiInitPreMem, for the version from B150, and the board boots up, I tested all USB and Sata Ports, working, just lost Lan, and the 1x PCI-E ports ( because this 4 lanes is now being used by the NVME, and the replacement lanes, are disabled, even if they have connection to the chip, and the right voltages, I believe that it’s disabled by e-fuses on the die.