Refine firmware services and runtime handover - #695
Merged
Conversation
huaqianli
force-pushed
the
lee/bugfixes
branch
2 times, most recently
from
September 7, 2026 03:12
0acbed0 to
14d2cac
Compare
huaqianli
force-pushed
the
lee/bugfixes
branch
from
September 7, 2026 06:55
c4be892 to
b6d05c2
Compare
BaochengSu
approved these changes
Sep 7, 2026
huaqianli
force-pushed
the
lee/bugfixes
branch
from
September 7, 2026 10:19
b6d05c2 to
487eaa0
Compare
Switch the system firmware service to a direct executable entrypoint. Keep generated gRPC modules private to the firmware runtime directory. Signed-off-by: Li Hua Qian <huaqian.li@siemens.com>
Switch the module firmware service to a direct executable entrypoint. Keep generated gRPC modules private to the module runtime directory. Signed-off-by: Li Hua Qian <huaqian.li@siemens.com>
Reflect gRPC and async operation API updates in firmware-related packages. Keep Event Record on a compatible minor version so the socket migration stays aligned with its clients. Signed-off-by: Li Hua Qian <huaqian.li@siemens.com>
Keep system firmware inspection available when the EIO controller service is unavailable. Treat controller inspection errors as a controller-only availability issue. Signed-off-by: Li Hua Qian <huaqian.li@siemens.com>
Wait for the HTTPS gateway to serve Cockpit after mode switching. Probe the target path before redirecting to avoid nginx handoff races that require manual refresh. Signed-off-by: Li Hua Qian <huaqian.li@siemens.com>
Delay-load runtime gRPC modules in fwmgr and SM backends so missing runtime-specific protobuf paths do not break capability loading. Signed-off-by: Li Hua Qian <huaqian.li@siemens.com>
Mark only the system card unavailable when system inspection fails. Keep controller and module capabilities independent in Firmware Center. Signed-off-by: Li Hua Qian <huaqian.li@siemens.com>
Move the System Firmware gRPC socket out of the shared /run/iot2050 tree. This prevents unrelated SM service shutdowns from removing the System Firmware socket path while the service is still running. Use a dedicated runtime directory name, iot2050-firmware, for the system service unit and endpoint path. Signed-off-by: Li Hua Qian <huaqian.li@siemens.com>
Move EIO and Event Record sockets into dedicated /run subdirectories instead of the shared /run/iot2050 tree. This avoids cross-service socket path removal when one related unit stops or restarts. Update service RuntimeDirectory values to match the new endpoint locations. Signed-off-by: Li Hua Qian <huaqian.li@siemens.com>
Move module firmware socket creation to a dedicated runtime directory instead of relying on /run/iot2050. This keeps module firmware IPC independent from other SM services and avoids shared directory cleanup side effects. Update the systemd unit to own the same runtime directory. Signed-off-by: Li Hua Qian <huaqian.li@siemens.com>
huaqianli
force-pushed
the
lee/bugfixes
branch
from
September 8, 2026 01:06
487eaa0 to
bfd58f6
Compare
The CLI polls the current operation stage, so the short-lived stages may be missed between polls. Track observed stages and print the flashing banner when entering any flashing stage. Signed-off-by: Li Hua Qian <huaqian.li@siemens.com>
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
This PR improves firmware update reliability by isolating runtime sockets, decoupling backend imports, and localizing UI failure handling per backend card.
It also stabilizes firstboot handoff by waiting for the runtime gateway before redirecting to Cockpit.
Why
Shared runtime paths and globally coupled backend imports caused cross-service side effects, including missing sockets, partial capability failures, and misleading UI states such as prolonged inspecting.
What Changed
Result