Today I noticed that after I first booted my computer, my motherboard’s Bluetooth card wasn’t detected. I need bluetooth to use my speakers because my soundcard doesn’t have linux drivers(another problem for another day) so I went without sound today. But then when I restarted the computer to see if that would change anything regarding the Bluetooth, it,
a.) Didn’t change anything about the Bluetooth driver, and B) now my 2.4g dongle doesn’t work for me to connect my mouse(I can still use it wired though) and my wired keyboard doesn’t work.
Both times I booted my noticed that systemd was shutting down udevd, which I have never noticed before. I know that udev is controls peripherals, so that is the most likely issue.
How would I go about fixing my computer?
Computer is running fedora 40 and has an MSI mpg B650 gaming edge wifi. I can send a hardware probe if necessary
That sounds like a hardware issue.
Keep in mind that Linux is a monolithic kernel. It doesn’t technically have drivers at all or go missing. All supporting kernel modules for hardware are always present at the configuration level. The general kernels shipped by distros are configured to work out of the box for most hardware. The only exceptions should be instances where oddball hardware can cause conflicts with the standard way other hardware works in the same space. Then there are cases where hardware is totally undocumented publicly by the chip manufacturers. That is the worst kind as some of those have poor or no support.
By contrast, Windows is a microkernel. It only creates an API layer for the hardware vendor to write a driver that interfaces with Windows. They leave it entirely up to the end user to get stuck in the middle, source and install the driver and deal with any potential issues. In other words they don’t have devs to maintain or do anything meaningful in this space, and they enable undocumented proprietary crap hardware.
“Drivers” are only when you do ring 2 message passing in a hurd microkernel. Everything else is just “late-bound function call steering that happens to satisfy hardware-specific device communication and control”.
/s