mirror of
https://github.com/omacom/omarchy.git
synced 2026-09-28 14:23:08 +08:00
Keep the KEF LSX II LT USB sink from suspending (#11318)
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>
This commit is contained in:
co-authored by
Claude Fable 5.1
parent
b5589faaf8
commit
31bd80daa4
@@ -0,0 +1,19 @@
|
||||
## Never suspend the KEF LSX II LT USB sink.
|
||||
## The speaker's USB firmware stops answering control requests when the host
|
||||
## stops the stream after idle (usb_set_interface -110), and only a replug
|
||||
## recovers it. Keeping the stream open avoids the trigger.
|
||||
|
||||
monitor.alsa.rules = [
|
||||
{
|
||||
matches = [
|
||||
{
|
||||
node.name = "~alsa_output.usb-KEF_LSX_II_LT.*"
|
||||
}
|
||||
]
|
||||
actions = {
|
||||
update-props = {
|
||||
session.suspend-timeout-seconds = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,9 @@
|
||||
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
|
||||
Reference in New Issue
Block a user