I have installed coreboot on my CompuLab Intense PC (Ivy Bridge). Intel ME blob 
was extracted from firmware image dump. This ME version (8.1.20.1336) contains 
multiple security vulnerabilites, so I have downloaded latest firmware update 
from vendor website extracted the ME (8.1.72.3002) and used that to build 
coreboot. However, after flashing updated rom, the SATA disk is no longer 
detected.

The coreboot configuration is identical for both roms, only difference is the 
ME version. The SATA controller is detected in both cases by coreboot and Linux:

SATA: Initializing...
SATA: Controller in AHCI mode.

00:1f.2 SATA controller: Intel Corporation 7 Series Chipset Family 6-port SATA 
Controller [AHCI mode] (rev 04)

With newer ME, there are no errors, it's just like the SATA disk is not plugged 
in.

I have compared output of cbmem, line by line in cronological order, from 
system booted by USB disk with working and non working SATA, cut out blocks 
with differences and marked them with a *. I don't know if this is a good way, 
please let me know if I should have done otherwise.

SATA disk working:
=============================
Update PCI-E configuration space:
PCI(0, 0, 0)[a0] = 0
PCI(0, 0, 0)[a4] = 2 *
PCI(0, 0, 0)[bc] = 82a00000
PCI(0, 0, 0)[a8] = 7b600000
PCI(0, 0, 0)[ac] = 2 *
PCI(0, 0, 0)[b8] = 80000000
PCI(0, 0, 0)[b0] = 80a00000
PCI(0, 0, 0)[b4] = 80800000
PCI(0, 0, 0)[7c] = 7f
PCI(0, 0, 0)[70] = fe000000
PCI(0, 0, 0)[74] = 1 *
PCI(0, 0, 0)[78] = fe000c00
=============================
SATA disk NOT working:
=============================
Update PCI-E configuration space:
PCI(0, 0, 0)[a0] = 0
PCI(0, 0, 0)[a4] = 4 *
PCI(0, 0, 0)[bc] = 82a00000
PCI(0, 0, 0)[a8] = 7b600000
PCI(0, 0, 0)[ac] = 4 *
PCI(0, 0, 0)[b8] = 80000000
PCI(0, 0, 0)[b0] = 80a00000
PCI(0, 0, 0)[b4] = 80800000
PCI(0, 0, 0)[7c] = 7f
PCI(0, 0, 0)[70] = fe000000
PCI(0, 0, 0)[74] = 3 *
PCI(0, 0, 0)[78] = fe000c00
=============================

SATA disk working:
=============================
ME: FWS2: 0x161f012a *
ME:  Bist in progress: 0x0
ME:  ICC Status      : 0x1 *
ME:  Invoke MEBx     : 0x1
ME:  CPU replaced    : 0x0
=============================
SATA disk NOT working:
=============================
ME: FWS2: 0x161f012e *
ME:  Bist in progress: 0x0
ME:  ICC Status      : 0x3 *
ME:  Invoke MEBx     : 0x1
ME:  CPU replaced    : 0x0
=============================

SATA disk working:
=============================
PASSED! Tell ME that DRAM is ready
ME: FWS2: 0x1650012e *
ME:  Bist in progress: 0x0
ME:  ICC Status      : 0x3 *
ME:  Invoke MEBx     : 0x1
ME:  CPU replaced    : 0x0
=============================
SATA disk NOT working:
=============================
PASSED! Tell ME that DRAM is ready
ME: FWS2: 0x1650012a *
ME:  Bist in progress: 0x0
ME:  ICC Status      : 0x1 *
ME:  Invoke MEBx     : 0x1
ME:  CPU replaced    : 0x0
=============================

SATA disk working:
=============================
memcfg channel assignment: A: 1, B  0, C  2 *
memcfg channel[0] config (00000000): *
   ECC inactive
   enhanced interleave mode off *
   rank interleave off *
   DIMMA 0 MB width x8 single rank, selected *
   DIMMB 0 MB width x8 single rank
=============================
SATA disk NOT working:
=============================
memcfg channel assignment: A: 0, B  1, C  2 *
memcfg channel[0] config (00620020): *
   ECC inactive
   enhanced interleave mode on *
   rank interleave on *
   DIMMA 8192 MB width x8 dual rank, selected *
   DIMMB 0 MB width x8 single rank
=============================

SATA disk working:
=============================
PCH: Remap PCIe function 4 to 3
PCI: 00:1c.4 [8086/1e18] enabled
PCI: 00:1c.5: Disabling device
PCI: 00:1c.6: Disabling device
PCI: 00:1c.6 [8086/1e1c] disabled *
PCI: 00:1c.7: Disabling device
=============================
SATA disk NOT working:
=============================
PCH: Remap PCIe function 4 to 3
PCI: 00:1c.4 [8086/1e18] enabled
PCI: 00:1c.5: Disabling device
PCI: 00:1c.6: Disabling device
*
PCI: 00:1c.7: Disabling device
=============================

SATA disk working:
=============================
PCI: Leftover static devices:
PCI: 00:16.1
PCI: 00:16.2
PCI: 00:16.3
PCI: 00:1c.4
PCI: 00:1c.5
*
PCI: 00:1c.7
PCI: Check your devicetree.cb.
=============================
SATA disk NOT working:
=============================
PCI: Leftover static devices:
PCI: 00:16.1
PCI: 00:16.2
PCI: 00:16.3
PCI: 00:1c.4
PCI: 00:1c.5
PCI: 00:1c.6 *
PCI: 00:1c.7
PCI: Check your devicetree.cb.
=============================

SATA disk working:
=============================
Available memory below 4GB: 2048M
Available memory above 4GB: 6070M *
=============================
SATA disk NOT working:
=============================
Available memory below 4GB: 2048M
Available memory above 4GB: 14262M *
=============================

SATA disk working:
=============================
CPU physical address size: 36 bits
MTRR: default type WB/UC MTRR counts: 4/4. *
MTRR: UC selected as default type. *
=============================
SATA disk NOT working:
=============================
CPU physical address size: 36 bits
MTRR: default type WB/UC MTRR counts: 4/5. *
MTRR: WB selected as default type. *
=============================

SATA disk working:
=============================
Create SMBIOS type 17
SMBIOS tables: 682 bytes. *
=============================
SATA disk NOT working:
=============================
Create SMBIOS type 17
SMBIOS tables: 782 bytes. *
=============================

SATA disk working:
=============================
Found 1 serial ports
Searching bootorder for: /pci@i0cf8/*@1f,2/drive@0/disk@0 *
AHCI/0: Set transfer mode to UDMA-6 *
Searching bios-geometry for: /pci@i0cf8/*@1f,2/drive@0/disk@0 *
AHCI/0: registering: "AHCI/0: Samsung SSD 840 PRO Series ATA-9 Hard-Disk (238 
GiBytes)" *
PS2 keyboard initialized
=============================
SATA disk NOT working:
=============================
Found 1 serial ports
*
*
*
*
PS2 keyboard initialized
=============================

Vendor firmware has working SATA with same ME, what could change that makes 
coreboot not detect the SATA disk anymore?

The final goal is to disable ME with me_cleaner, but that also breaks SATA as 
documented here:

https://github.com/corna/me_cleaner/issues/119

But I think if we can get coreboot to detect SATA disk with new ME version, it 
can also be disabled completely.

I'm very interested in getting this to work, but I'm not sure where I should 
start with the debugging. Can anyone point me in the right direction? I would 
appreciate any ideas!!

Thanks in advance.


Regards,
Mogense Jensen
_______________________________________________
coreboot mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to