ec
ec copied to clipboard
ESPI systems should always power off if in S5 state
This may fix issues with unresponsive power buttons.
After first flashing, the machine wouldn't react to anything I did to it until I reset CMOS. Afterwards, the lights on the front react as I would expect when plugging and unplugging the charger. However, now pressing the power button with the charger plugged in gives me this:
[15:45:21] 51: Power switch press
[15:45:21] 51: power_on
[15:45:21] VA_EC_EN = true
[15:45:21] DD_ON = true
[15:45:21] PCH_DPWROK_EC = true
[15:45:21] EC_RSMRST_N = true
[15:45:21] EC_EN = true
[15:45:21] PWR_BTN_N = false
[15:45:21] PWR_BTN_N = true
[15:45:21] POWER_STATE_S5
[15:45:26] failed to reach S0, powering off
[15:45:26] 51: power_off
[15:45:26] PCH_PWROK_EC = false
[15:45:26] PM_PWROK = false
[15:45:26] EC_EN = false
[15:45:26] EC_RSMRST_N = false
[15:45:26] DD_ON = false
[15:45:26] VA_EC_EN = false
[15:45:26] PCH_DPWROK_EC = false
[15:45:26] POWER_STATE_OFF
and nothing else.
Something new happens if I disconnect the charger though. The console gets constantly flooded with lines like these:
[15:46:42] power_ppeci_limit unnknown responsee: 0x00
[15:46:42] power_pecci_limit 28 = 00
[15:46:42] power_peci_liimit unknown response: 0x000
[15:46:42] oower_peci_limiit 28 = 0
[15:46:42] powerr_peci_limit unkknown responsee: 0x00
[15:46:42] power_peeci_limit 28 = 0
[15:46:42] power_peci_llimit unknown rresponse: 0x000
[15:46:42] power_peci_limiit 28 = 0
[15:46:42] poweer_peci_limit uunknown responsse: 0x00
[15:46:42] power_ppeci_limit 28 = 0
[15:46:42] power_peci_llimit unknown reesponse: 0x00
[15:46:42] powwer_peci_limitt 28 = 0
[15:46:42] power__peci_limit unknnown responsee: 0x00
[15:46:42] power_pecci_limit 28 = 00
[15:46:42] power_peci_liimit unknown reesponse: 0x000
[15:46:42] power_peci_limiit 28 = 0
[15:46:42] powerr_peci_limit uunknown responsee: 0x00
[15:46:42] power_ppeci_limit 28 = 0
[15:46:42] power_peci_llimit unknown response: 0x000
[15:46:42] power_peci_liimit 28 = 0
[15:46:42] powerr_peci_limit uunknown responnse: 0x00
[15:46:42] power_ppeci_limit 28 = 0
[15:46:42] power_peci_liimit unknown response: 0x000
[15:46:42] power_peci_limmit 28 = 0
[15:46:42] powerr_peci_limit unnknown responsse: 0x00
[15:46:42] power_ppeci_limit 28 == 0
[15:46:42] power_peci__limit unknown response: 0x000
[15:46:42] power_peci_limiit 28 = 0
[15:46:42] poweer_peci_limit uunknown responsee: 0x00
[15:46:42] power_peeci_limit 28 = 00
[15:46:42] power_peci_llimit unknown rresponse: 0x000
[15:46:42] power_peci_liimit 28 = 0
[15:46:42] poweer_peci_limit unknown responnse: 0x00
[15:46:42] power_ppeci_limit 28 == 0
[15:46:42] power_peci__limit unknownn response: 0x000
[15:46:42] power_peci_liimit 28 = 0
[15:46:42] powwer_peci_limit uunknown responnse: 0x00
[15:46:42] power_pecci_limit 28 = 0
Pressing the power button while it's doing that makes the flood stop briefly and I see the same sequence and timeout that I get while on the charger, but the flood resumes immediately after it times out:
[15:51:44] power_peci_limmit 28 = 0
[15:51:44] poweer_peci_limit unnknown responsse: 0x00
[15:51:44] power_peci_limit 28 = 0
[15:51:44] poower_peci_limitt unknown respponse: 0x00
[15:51:44] powerr_peci_limit 288 = 0
[15:51:44] power_pecci_limit unknowwn response: 00x00
[15:51:44] power_peci_llimit 28 = 0
[15:51:44] poower_peci_limiit unknown respoonse: 0x00
[15:51:44] powerr_peci_limit 28 = 0
[15:51:44] power_pecci_limit unknowwn response: 00x00
[15:51:44] power_pecii_limit 28 = 0
[15:51:44] ppower_peci_limmit unknown response: 0x00
[15:51:44] power_peci_limit 28 = 0
[15:51:44] power_peci_limit unknown response: 0x00
[15:51:44] power_peci_limit 28 = 0
[15:51:44] power_peci_limit unknown response: 0x00
[15:51:44] power_peci_limit 28 = 0
[15:51:44] power_peci_limit unknown response: 0x00
[15:51:44] 54: Power switch press
[15:51:44] 54: power_on
[15:51:44] VA_EC_EN = true
[15:51:44] DD_ON = true
[15:51:44] PCH_DPWROK_EC = true
[15:51:44] EC_RSMRST_N = true
[15:51:45] EC_EN = true
[15:51:45] PWR_BTN_N = false
[15:51:45] PWR_BTN_N = true
[15:51:45] POWER_STATE_S5
[15:51:50] failed to reach S0, powering off
[15:51:50] 54: power_off
[15:51:50] PCH_PWROK_EC
[15:51:50] ower_peci_limiit 28 = 0
[15:51:50] powerr_peci_limit unkknown responsee: 0x00
[15:51:50] power_pecci_limit 28 = 0
[15:51:50] power_peci_llimit unknown reesponse: 0x00
[15:51:50] oower_peci_limitt 28 = 0
[15:51:50] power__peci_limit unkknown responsee: 0x00
[15:51:50] power_peeci_limit 28 = 0
Actually, scratch that. Turns out I flashed gaze16-3060 EC firmware to this gaze16-3050. Whoops. After flashing the correct version, it seems pretty happy now. I'm going to see if I can get it stuck again.
I was able to get it into one of its stuck states again. This time it was the one where it times out trying to reach S0:
[13:43:42] 66: Power switch press
[13:43:42] 66: power_on
[13:43:42] VA_EC_EN = true
[13:43:42] DD_ON = true
[13:43:42] PCH_DPWROK_EC = true
[13:43:42] EC_RSMRST_N = true
[13:43:42] EC_EN = true
[13:43:42] PWR_BTN_N = false
[13:43:42] PWR_BTN_N = true
[13:43:42] POWER_STATE_S5
[13:43:47] failed to reach S0, powering off
[13:43:47] 66: power_off
[13:43:47] PCH_PWROK_EC = false
[13:43:47] EC_EN = false
[13:43:47] EC_RSMRST_N = false
[13:43:47] DD_ON = false
[13:43:47] VA_EC_EN = false
[13:43:47] PCH_DPWROK_EC = false
[13:43:47] POWER_STATE_OFF
[13:54:19] 78: Power switch press
[13:54:19] 78: power_on
[13:54:19] VA_EC_EN = true
[13:54:19] DD_ON = true
[13:54:19] PCH_DPWROK_EC = true
[13:54:19] EC_RSMRST_N = true
[13:54:19] EC_EN = true
[13:54:19] PWR_BTN_N = false
[13:54:19] PWR_BTN_N = true
[13:54:19] POWER_STATE_S5
[13:54:24] failed to reach S0, powering off
[13:54:24] 78: power_off
[13:54:24] PCH_PWROK_EC = false
[13:54:24] EC_EN = false
[13:54:24] EC_RSMRST_N = false
[13:54:24] DD_ON = false
[13:54:24] VA_EC_EN = false
[13:54:24] PCH_DPWROK_EC = false
[13:54:24] POWER_STATE_OFF
Pulling the battery and charger, then plugging in the charger allowed it to boot normally after this.
We got a 2nd 15" gaze16-3050 in that has never booted. It came with 2 others but they are 17" and boot fine. Flashed with this PR but issue unchanged. Output from console when pushing power button:
sudo test -c "/dev/serial/by-id/usb-Arduino__www.arduino.cc__0042_55130303335351A0C0F0-if00"
sleep 1 && echo F | sudo tee "/dev/serial/by-id/usb-Arduino__www.arduino.cc__0042_55130303335351A0C0F0-if00" &
sudo tio -b 1000000 -m INLCRNL -t "/dev/serial/by-id/usb-Arduino__www.arduino.cc__0042_55130303335351A0C0F0-if00"
[tio 09:57:09] tio v1.32
[tio 09:57:09] Press ctrl-t q to quit
[tio 09:57:09] Connected
F
[09:57:10] Entering console mode
[09:57:10] e16-3050', version '2022-05-05_9terCurrent: 1580
[09:57:11] 00: SLP_SUS# asserted
[09:57:11] Lid open
[09:57:11] Battery:
[09:57:11] Temperature: 0B9A
[09:57:11] Voltage: 3FF2
[09:57:11] Current: 0000
[09:57:11] Charge: 0064
[09:57:11] Status: 00E0
[09:57:11] Charger (oz26786):
[09:57:11] ChargeCurrent: 0600
[09:57:11] ChargeVoltage: 41A0
[09:57:11] ChargeOption_1: 0800
[09:57:11] ChargeOption_2: 0800
[09:57:11] AdapterCurrent: 1580
[09:57:11] 00: SLP_SUS# asserted
[09:57:11] Lid open
[09:57:23] E4: Power switch press
[09:57:23] E4: power_on
[09:57:23] VA_EC_EN = true
[09:57:23] DD_ON = true
[09:57:23] PCH_DPWROK_EC = true
[09:57:23] EC_RSMRST_N = true
[09:57:23] EC_EN = true
[09:57:23] PWR_BTN_N = false
[09:57:23] PWR_BTN_N = true
[09:57:23] POWER_STATE_S5
[09:57:29] failed to reach S0, powering off
[09:57:29] E4: power_off
[09:57:29] PCH_PWROK_EC = false
[09:57:29] EC_EN = false
[09:57:29] EC_RSMRST_N = false
[09:57:29] DD_ON = false
[09:57:29] VA_EC_EN = false
[09:57:29] PCH_DPWROK_EC = false
[09:57:29] POWER_STATE_OFF