gnif / vendor-reset

Linux kernel vendor specific hardware reset module for sequences that are too complex/complicated to land in pci_quirks.c
GNU General Public License v2.0
764 stars 65 forks source link

Vendor-reset no longer working with Ubuntu 24.04 and Linux kernel 6.8.0-41 #83

Closed KevinMoorman closed 1 month ago

KevinMoorman commented 2 months ago

Vendor-reset no longer working with Ubuntu 24.04 and Linux kernel 6.8.0-41. MSI B350 PC-Mate motherboard with Ryzen 3800, nVidia 1050TI for Host and Vega56 for passthrough to Guest.

uname -a Linux Ubuntu 6.8.0-41-generic #41-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 2 20:41:06 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

sudo grep -E 'CONFIG_FTRACE|CONFIG_KPROBES|CONFIG_PCI_QUIRKS|CONFIG_KALLSYMS|CONFIG_KALLSYMS_ALL|CONFIG_FUNCTION_TRACER' /boot/config-$(uname -r) CONFIG_KALLSYMS=y # CONFIG_KALLSYMS_SELFTEST is not set CONFIG_KALLSYMS_ALL=y CONFIG_KALLSYMS_ABSOLUTE_PERCPU=y CONFIG_KALLSYMS_BASE_RELATIVE=y CONFIG_KPROBES=y CONFIG_KPROBES_ON_FTRACE=y CONFIG_PCI_QUIRKS=y CONFIG_FTRACE=y CONFIG_FUNCTION_TRACER=y CONFIG_FTRACE_SYSCALLS=y CONFIG_FTRACE_MCOUNT_RECORD=y CONFIG_FTRACE_MCOUNT_USE_CC=y # CONFIG_FTRACE_RECORD_RECURSION is not set # CONFIG_FTRACE_STARTUP_TEST is not set # CONFIG_FTRACE_SORT_STARTUP_TEST is not set

Installation went like this: cd /usr/share git clone https://github.com/gnif/vendor-reset.git cd vendor-reset dkms install . Sign command: /usr/bin/kmodsign Signing key: /var/lib/shim-signed/mok/MOK.priv Public certificate (MOK): /var/lib/shim-signed/mok/MOK.der Error! DKMS tree already contains: vendor-reset-0.1.1 You cannot add the same module/version combo more than once.

I guess it must have kept the installation when I updated Ubuntu 22.04 -> 24.04? modprobe vendor-reset modprobe: FATAL: Module vendor-reset not found in directory /lib/modules/6.8.0-41-generic

Can it be removed? rmmod vendor-reset rmmod: ERROR: Module vendor_reset is not currently loaded

sudo dmesg | grep reset [ 11.540639] vendor_reset: loading out-of-tree module taints kernel. [ 11.540646] vendor_reset: module verification failed: signature and/or required key missing - tainting kernel [ 11.570389] vendor_reset_hook: installed

I wonder if anybody has any advice about what I can do here. I feel like I messed up something that's probably very straightforward to resolve, but I don't know the specifics.

Thank you for helping!

KevinMoorman commented 1 month ago

Ok I sorted it out (finally): when Ubuntu updated from 22.04 to 24.04 it kept the vrwa.service, but never enabled it again. Details are here.

The vrwa.service is located at /lib/systemd/system/vrwa.service and contains this script:

[Unit]
Description=vrwa Service
After=multi-user.target

[Service]
ExecStart=/usr/bin/bash -c 'echo device_specific > /sys/bus/pci/devices/0000:2b:00.0/reset_method'

[Install]
WantedBy=multi-user.target

I enabled it with systemd: systemctl enable vrwa