I have been using the “Teams For Linux” flathub app for a few days and at first I celebrated, because I could finally use teams without major workarounds and so that it just works. However today it decided to crash my audio device after about 20 minutes and it did so consistently… It crashes it so hard, that I need to restart my system every time it occurrs…

Things that do not work to get my audio back up and running:

  • restarting pipewire service with systemctl --user restart pipewire.service
  • restarting pipewire-pulse with systemctl --user restart pipewire-pulse.service
  • restarting alsa with sudo alsactl -F restore
  • relogging
  • unplugging USB

I am using Fedora 41 and my audio interface is the Motu M2

As far as I can tell the audio is just broken beyond repair and I have no idea why. I’ve always had audio problems on linux, but never to this degree. Maybe I have to try another distro, but I actually don’t really want to. It is just super annoying and if anyone has an idea how to fix this mess I will try it and hope that it works :D

  • masterofn001@lemmy.ca
    link
    fedilink
    English
    arrow-up
    2
    ·
    15 days ago

    I’ve never used the --user flag to reset/restart a service.

    Have you tried systemctl reset-failed ?

    And then systemctl daemon-reload or daemon-reexec

      • masterofn001@lemmy.ca
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        15 days ago

        Maybe try without the flag.

        You can see what errors may have caused the issue by checking systemctl status NAMEOFSERVICE.service
        or
        journalctl -xem -o with-unit -p1 -p2 -p3 | grep -i pipewire

        That may additionally help you diagnose the cause.

        • BentiGorlich@gehirneimer.deOP
          link
          fedilink
          arrow-up
          1
          ·
          15 days ago

          Since they are started with the user session these services do only exist there. If you try to restart them without the flag they just don’t exist.

          The journal would be a nice way to look for sure, but the command you posted throws an error for me:

          Using --boot or --list-boots with --merge is not supported.

          • masterofn001@lemmy.ca
            link
            fedilink
            English
            arrow-up
            1
            ·
            edit-2
            15 days ago

            weird. Just change -xem to -xeb

            You can also do -xe --since yesterday

            The reset-failed should also work to reset any/all failed units/services so you don’t have to go through one by one.

            Fedora may be a bit different in the need for the --user flag, so try with/without.

            But I’ve had an entire user scope crash and dump and recovered using it.

            • BentiGorlich@gehirneimer.deOP
              link
              fedilink
              arrow-up
              1
              ·
              14 days ago

              A small capture of the log (these errors were repeating multiple times):

              Wed 2025-01-15 15:09:47 CET fedora user@1000.service/pipewire.service[2482]: spa.alsa: set_hw_params: Protocol error Wed 2025-01-15 15:09:49 CET fedora user@1000.service/pipewire.service[2482]: spa.alsa: ‘front:3’: capture open failed: The device or resource is busy/occupied Wed 2025-01-15 15:09:49 CET fedora user@1000.service/pipewire.service[2482]: spa.alsa: ‘front:3’: capture open failed: The device or resource is busy/occupied Wed 2025-01-15 15:09:49 CET fedora user@1000.service/pipewire.service[2482]: spa.audioadapter: params Spa:Enum:ParamId:EnumFormat: 1:0 (follower format) The device or resource is busy/occupied Wed 2025-01-15 15:09:49 CET fedora user@1000.service/pipewire.service[2482]: pw.node: (alsa_output.usb-MOTU_M2_M2MT15188F-00.HiFi__Line1__sink-55) suspended -> error ((null)) Wed 2025-01-15 15:09:49 CET fedora user@1000.service/pipewire.service[2482]: spa.alsa: ‘front:3’: capture open failed: The device or resource is busy/occupied Wed 2025-01-15 15:09:49 CET fedora user@1000.service/pipewire.service[2482]: spa.alsa: ‘front:3’: capture open failed: The device or resource is busy/occupied Wed 2025-01-15 15:09:49 CET fedora user@1000.service/pipewire.service[2482]: spa.audioadapter: params Spa:Enum:ParamId:EnumFormat: 1:0 (follower format) The device or resource is busy/occupied Wed 2025-01-15 15:09:49 CET fedora user@1000.service/pipewire.service[2482]: spa.alsa: set_hw_params: Protocol error Wed 2025-01-15 15:09:50 CET fedora user@1000.service/pipewire.service[2482]: spa.alsa: set_hw_params: Protocol error Wed 2025-01-15 15:09:50 CET fedora user@1000.service/pipewire.service[2482]: pw.node: (alsa_input.usb-046d_Logitech_Webcam_C925e_AE792FAF-02.analog-stereo-60) suspended -> error ((null)) Wed 2025-01-15 15:09:50 CET fedora user@1000.service/pipewire.service[2482]: spa.alsa: ‘front:3’: capture open failed: The device or resource is busy/occupied Wed 2025-01-15 15:09:50 CET fedora user@1000.service/pipewire.service[2482]: spa.alsa: ‘front:3’: capture open failed: The device or resource is busy/occupied Wed 2025-01-15 15:09:50 CET fedora user@1000.service/pipewire.service[2482]: spa.audioadapter: params Spa:Enum:ParamId:EnumFormat: 1:0 (follower format) The device or resource is busy/occupied Wed 2025-01-15 15:09:50 CET fedora user@1000.service/pipewire.service[2482]: spa.alsa: set_hw_params: Protocol error

              I translated the error messages, because they were in German.

              I think the most important line might be this one as this is the audio device I am actually using:

              Wed 2025-01-15 15:09:49 CET fedora user@1000.service/pipewire.service[2482]: pw.node: (alsa_output.usb-MOTU_M2_M2MT15188F-00.HiFi__Line1__sink-55) suspended -> error ((null))

              • masterofn001@lemmy.ca
                link
                fedilink
                English
                arrow-up
                2
                ·
                13 days ago

                I don’t know if I can resolve this, but I’ve done some reading and the m2/m4 have some known issues with Linux.

                Some patches and configs and instructions are here:

                https://github.com/kiosion/alsa-motu-m2

                Aside from that, there could be another application that is locking the card which is why you’re getting the resource busy error.

                As mentioned here:

                https://unix.stackexchange.com/questions/753676/pipewire-pulse-no-sound-playback-open-failed-device-or-resource-busy

                And some more issues/troubleshooting specifically with the m4:

                https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3312

                • BentiGorlich@gehirneimer.deOP
                  link
                  fedilink
                  arrow-up
                  1
                  ·
                  10 days ago

                  So these are the log messages right after the device failed:

                  Jan 21 11:20:41 fedora pipewire[2460]: spa.alsa: set_hw_params: Protokollfehler Jan 21 11:20:41 fedora pipewire[2460]: pw.link: 0x55db4830afa0: one of the nodes is in error out:error in:suspended Jan 21 11:20:41 fedora pipewire[2460]: pw.link: 0x55db485f9360: one of the nodes is in error out:error in:suspended Jan 21 11:20:44 fedora pipewire[2460]: spa.alsa: set_hw_params: Protokollfehler Jan 21 11:20:44 fedora pipewire[2460]: spa.alsa: set_hw_params: Protokollfehler Jan 21 11:20:44 fedora pipewire[2460]: spa.alsa: set_hw_params: Protokollfehler Jan 21 11:20:44 fedora pipewire[2460]: pw.link: 0x55db48355240: one of the nodes is in error out:suspended in:error Jan 21 11:20:44 fedora pipewire[2460]: pw.node: (alsa_output.usb-MOTU_M2_M2MT15188F-00.Direct__Direct__sink-56) suspended -> error ((null)) Jan 21 11:20:44 fedora pipewire[2460]: pw.link: 0x55db482bdca0: one of the nodes is in error out:idle in:error Jan 21 11:20:44 fedora pipewire[2460]: pw.link: 0x55db47b39140: one of the nodes is in error out:idle in:error

                  I have no idea how to unsuspend the device after it errored, nor do I know why it errored. Like I said in the OP I’ve tried turning it off and on again, but the only solution I have found is to reboot which sucks… I changed the sampling rate from 41k to 48k but that didn’t change anything. I have no idea how to change the bit depth of the device though. I applied the fixes from the repo you linked, but I am not able to install the version of alsa they referenced in there. Fedore 41 only comes with the 2 most recent versions it seems…