Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kernel upgrade broke system76 and system76-acpi modules until manual rebuild #319

Closed
nerdboy4200 opened this issue May 26, 2024 · 6 comments

Comments

@nerdboy4200
Copy link

nerdboy4200 commented May 26, 2024

After upgrading my kernel to the latest 6.8 kernel - modules system76 and system76-acpi did not run - this issue was resolved by a reinstall of the 2 packages that contain those.

The actual error in the kernel log was:

May 25 13:51:40 lagos kernel: system76: disagrees about version of symbol led_classdev_unregister
May 25 13:51:40 lagos kernel: system76: Unknown symbol led_classdev_unregister (err -22)
May 25 13:51:40 lagos kernel: system76: disagrees about version of symbol led_classdev_notify_brightness_hw_changed
May 25 13:51:40 lagos kernel: system76: Unknown symbol led_classdev_notify_brightness_hw_changed (err -22)
May 25 13:51:40 lagos kernel: system76: disagrees about version of symbol led_classdev_register_ext
May 25 13:51:40 lagos kernel: system76: Unknown symbol led_classdev_register_ext (err -22)
...
May 25 13:51:40 lagos kernel: system76_acpi: disagrees about version of symbol led_classdev_notify_brightness_hw_changed
May 25 13:51:40 lagos kernel: system76_acpi: Unknown symbol led_classdev_notify_brightness_hw_changed (err -22)
May 25 13:51:40 lagos kernel: system76_acpi: disagrees about version of symbol devm_led_classdev_unregister
May 25 13:51:40 lagos kernel: system76_acpi: Unknown symbol devm_led_classdev_unregister (err -22)
May 25 13:51:40 lagos kernel: system76_acpi: disagrees about version of symbol devm_led_classdev_register_ext
May 25 13:51:40 lagos kernel: system76_acpi: Unknown symbol devm_led_classdev_register_ext (err -22)
May 25 13:51:40 lagos kernel: system76_acpi: disagrees about version of symbol battery_hook_register
May 25 13:51:40 lagos kernel: system76_acpi: Unknown symbol battery_hook_register (err -22)
May 25 13:51:40 lagos kernel: system76_acpi: disagrees about version of symbol battery_hook_unregister
May 25 13:51:40 lagos kernel: system76_acpi: Unknown symbol battery_hook_unregister (err -22)
May 25 13:51:40 lagos kernel: system76: disagrees about version of symbol led_classdev_unregister
May 25 13:51:40 lagos kernel: system76: Unknown symbol led_classdev_unregister (err -22)
May 25 13:51:40 lagos kernel: system76: disagrees about version of symbol led_classdev_notify_brightness_hw_changed
May 25 13:51:40 lagos kernel: system76: Unknown symbol led_classdev_notify_brightness_hw_changed (err -22)
May 25 13:51:40 lagos kernel: system76: disagrees about version of symbol led_classdev_register_ext
May 25 13:51:40 lagos kernel: system76: Unknown symbol led_classdev_register_ext (err -22)

It appears that the upgrade from history log was:

linux-headers-6.8.0-76060800daily20240311-generic:amd64 (6.8.0-76060800daily20240311.202403110203~1714077665~22.04~4c8e9a0, 6.8.0-76060800daily20240311.202403110203~1715181801~22.04~aba43ee)

This appears to have happened possibly due to at least b57f055 causing a difference in the led structure used - which broke the signature of the function (my guess). Based on the terminal log from apt - it appears that we might not have rebuilt the system76-acpi and system76 driver because the versions were the same - so it didn't need to rebuild. Luckily - this did not break the nvidia modules (the system I run is a kudu6) because they do not appear to use the associated structures.

I belive this is the proper place for this bug report because the issue was caused more likely by the kernel upgrade than the modules themselves - since I think the issue is that the version difference due to headers was more of the cause than the modules themselves.

Let me know if you need my apt logs if you want to look at the full information.

@nerdboy4200
Copy link
Author

I should note that reverting the revert is not the issue - I think the issue is more that the change when pushed out did not force the module to possibly rebuild properly - either due to the header not triggering a dependency rebuild or ???

@crawfxrd
Copy link
Member

Module rebuilds can be triggered by reinstalling the packages:

sudo apt install --reinstall system76-dkms system76-acpi-dkms

Or manually using DKMS (check dkms status for actual version):

sudo dkms uninstall system76/1.0.15~1711484415~22.04~1662a71
sudo dkms install system76/1.0.15~1711484415~22.04~1662a71

sudo dkms uninstall system76_acpi/1.0.2~1716558197~22.04~a2020c4
sudo dkms install system76_acpi/1.0.2~1716558197~22.04~a2020c4

@LucaspBaum
Copy link

I was facing the same problem, but it just came back to normal. I tried the command @crawfxrd suggested, rebooted the system and then let it in rest mode for a while. When I came back it was back to normal.

@nerdboy4200
Copy link
Author

I did a package reinstall and that took care of it (after doing a full power cycle afterwards just to be sure everything cleared out).

@leviport
Copy link
Member

leviport commented Jun 7, 2024

I think the DKMS update triggered rebuilds for most users, so I'm going to close this for now. If there are any further reports, we can reopen.

@leviport leviport closed this as completed Jun 7, 2024
mmstick pushed a commit that referenced this issue Jul 6, 2024
[ Upstream commit 8ecf3c1 ]

Recent additions in BPF like cpu v4 instructions, test_bpf module
exhibits the following failures:

  test_bpf: #82 ALU_MOVSX | BPF_B jited:1 ret 2 != 1 (0x2 != 0x1)FAIL (1 times)
  test_bpf: #83 ALU_MOVSX | BPF_H jited:1 ret 2 != 1 (0x2 != 0x1)FAIL (1 times)
  test_bpf: #84 ALU64_MOVSX | BPF_B jited:1 ret 2 != 1 (0x2 != 0x1)FAIL (1 times)
  test_bpf: #85 ALU64_MOVSX | BPF_H jited:1 ret 2 != 1 (0x2 != 0x1)FAIL (1 times)
  test_bpf: #86 ALU64_MOVSX | BPF_W jited:1 ret 2 != 1 (0x2 != 0x1)FAIL (1 times)

  test_bpf: #165 ALU_SDIV_X: -6 / 2 = -3 jited:1 ret 2147483645 != -3 (0x7ffffffd != 0xfffffffd)FAIL (1 times)
  test_bpf: #166 ALU_SDIV_K: -6 / 2 = -3 jited:1 ret 2147483645 != -3 (0x7ffffffd != 0xfffffffd)FAIL (1 times)

  test_bpf: #169 ALU_SMOD_X: -7 % 2 = -1 jited:1 ret 1 != -1 (0x1 != 0xffffffff)FAIL (1 times)
  test_bpf: #170 ALU_SMOD_K: -7 % 2 = -1 jited:1 ret 1 != -1 (0x1 != 0xffffffff)FAIL (1 times)

  test_bpf: #172 ALU64_SMOD_K: -7 % 2 = -1 jited:1 ret 1 != -1 (0x1 != 0xffffffff)FAIL (1 times)

  test_bpf: #313 BSWAP 16: 0x0123456789abcdef -> 0xefcd
  eBPF filter opcode 00d7 (@2) unsupported
  jited:0 301 PASS
  test_bpf: #314 BSWAP 32: 0x0123456789abcdef -> 0xefcdab89
  eBPF filter opcode 00d7 (@2) unsupported
  jited:0 555 PASS
  test_bpf: #315 BSWAP 64: 0x0123456789abcdef -> 0x67452301
  eBPF filter opcode 00d7 (@2) unsupported
  jited:0 268 PASS
  test_bpf: #316 BSWAP 64: 0x0123456789abcdef >> 32 -> 0xefcdab89
  eBPF filter opcode 00d7 (@2) unsupported
  jited:0 269 PASS
  test_bpf: #317 BSWAP 16: 0xfedcba9876543210 -> 0x1032
  eBPF filter opcode 00d7 (@2) unsupported
  jited:0 460 PASS
  test_bpf: #318 BSWAP 32: 0xfedcba9876543210 -> 0x10325476
  eBPF filter opcode 00d7 (@2) unsupported
  jited:0 320 PASS
  test_bpf: #319 BSWAP 64: 0xfedcba9876543210 -> 0x98badcfe
  eBPF filter opcode 00d7 (@2) unsupported
  jited:0 222 PASS
  test_bpf: #320 BSWAP 64: 0xfedcba9876543210 >> 32 -> 0x10325476
  eBPF filter opcode 00d7 (@2) unsupported
  jited:0 273 PASS

  test_bpf: torvalds#344 BPF_LDX_MEMSX | BPF_B
  eBPF filter opcode 0091 (@5) unsupported
  jited:0 432 PASS
  test_bpf: torvalds#345 BPF_LDX_MEMSX | BPF_H
  eBPF filter opcode 0089 (@5) unsupported
  jited:0 381 PASS
  test_bpf: torvalds#346 BPF_LDX_MEMSX | BPF_W
  eBPF filter opcode 0081 (@5) unsupported
  jited:0 505 PASS

  test_bpf: torvalds#490 JMP32_JA: Unconditional jump: if (true) return 1
  eBPF filter opcode 0006 (@1) unsupported
  jited:0 261 PASS

  test_bpf: Summary: 1040 PASSED, 10 FAILED, [924/1038 JIT'ed]

Fix them by adding missing processing.

Fixes: daabb2b ("bpf/tests: add tests for cpuv4 instructions")
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/91de862dda99d170697eb79ffb478678af7e0b27.1709652689.git.christophe.leroy@csgroup.eu
Signed-off-by: Sasha Levin <sashal@kernel.org>
@eric-usca
Copy link

I am still seeing:

$ sudo system76-power charge-thresholds
org.freedesktop.DBus.Error.Failed: Not running System76 firmware with charge threshold support

after reinstalling system76-dkms and system76-acpi-dkms, and reboot

$ sudo apt install --reinstall system76-dkms system76-acpi-dkms

I like to get charge-thresholds working again. I am not sure how to figure what the issue could be. I very much appreciate any help or suggestion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants