intel / Intel-Linux-Processor-Microcode-Data-Files

Other
620 stars 68 forks source link

i7-8665U: Linux often freezes at beginning of start when on battery #48

Open paulmenzel opened 3 years ago

paulmenzel commented 3 years ago

(No idea, if related to https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/issues/35, so I split it out.)

On a Dell Precision 3540/0M14W7, BIOS 1.9.1 07/06/2020, being on battery (power cable not plugged in) Linux often freezes when loaded from GRUB. GRUB’s loading initrd status message is the last thing visible. The LUKS passphrase dialog does not appear.

In our case, plugging in the power cable or starting with maxcpus=1 fixes the issue. But starting with maxcpus=1, and bringing CPUs online in GNU/Linux still sometimes causes freezes after one or two CPUs.

$ lscpu
Architecture:                    x86_64
CPU op-mode(s):                  32-bit, 64-bit
Byte Order:                      Little Endian
Address sizes:                   39 bits physical, 48 bits virtual
CPU(s):                          8
On-line CPU(s) list:             0-7
Thread(s) per core:              2
Core(s) per socket:              4
Socket(s):                       1
NUMA node(s):                    1
Vendor ID:                       GenuineIntel
CPU family:                      6
Model:                           142
Model name:                      Intel(R) Core(TM) i7-8665U CPU @ 1.90GHz
Stepping:                        12
CPU MHz:                         998.859
CPU max MHz:                     4800.0000
CPU min MHz:                     400.0000
BogoMIPS:                        4199.88
Virtualization:                  VT-x
L1d cache:                       128 KiB
L1i cache:                       128 KiB
L2 cache:                        1 MiB
L3 cache:                        8 MiB
NUMA node0 CPU(s):               0-7
Vulnerability Itlb multihit:     KVM: Mitigation: VMX disabled
Vulnerability L1tf:              Not affected
Vulnerability Mds:               Not affected
Vulnerability Meltdown:          Not affected
Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl and seccomp
Vulnerability Spectre v1:        Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2:        Mitigation; Enhanced IBRS, IBPB conditional, RSB filling
Vulnerability Srbds:             Mitigation; TSX disabled
Vulnerability Tsx async abort:   Mitigation; TSX disabled
Flags:                           fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm p
                                 be syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aper
                                 fmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic mo
                                 vbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single ssbd
                                  ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 e
                                 rms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_no
                                 tify hwp_act_window hwp_epp md_clear flush_l1d arch_capabilities

Unforutnately, no new microcode updates are shipped in the latest Intel release, intel-microcode 3.20201110.1, so it’d be great if after several months this was looked at.

paulmenzel commented 3 years ago

This happens with microcode: sig=0x806ec, pf=0x80, revision=0xd6 and revision 0xde (already applied in firmware).

whpenner commented 3 years ago

Is this still an issue?

AnotherSoul commented 2 years ago

Hello I am in the same situation and this is still an issue. It sometimes even hangs the same way when plugged, but it's systematic on battery. Dell Latitude 7400 for me, with i7-8665U CPU, on Arch, with microcode package version 20210608-1.

Architecture :                              x86_64
  Mode(s) opératoire(s) des processeurs :   32-bit, 64-bit
  Tailles des adresses:                     39 bits physical, 48 bits virtual
  Boutisme :                                Little Endian
Processeur(s) :                             8
  Liste de processeur(s) en ligne :         0-7
Identifiant constructeur :                  GenuineIntel
  Nom de modèle :                           Intel(R) Core(TM) i7-8665U CPU @ 1.90GHz
    Famille de processeur :                 6
    Modèle :                                142
    Thread(s) par cœur :                    2
    Cœur(s) par socket :                    4
    Socket(s) :                             1
    Révision :                              12
    Vitesse maximale du processeur en MHz : 4800,0000
    Vitesse minimale du processeur en MHz : 400,0000
    BogoMIPS :                              4201.88
    Drapeaux :                              fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp 
                                            lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2
                                             ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid
                                            _fault epb invpcid_single ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 
                                            erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp 
                                            md_clear flush_l1d arch_capabilities
Fonctionnalités de virtualisation :         
  Virtualisation :                          VT-x
Caches (somme de toutes) :                  
  L1d :                                     128 KiB (4 instances)
  L1i :                                     128 KiB (4 instances)
  L2 :                                      1 MiB (4 instances)
  L3 :                                      8 MiB (1 instance)
NUMA :                                      
  Nœud(s) NUMA :                            1
  Nœud NUMA 0 de processeur(s) :            0-7
Vulnérabilités :                            
  Itlb multihit :                           KVM: Mitigation: VMX disabled
  L1tf :                                    Not affected
  Mds :                                     Not affected
  Meltdown :                                Not affected
  Spec store bypass :                       Mitigation; Speculative Store Bypass disabled via prctl and seccomp
  Spectre v1 :                              Mitigation; usercopy/swapgs barriers and __user pointer sanitization
  Spectre v2 :                              Mitigation; Enhanced IBRS, IBPB conditional, RSB filling
  Srbds :                                   Mitigation; TSX disabled
  Tsx async abort :                         Mitigation; TSX disabled

Regards

paulmenzel commented 2 years ago

Hello I am in the same situation and this is still an issue. It sometimes even hangs the same way when plugged, but it's systematic on battery.

Hmm, if it freezes, while being plugged to the power grid, it might be a different issue.

Dell Latitude 7400 for me, with i7-8665U CPU, on Arch, with microcode package version 20210608-1.

For completeness, please tell us your firmware version (sudo dmesg | grep DMI:).

AnotherSoul commented 2 years ago

Here's the result: [ 0.000000] DMI: Dell Inc. Latitude 7400/07WDVW, BIOS 1.7.4 05/11/2020

(I also added lscpu on my previous post)

There are three different situations:

I've had this laptop for almost one year now, running on Arch, and as long as I remember the issue was always there.

AnotherSoul commented 2 years ago

I see there's a way more recent BIOS for the laptop, I'll try upgrading - it's just almost impossible on Linux, Windows is needed x_x

BachoSeven commented 2 years ago

@LeBlondTenebreux I mean, you usually can just easily flash updated BIOS versions from an USB drive through an interface contained in the BIOS

AnotherSoul commented 2 years ago

@LeBlondTenebreux I mean, you usually can just easily flash updated BIOS versions from an USB drive through an interface contained in the BIOS

Yes, I just discovered that the UEFI BIOS updater is able to deal with .exe :) It's on its way :)

paulmenzel commented 2 years ago

LVFS with fwupd is well supported for Dell devices.

$ fwupdmgr refresh
$ fwupdmgr update
paulmenzel commented 2 years ago

(Or use the software application in your desktop environment like GNOME Software.)

AnotherSoul commented 2 years ago

Well upgrading BIOS seems to have solved my issue. Thank you very much (ans sorry for taking so much time).

paulmenzel commented 2 years ago

For posterity, please tell us what version you updated to.

AnotherSoul commented 2 years ago

Sure! Version 1.13.0 (30/07/2021)

hmh commented 2 years ago

And which version is the ucode in that BIOS? "journalctl -kb | head" should tell you if Linux updated the microcode or not (it would be in the first line), and "cat /proc/cpuinfo | grep microcode" would tell you the current microcode.

AnotherSoul commented 2 years ago

Here's journalctl -kb | head

-- Journal begins at Tue 2020-09-15 12:24:51 CEST, ends at Mon 2021-08-23 08:50:22 CEST. --
août 23 08:43:28 info-dev-portable kernel: Linux version 5.13.10-arch1-1 (linux@archlinux) (gcc (GCC) 11.1.0, GNU ld (GNU Binutils) 2.36.1) #1 SMP PREEMPT Thu, 12 Aug 2021 21:59:14 +0000
août 23 08:43:28 info-dev-portable kernel: Command line: BOOT_IMAGE=/EFI/arch/vmlinuz-linux root=UUID=59e2eade-c94e-44fc-848d-68ecde0312ce rw loglevel=3 quiet
août 23 08:43:28 info-dev-portable kernel: x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'
août 23 08:43:28 info-dev-portable kernel: x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'
août 23 08:43:28 info-dev-portable kernel: x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'
août 23 08:43:28 info-dev-portable kernel: x86/fpu: Supporting XSAVE feature 0x008: 'MPX bounds registers'
août 23 08:43:28 info-dev-portable kernel: x86/fpu: Supporting XSAVE feature 0x010: 'MPX CSR'
août 23 08:43:28 info-dev-portable kernel: x86/fpu: xstate_offset[2]:  576, xstate_sizes[2]:  256
août 23 08:43:28 info-dev-portable kernel: x86/fpu: xstate_offset[3]:  832, xstate_sizes[3]:   64

and cat /proc/cpuinfo | grep microcode

microcode   : 0xea
microcode   : 0xea
microcode   : 0xea
microcode   : 0xea
microcode   : 0xea
microcode   : 0xea
microcode   : 0xea
microcode   : 0xea
AnotherSoul commented 2 years ago

I assume journalctl -k --grep=microcode will also give pertinent information :

-- Journal begins at Tue 2020-09-15 12:24:51 CEST, ends at Mon 2021-08-23 14:21:46 CEST. --
août 23 08:43:28 info-dev-portable kernel: microcode: sig=0x806ec, pf=0x80, revision=0xea
août 23 08:43:28 info-dev-portable kernel: microcode: Microcode Update Driver: v2.2.
hmh commented 2 years ago

@LeBlondTenebreux Yeah, it does. Your new firmware has the lastest microcode, so it basically sidesteps the whole issue since no Linux-provided microcode update takes place...

Thank you for the report!