[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
03.19

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:

2 Likes

Exactly, did it for me too. Thankfully it’s not too difficult to open the case and remove/reconnect the motherboard battery.

1 Like

This exactly matches the symptoms I’ve seen on three different laptops, all Framework Laptop 13 AMD Ryzen 5 7640U running Ubuntu 24.04. On my personal laptop, it has happened 5 or 6 times in 8 months–kworker processes consume huge amounts of CPU, reboot fixes it, and it seems to always begin immediately after using the fingerprint reader. I have not yet had a chance to try sudo modprobe -r xhci_pci but I do know that, when in the problematic state, resetting the device via sudo usb_modeswitch -v 27c6 -p 609c -R fails.

My firware is the latest available, including the touchpad:

$ fwupdmgr get-devices 1e8c8470-a49c-571a-82fd-19c9fa32b8c3
Selected device: Fingerprint Sensor
Framework Laptop 13 (AMD Ryzen 7040Series)
│
└─Fingerprint Sensor:
      Device ID:          23ec719b6aabc2d2dac5176c232f0da7a21881b0
      Summary:            Match-On-Chip fingerprint sensor
      Current version:    01000334
      Vendor:             Goodix (USB:0x27C6)
      Install Duration:   10 seconds
      Serial Number:      UIDF37958A6_XXXX_MOC_B0
      GUID:               1e8c8470-a49c-571a-82fd-19c9fa32b8c3 ← USB\VID_27C6&PID_609C
      Device Flags:       • Updatable
                          • Supported on remote server
                          • Device stages updates
                          • Device can recover flash failures
                          • Signed Payload

I’m currently on Linux kernel 6.8.0-52-generic #53-Ubuntu SMP PREEMPT_DYNAMIC.

1 Like

I had this issue again today and found fprintd[1203796]: segfault in syslog very near the time the problem began. Here are the lines that seemed relivant:

2025-02-13T21:13:12.614908+01:00 localhost dbus-daemon[1666]: [system] Activating via systemd: service name='net.reactivated.Fprint' unit='fprintd.service' requested by ':1.556' (uid=0 pid=1203795 comm="sudo modprobe -r xhci_pci" label="unconfined")
2025-02-13T21:13:12.640650+01:00 localhost systemd[1]: Starting fprintd.service - Fingerprint Authentication Daemon...
2025-02-13T21:13:13.055572+01:00 localhost dbus-daemon[1666]: [system] Successfully activated service 'net.reactivated.Fprint'
2025-02-13T21:13:13.055780+01:00 localhost systemd[1]: Started fprintd.service - Fingerprint Authentication Daemon.
2025-02-13T21:13:15.976115+01:00 localhost kernel: fprintd[1203796]: segfault at 0 ip 000079371d3d3b8e sp 00007ffe4bb3b050 error 4 in libfprint-2.so.2.0.0[79371d3a7000+4f000] likely on CPU 4 (core 2, socket 0)
2025-02-13T21:13:15.976116+01:00 localhost kernel: Code: 48 c7 45 e0 00 00 00 00 eb bd e8 dd 60 fd ff 66 66 2e 0f 1f 84 00 00 00 00 00 66 90 f3 0f 1e fa 55 48 89 e5 41 54 49 89 d4 53 <0f> b6 0e 48 89 fb 84 c9 78 18 c7 43 78 00 00 00 00 4c 89 e6 48 89
2025-02-13T21:13:17.418843+01:00 localhost systemd[1]: fprintd.service: Main process exited, code=dumped, status=11/SEGV
2025-02-13T21:13:17.419096+01:00 localhost systemd[1]: fprintd.service: Failed with result 'core-dump'.
2025-02-13T21:13:17.557641+01:00 localhost update-notifier-crash[1204056]: fprintd

By the way, sudo modprobe -r xhci_pci didn’t seem to do anything. I had to reboot, as usual.

Here is the full section:

2025-02-13T21:13:12.614908+01:00 localhost dbus-daemon[1666]: [system] Activating via systemd: service name='net.reactivated.Fprint' unit='fprintd.service' requested by ':1.556' (uid=0 pid=1203795 comm="sudo modprobe -r xhci_pci" label="unconfined")
2025-02-13T21:13:12.640650+01:00 localhost systemd[1]: Starting fprintd.service - Fingerprint Authentication Daemon...
2025-02-13T21:13:12.700100+01:00 localhost kernel: audit: type=1107 audit(1739477592.697:2174): pid=1666 uid=101 auid=4294967295 ses=4294967295 subj=unconfined msg='apparmor="DENIED" operation="dbus_signal"  bus="system" path="/org/freedesktop/login1" interface="org.freedesktop.DBus.Properties" member="PropertiesChanged" name=":1.14" mask="receive" pid=74035 label="snap.thunderbird.thunderbird" peer_pid=1726 peer_label="unconfined"
2025-02-13T21:13:12.700111+01:00 localhost kernel:  exe="/usr/bin/dbus-daemon" sauid=101 hostname=? addr=? terminal=?'
2025-02-13T21:13:12.911098+01:00 localhost kernel: usb 1-4: reset full-speed USB device number 3 using xhci_hcd
2025-02-13T21:13:13.055572+01:00 localhost dbus-daemon[1666]: [system] Successfully activated service 'net.reactivated.Fprint'
2025-02-13T21:13:13.055780+01:00 localhost systemd[1]: Started fprintd.service - Fingerprint Authentication Daemon.
2025-02-13T21:13:13.174149+01:00 localhost kernel: usb 1-4: reset full-speed USB device number 3 using xhci_hcd
2025-02-13T21:13:15.832123+01:00 localhost kernel: xhci_hcd 0000:c3:00.3: remove, state 4
2025-02-13T21:13:15.832138+01:00 localhost kernel: usb usb8: USB disconnect, device number 1
2025-02-13T21:13:15.832140+01:00 localhost kernel: xhci_hcd 0000:c3:00.3: USB bus 8 deregistered
2025-02-13T21:13:15.833091+01:00 localhost kernel: xhci_hcd 0000:c3:00.3: remove, state 4
2025-02-13T21:13:15.833105+01:00 localhost kernel: usb usb7: USB disconnect, device number 1
2025-02-13T21:13:15.833107+01:00 localhost kernel: xhci_hcd 0000:c3:00.3: USB bus 7 deregistered
2025-02-13T21:13:15.913097+01:00 localhost kernel: xhci_hcd 0000:c3:00.4: remove, state 4
2025-02-13T21:13:15.913113+01:00 localhost kernel: usb usb6: USB disconnect, device number 1
2025-02-13T21:13:15.913115+01:00 localhost kernel: xhci_hcd 0000:c3:00.4: USB bus 6 deregistered
2025-02-13T21:13:15.914086+01:00 localhost kernel: xhci_hcd 0000:c3:00.4: remove, state 4
2025-02-13T21:13:15.914090+01:00 localhost kernel: usb usb5: USB disconnect, device number 1
2025-02-13T21:13:15.915084+01:00 localhost kernel: xhci_hcd 0000:c3:00.4: USB bus 5 deregistered
2025-02-13T21:13:15.952107+01:00 localhost kernel: xhci_hcd 0000:c1:00.4: remove, state 4
2025-02-13T21:13:15.952123+01:00 localhost kernel: usb usb4: USB disconnect, device number 1
2025-02-13T21:13:15.952125+01:00 localhost kernel: xhci_hcd 0000:c1:00.4: USB bus 4 deregistered
2025-02-13T21:13:15.952127+01:00 localhost kernel: xhci_hcd 0000:c1:00.4: remove, state 4
2025-02-13T21:13:15.952128+01:00 localhost kernel: usb usb3: USB disconnect, device number 1
2025-02-13T21:13:15.952129+01:00 localhost kernel: usb 3-1: USB disconnect, device number 2
2025-02-13T21:13:15.956095+01:00 localhost kernel: xhci_hcd 0000:c1:00.4: USB bus 3 deregistered
2025-02-13T21:13:15.956118+01:00 localhost kernel: xhci_hcd 0000:c1:00.3: remove, state 4
2025-02-13T21:13:15.956119+01:00 localhost kernel: usb usb2: USB disconnect, device number 1
2025-02-13T21:13:15.957079+01:00 localhost kernel: xhci_hcd 0000:c1:00.3: USB bus 2 deregistered
2025-02-13T21:13:15.957087+01:00 localhost kernel: xhci_hcd 0000:c1:00.3: remove, state 1
2025-02-13T21:13:15.957088+01:00 localhost kernel: usb usb1: USB disconnect, device number 1
2025-02-13T21:13:15.957089+01:00 localhost kernel: usb 1-1: USB disconnect, device number 2
2025-02-13T21:13:15.976099+01:00 localhost kernel: usb 1-4: USB disconnect, device number 3
2025-02-13T21:13:15.976115+01:00 localhost kernel: usb 1-5: USB disconnect, device number 4
2025-02-13T21:13:15.976115+01:00 localhost kernel: fprintd[1203796]: segfault at 0 ip 000079371d3d3b8e sp 00007ffe4bb3b050 error 4 in libfprint-2.so.2.0.0[79371d3a7000+4f000] likely on CPU 4 (core 2, socket 0)
2025-02-13T21:13:15.976116+01:00 localhost kernel: Code: 48 c7 45 e0 00 00 00 00 eb bd e8 dd 60 fd ff 66 66 2e 0f 1f 84 00 00 00 00 00 66 90 f3 0f 1e fa 55 48 89 e5 41 54 49 89 d4 53 <0f> b6 0e 48 89 fb 84 c9 78 18 c7 43 78 00 00 00 00 4c 89 e6 48 89
2025-02-13T21:13:15.976500+01:00 localhost bluetoothd[1664]: src/profile.c:ext_io_disconnected() Unable to get io data for Hands-Free Voice gateway: getpeername: Transport endpoint is not connected (107)
2025-02-13T21:13:15.979047+01:00 localhost gsd-media-keys[3121]: Unable to get default source
2025-02-13T21:13:15.979186+01:00 localhost gsd-media-keys[3121]: Unable to get default sink
2025-02-13T21:13:15.989540+01:00 localhost bluetoothd[1664]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSource/ldac
2025-02-13T21:13:15.989621+01:00 localhost bluetoothd[1664]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSink/aptx_hd
2025-02-13T21:13:15.989642+01:00 localhost bluetoothd[1664]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSource/aptx_hd
2025-02-13T21:13:15.989663+01:00 localhost bluetoothd[1664]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSink/aptx
2025-02-13T21:13:15.989876+01:00 localhost bluetoothd[1664]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSource/aptx
2025-02-13T21:13:15.989916+01:00 localhost bluetoothd[1664]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSink/sbc
2025-02-13T21:13:15.990068+01:00 localhost bluetoothd[1664]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSource/sbc
2025-02-13T21:13:15.990098+01:00 localhost bluetoothd[1664]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSink/sbc_xq
2025-02-13T21:13:15.990135+01:00 localhost bluetoothd[1664]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSource/sbc_xq
2025-02-13T21:13:15.990163+01:00 localhost bluetoothd[1664]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSource/aptx_ll_1
2025-02-13T21:13:15.990184+01:00 localhost bluetoothd[1664]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSource/aptx_ll_0
2025-02-13T21:13:15.990226+01:00 localhost bluetoothd[1664]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSource/aptx_ll_duplex_1
2025-02-13T21:13:15.990272+01:00 localhost bluetoothd[1664]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSource/aptx_ll_duplex_0
2025-02-13T21:13:15.990310+01:00 localhost bluetoothd[1664]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSource/faststream
2025-02-13T21:13:15.990333+01:00 localhost bluetoothd[1664]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSource/faststream_duplex
2025-02-13T21:13:15.990355+01:00 localhost bluetoothd[1664]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSink/opus_05
2025-02-13T21:13:15.990394+01:00 localhost bluetoothd[1664]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSource/opus_05
2025-02-13T21:13:15.990411+01:00 localhost bluetoothd[1664]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSink/opus_05_duplex
2025-02-13T21:13:15.990456+01:00 localhost bluetoothd[1664]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSource/opus_05_duplex
2025-02-13T21:13:15.991778+01:00 localhost systemd[2483]: Stopped target bluetooth.target - Bluetooth.
2025-02-13T21:13:15.993879+01:00 localhost bluetoothd[1664]: Battery Provider Manager destroyed
2025-02-13T21:13:15.994086+01:00 localhost kernel: xhci_hcd 0000:c1:00.3: USB bus 1 deregistered
2025-02-13T21:13:16.002885+01:00 localhost systemd[1]: Starting systemd-rfkill.service - Load/Save RF Kill Switch Status...
2025-02-13T21:13:16.003317+01:00 localhost systemd[1]: Stopped target bluetooth.target - Bluetooth Support.
2025-02-13T21:13:16.006147+01:00 localhost systemd[1]: Started systemd-rfkill.service - Load/Save RF Kill Switch Status.
2025-02-13T21:13:16.265572+01:00 localhost systemd[2483]: Starting update-notifier-crash.service - Notification regarding a crash report...
2025-02-13T21:13:16.265747+01:00 localhost systemd[1]: Started whoopsie.service - crash report submission.
2025-02-13T21:13:16.278485+01:00 localhost update-notifier-crash[1203966]: /usr/bin/whoopsie
2025-02-13T21:13:16.292269+01:00 localhost whoopsie[1203963]: [21:13:16] Using lock path: /var/lock/whoopsie/lock
2025-02-13T21:13:16.294647+01:00 localhost systemd[1]: whoopsie.service: Deactivated successfully.
2025-02-13T21:13:16.429760+01:00 localhost systemd[2483]: Finished update-notifier-crash.service - Notification regarding a crash report.
2025-02-13T21:13:17.404735+01:00 localhost systemd[2483]: Starting update-notifier-crash.service - Notification regarding a crash report...
2025-02-13T21:13:17.406079+01:00 localhost systemd[1]: Started whoopsie.service - crash report submission.
2025-02-13T21:13:17.406680+01:00 localhost update-notifier-crash[1204049]: /usr/bin/whoopsie
2025-02-13T21:13:17.418181+01:00 localhost kernel: audit: type=1107 audit(1739477597.416:2175): pid=1666 uid=101 auid=4294967295 ses=4294967295 subj=unconfined msg='apparmor="DENIED" operation="dbus_signal"  bus="system" path="/org/freedesktop/login1" interface="org.freedesktop.DBus.Properties" member="PropertiesChanged" name=":1.14" mask="receive" pid=74035 label="snap.thunderbird.thunderbird" peer_pid=1726 peer_label="unconfined"
2025-02-13T21:13:17.418253+01:00 localhost kernel:  exe="/usr/bin/dbus-daemon" sauid=101 hostname=? addr=? terminal=?'
2025-02-13T21:13:17.418843+01:00 localhost systemd[1]: fprintd.service: Main process exited, code=dumped, status=11/SEGV
2025-02-13T21:13:17.419042+01:00 localhost whoopsie[1204048]: [21:13:17] Using lock path: /var/lock/whoopsie/lock
2025-02-13T21:13:17.419096+01:00 localhost systemd[1]: fprintd.service: Failed with result 'core-dump'.
2025-02-13T21:13:17.557641+01:00 localhost update-notifier-crash[1204056]: fprintd
2025-02-13T21:13:17.668745+01:00 localhost systemd[1]: whoopsie.service: Deactivated successfully.