[RESPONDED] Linux: kworker/n:n+pm using lots of CPU in both Ubuntu and Pop!_OS

This is a weird one since it happens in different linux and kernel versions. Last night my fan spun up on my framework and I figured it was just a back-up running or something, but today I heard it still going, and even after rebooting into different kernel versions and OS it still is running pretty warm (CPU ~75°C). Running top and it’s always kworker/n:n+pm using the most CPU.

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
  24454 root      20   0       0      0      0 R  87.7   0.0   4:59.36 kworker/5:1+pm
  • Which OS (Operating System)? Pop!_OS and Ubuntu
  • Which release of your OS (Operating System / Windows 10, 11, Distribution of Linux)? 6.6.10, 6.8.0, and 6.8.1
  • Which Framework laptop (11th, 12th or 13th generation Framework laptop) are you asking for support with? 11th gen
  • If this is a Linux issue, please use the Linux tag or at least put Linux in the title.
  • If there is no information pertaining to your issue or question, please let us know here: Framework | Support Framework | Support

This command seems to fix it:
sudo modprobe -r xhci_pci

Fan has spun down and it’s no longer burning my arm when I hold it! :smile:

Unfortunately this seems to have disabled the fingerprint reader. I wonder if the fingerprint reader was causing the issue to begin with?

Odd behavior, does kworker goes back top when rebooted?

also check fprintd-list
to see if enrolled fingerprint is really gone.

Does this occur when you boot a live CD ?

@Loell_Framework Yeah it ramps up on every reboot.

❯ fprintd-list travis
No devices available

❯ sudo service fprintd status
● fprintd.service - Fingerprint Authentication Daemon
     Loaded: loaded (/lib/systemd/system/fprintd.service; static)
     Active: active (running) since Tue 2024-04-16 19:13:14 EDT; 9s ago
       Docs: man:fprintd(1)
   Main PID: 313978 (fprintd)
      Tasks: 5 (limit: 18836)
     Memory: 2.4M
        CPU: 52ms
     CGroup: /system.slice/fprintd.service
             └─313978 /usr/libexec/fprintd

Apr 16 19:13:14 pop-os systemd[1]: Starting Fingerprint Authentication Daemon...
Apr 16 19:13:14 pop-os systemd[1]: Started Fingerprint Authentication Daemon.

@tom_chiverton I don’t have a live CD handy at the moment but it does happen in the recovery partition.

Have you followed the steps in the Linux guide, such as upgrading the fingerprint BIOS or the beta firmware itself?

Just trying to get a handle on what you might already have done.

A live CD/USB of a Framework supported Linux would rule out a lot of things.

OK, I am booted up into a live USB of Ubuntu 22.04 and didn’t even need to connect to wifi to see it happen:

I believe I have the latest version of the bios for 11th gen intel:

$ sudo dmidecode -s bios-version

Fingerprint bios info:

❯ fwupdmgr get-devices 1e8c8470-a49c-571a-82fd-19c9fa32b8c3
Selected device: Fingerprint Sensor
Framework Laptop
└─Fingerprint Sensor:
      Device ID:          4295296d98b3ba38c72f6baa33d24f03a1d428f6
      Summary:            Match-On-Chip fingerprint sensor
      Current version:    01000248
      Vendor:             Goodix (USB:0x27C6)
      Install Duration:   10 seconds
      Serial Number:      UIDF22ABE36_XXXX_MOC_B0
      GUID:               1e8c8470-a49c-571a-82fd-19c9fa32b8c3 ← USB\VID_27C6&PID_609C
      Device Flags:       • Updatable
                          • Device can recover flash failures
                          • Signed Payload

ok, so fingerprint sensor is found on the live image and does same workaround apply on Ubuntu live?

Yeah, same workaround also works on live image. But after running workaround the fingerprint sensor is no longer visible.

Have you tried reverting to 6.5.x kernels? Curios if behavior is present there.

Hmm, I haven’t tried that, but it’s definitely worth a shot. I also saw that it went away for someone when they removed their battery and reinserted it, I have no idea why that would work but I’ll give it a try just in case.

Well as bizarre as it sounds, opening it up, disconnecting and reconnecting the battery seems to have fixed it. :thinking:

1 Like