On Mon, Sep 12, 2016 at 06:13:16PM +0000, Peter Stuge wrote:
If I just erase the first 4KB of its region (0x3000, starts with "$FPT"), coreboot boots up fine and reports that "WARNING: ME has bad firmware". My Linux payload initializes without any complaints.
Does it stay operational for more than 30 minutes? [...] Does it resume after more than 30 minutes from power-on? And from suspend?
Yes, it has been operational for the past few hours and I'm able to suspend it with 'systemctl suspend' and resume with the lid or power switch. I think the lack of entering S3 on lid-closure might be a Qubes 3.2-rc regression, so I'm ignoring that for now.
[...]
The indicator on the power button will flash when I press it,
That is an LED connected to the EC, unrelated to the x86 platform.
That makes sense. I also note that if I have the device on external power the light stays on, but there is no external sign of life.
but the system does not seem to respond otherwise (I do not have a port 80 debugger or hardware serial port to see where it is failing).
To look into the ME in a lot of detail I think you may need to get involved with the hardware.
What hardware probes would you recommend? Do you know of any easy place to attach them? The x230 has a second mini-pcie slot available if there are useful debugging devices.
Here's the relevant sections from the 'cbmem --console' -- the early ME init routines appear to find a bad partition table, but for some reason the later call to intel_me_status() reports it as ok. I don't see any sort of backup $FPT structure in the ROM, so I'm not sure what is it using.
coreboot-4.4-1458-gae58906-heads Fri Sep 9 15:14:17 UTC 2016 romstage starting... Setting up static southbridge registers... done. Disabling Watchdog reboot... done. Setting up static northbridge registers... done. Initializing Graphics... Back from sandybridge_early_initialization() SMBus controller enabled. CPU id(306a9): Intel(R) Core(TM) i5-3320M CPU @ 2.60GHz AES supported, TXT supported, VT supported PCH type: QM77, device id: 1e55, rev id 4 Intel ME early init WARNING: ME has bad firmware ME: Requested 32MB UMA ME: FW Partition Table : BAD ME: Bringup Loader Failure : NO ME: Firmware Init Complete : NO ME: Manufacturing Mode : NO ME: Boot Options Present : NO ME: Update In Progress : NO ME: Current Working State : Recovery ME: Current Operation State : Bring up ME: Current Operation Mode : Normal ME: Error Code : No Error ME: Progress Phase : BUP Phase ME: Power Management Event : Clean Moff->Mx wake ME: Progress Phase State : Waiting for DID BIOS message ME: FWS2: 0x101f016a ME: Bist in progress: 0x0 ME: ICC Status : 0x1 ME: Invoke MEBx : 0x1 ME: CPU replaced : 0x0 ME: MBP ready : 0x1 ME: MFS failure : 0x1 ME: Warm reset req : 0x0 ME: CPU repl valid : 0x1 ME: (Reserved) : 0x0 ME: FW update req : 0x0 ME: (Reserved) : 0x0 ME: Current state : 0x1f ME: Current PM event: 0x0 ME: Progress code : 0x1 PASSED! Tell ME that DRAM is ready
[...]
XHCI: Setting up controller.. done. PCI: 00:14.0 init finished in 205 usecs PCI: 00:16.0 init ... ME: FW Partition Table : OK ME: Bringup Loader Failure : NO ME: Firmware Init Complete : NO ME: Manufacturing Mode : NO ME: Boot Options Present : NO ME: Update In Progress : NO ME: Current Working State : Reset ME: Current Operation State : Preboot ME: Current Operation Mode : Normal ME: Error Code : No Error ME: Progress Phase : ROM Phase ME: Power Management Event : Clean Moff->Mx wake ME: Progress Phase State : BEGIN intel_me_path: mbp is not ready! ME: BIOS path: Error