Crackling / distorted sound after waking up the PC with USB external audio device

I need some input: I have an somehow external USB Hifi sound adapter. When my machine comes back from sleep/hibernation, the adapter’s output is a bit corrupted about 60% of the time. It stays like that, even if I disable the adapter and re-enable it. If I unplug its USB cable and reconnect (power cable stays in!), the sound is perfect again.

I would very much prefer to simulate that behavior via some script. Any ideas how I could pretend the device had been unplugged for a short moment?

Device: Swissonic HAD-1
linux: running pipewire
Kernel: 5.16, but the issue was present with 5.15 and lower as well

I have partially solved by dis- and re-enabling the USB device:

  1. Get the address via
    lsusb -t | less
    use [Bus number]-[Port number] as address

  2. Disable the device
    For me that comes down to;
    echo 1-3 |sudo tee /sys/bus/usb/drivers/usb/unbind

  3. Re-enable the device
    echo 1-3 |sudo tee /sys/bus/usb/drivers/usb/bind

That can easily be automated, for now I just use these two lines with a sleep 0.1 command in between. The sleep command is probably not necessary at all, so far it worked without any issue, I just threw it in to make sure there is at least some time for the USB device to properly reset.

The sound is crystal clear again and the distortion is gone. I still don’t understand what the issue is, but for now it is just enough.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.