Repository navigation
Release 2.5.3: Panorama USB link and private runtime directories - #35
Merged
Merged
Conversation
Panorama, Panorama SE and Panorama WB displays on AMD 800-series chipset controllers vanish from the bus during a session and return only after the power supply is switched off. Testers traced it to the idle link between exchanges: the official bridge keeps a bulk IN pending almost all the time and survives for days, while a client that arms the IN only around each request died within minutes and survived hours once it kept the IN pending. This runtime armed the IN only around requests as well. Add a keepBulkInPending product profile flag, enabled for the Panorama family, and leave the IN pending after every exchange. An idle IN that the firmware ends with an error or an empty packet is logged as tryx_usb_idle_input, never counts toward the persistent input failure that ends the session, and is re-armed only after the next request. Turris keeps the request-scoped IN until there is data for it. Document the change and the usbcore quirk workaround in the README.
Between requests no transport call serviced libusb, so an idle IN that the firmware ended stayed unnoticed until the next request, and an idle IN error suppressed the re-arm until then. With a 2 s keepalive the link could stay idle for up to 2 s, the condition that drops Panorama-family displays. Sessions that keep the IN pending now hand libusb's poll descriptors to the owning thread's event loop, service completions as soon as they are ready, and re-arm the IN right after data or after a short backoff (20 ms doubling to 200 ms) when it ended without data. Data that arrives between requests is queued and the IN re-armed at once. Reported in review by @groovg on #28.
QDir::mkpath() creates directories with 0777 minus the process umask. With the 0002 umask common on Ubuntu and Mint desktops, the shared data root, its media-catalog and the prepared-media retry-cache root became group-writable, and the stores' own safety checks then rejected them on the next start. A rejected retry-cache root keeps the PASE display session from starting at all, while the status claimed that stored retry media was still being validated. Directories the runtime creates for itself now get 0700 for every missing component. Existing directories are left as they are and the safety checks are unchanged. When a check rejects a directory, the warning names it with its owner or mode and the chmod command that fixes the common case, and the session status says that the display session cannot start instead of describing a wait. Reported in #32.
The release keeps Panorama-family displays on USB by holding a bulk IN pending between requests, and creates the runtime's directories owner-only so a 0002 umask no longer blocks the display session. Add the 2.5.3 entries to every changelog and the AppStream metadata, point the README install commands at the new package names, and describe the fix for directories created by earlier versions.
2.5.3: keep Panorama displays on USB and create runtime directories owner-only
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Promote 2.5.3 from development after #34.
Verification
02a45a7: native packages, clean-runtime installs and the Flatpak build with its test suite.v2.5.3and strict AppStream validation.Publication
After this PR merges, tag
v2.5.3on the production merge commit; the tagged workflow rebuilds packages and creates the draft release.