Can't seem to get rid of a broken audio driver that my computer resets to upon waking up

Lately i’ve ordered two new audio devices to replace some MG300 speakers I previously had(the MG300 devices for some reason were constantly listening in despite me setting the mic to mute). In the meantime I previously attempted to follow a tutorial that would allow me to sync the two MG300 devices together(this was before I was suspicious of the two devices).

https://oneuptime.com/blog/post/2026-03-02-configure-multiple-audio-outputs-ubuntu/view

Sadly I wasn’t able to effectively follow the recommendations, and even after getting rid of the two devices this broken sound driver. Everytime the computer boots up from suspend mode it launches this driver which requires me to manually set it back to the new soundbar I currently are using. Should be an easy fix. Any command line I can use to get this resolved?

As that other HowTo suggests, you may need to clear the saved state of the wireplumber service.

rm ~/.local/state/wireplumber/stream-properties
systemctl --user restart wireplumber

Gave it a shot. Got an error message though:

rm: cannot remove ‘/home/saga-0-1/.local/state/wireplumber/stream-properties’: No such file or directory

Then that particular file doesn’t exist. You can delete the whole state directory of wireplumber, to see if anything in there causes the revert to old settings:

rm -r ~/.local/state/wireplumber/
systemctl --user restart wireplumber

BTW, you weren’t looking at the “monitor” outputs of your speakers perchance?

Seems the above command only causes the settings to revert to “combined output” which as i’ve said doesn’t work(likely because it resets a few things and as I mentioned the computer switches to “combined output” when the computer starts up).

As for the monitor itself I found the issue to come from two MG300 speakers I have. After dumping them for recycling Since then I haven’t had that issue.

You need to undo all the changes you made for your previous hardware, of course, otherwise wireplumber will keep trying to use that.

Speakers are not microphones, but the “monitor” outputs, which pipewire adds automatically, may make them look like “listening devices”, which they technically are, but not from some evildoer; those are meant for audio professionals to monitor that particular stage of the audio chain, hence the name “monitor”.

Well, regardless I tried my hand at some command lines as shown below. The results didn’t change, but I might as well post what I typed in.

This is the first one.

systemctl --user stop wireplumber pipewire pipewire-pulse
rm -r ~/.local/state/wireplumber
systemctl --user start wireplumber pipewire pipewire-pulse

Here’s the rest, copied and pasted:

Detailed Steps to Reset WirePlumber

1. Stop the Audio Services

First, you need to halt both WirePlumber (the session manager) and PipeWire (the audio server) to prevent them from overwriting files while you delete them. [1, 2, 3]

bash

systemctl --user stop wireplumber pipewire pipewire-pulse

Use code with caution.

2. Delete the State Directory

WirePlumber stores your customized settings, default devices, and volume caches in the local state directory. Deleting this folder resets it back to factory defaults: [1, 2, 3, 4]

bash

rm -r ~/.local/state/wireplumber

Use code with caution.

3. Restart the Services

Once the state folder is removed, restart the services to generate a fresh state and apply the default configurations. [1, 2]

bash

systemctl --user start wireplumber pipewire pipewire-pulse

Use code with caution.

4. Verify Your Devices

To ensure your audio devices are recognized and running correctly after the reset, run the WirePlumber control status command: [1, 2]

bash

wpctl status

Use code with caution.

The details and be found below

That probably did nothing because pipewire.service etc. are socket activated services, so they had very likely restarted even before the rm ... command ran and hence used the still present state files.
So one either deletes said files before restarting those services or one needs stop the sockets too:

systemctl --user stop pipewire.{service,socket} pipewire-pulse.{service,socket} wireplumber.service

then do all the maintenance and then (re)start them again.


Also, what’s with all the “Use code with caution” and the weird footnotes? Is that from some “Ai”?

Where can I find those files? I tried running “systemctl --user stop pipewire.{service,socket} pipewire-pulse.{service,socket} wireplumber.service” along with the above mentioned commands from my previous comment, but nothing charged.

Also that “use code with caution came with the command lines. I’ll be honest I got that advice from Google search which doesn’t always knock it out of the park when it comes to this sort of thing. My bad.

Which files?

Well, you should be unable to use audio apps like “Volume Control” after running them, which is the point, because any audio app will just reactivate them, and since WirePlumber has a constant connection that will be as soon as the pipewire.service stops, so there is no window in time to delete the state files before that happens.

systemctl --user stop pipewire.{service,socket} pipewire-pulse.{service,socket} wireplumber.service
rm -r ~/.local/state/wireplumber
systemctl --user start pipewire{,-pulse}.socket

That’s the full command sequence; don’t type it, just copy it from the code block by clicking the little “clipboard” icon and paste it into a terminal window by pressing CtrlShiftV, then press Enter.

You also still need to adjust/delete your old configuration, to no longer use the settings specific to your no longer present hardware before erasing the state, otherwise it will just be reinstated by the configuration logic. Only you can know how and where you made those changes.

Maybe you should simply refrain from using it altogether, because you seem to be coming here after it led you astray to have us help you fix its mistakes, without even mentioning that you used it. I am not here to debug “Google ‘Ai’”, you know?

You may also want to consider looking in a forum more geared towards pipewire issues, because your problem isn’t related to Ubuntu in any way, so you are limiting yourself in what kind of insight you can get here, a decidedly Ubuntu-specific forum.

Good news. I think I figured out the issue. Seems I typed in:

rm -rf ~/.config/pulse ~/.pulse ~/.config/pipewire ~/.local/state/wireplumber
systemctl --user restart pipewire pulseaudio wireplumber

So far it’s fixed the problem. I’ll play it by ear.

1 Like