The speaker's USB firmware stops answering control requests when the host stops the audio stream after WirePlumber's 5 s idle suspend. The kernel then logs usb_set_interface failed (-110), clock source 1 is not valid, and cannot set freq 48000 err -110; PipeWire fails to start the sink and only a replug recovers it. On one machine this happened on six days over three weeks, up to hundreds of timeouts a day. A WirePlumber rule sets session.suspend-timeout-seconds = 0 for the KEF node only, so the stream is never stopped and the trigger never fires. Other sinks keep the default. The migration seeds the file for existing installs and restarts WirePlumber if it is running, since conf.d is only read at startup. Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
10 lines
343 B
Bash
10 lines
343 B
Bash
echo "Keep the KEF LSX II LT USB sink from suspending"
|
|
|
|
conf="wireplumber/wireplumber.conf.d/kef-lsx-no-suspend.conf"
|
|
|
|
if [[ ! -f "$HOME/.config/$conf" ]]; then
|
|
omarchy-refresh-config "$conf"
|
|
# WirePlumber only reads conf.d at startup; restart it if it is running.
|
|
systemctl --user try-restart wireplumber.service 2>/dev/null || true
|
|
fi
|