Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bazzite fails to start jupiter-controller-update.service #1108

Closed
unicornsandcandies opened this issue May 11, 2024 · 7 comments
Closed

Bazzite fails to start jupiter-controller-update.service #1108

unicornsandcandies opened this issue May 11, 2024 · 7 comments

Comments

@unicornsandcandies
Copy link

Describe the bug

Logs:
× jupiter-controller-update.service - Jupiter Controller Firmware Update Service
Loaded: loaded (/usr/lib/systemd/system/jupiter-controller-update.service; enabled; preset: disabled)
Drop-In: /usr/lib/systemd/system/service.d
└─10-timeout-abort.conf
Active: failed (Result: exit-code) since Sat 2024-05-11 22:47:27 CEST; 8min ago
Main PID: 4498 (code=exited, status=1/FAILURE)
CPU: 357ms

maj 11 22:47:27 fedora jupiter-controller-update[4506]: File "/usr/lib64/python3.12/json/encoder.py", line 258, in iterencode
maj 11 22:47:27 fedora jupiter-controller-update[4506]: return _iterencode(o, 0)
maj 11 22:47:27 fedora jupiter-controller-update[4506]: ^^^^^^^^^^^^^^^^^
maj 11 22:47:27 fedora jupiter-controller-update[4506]: File "/usr/lib64/python3.12/json/encoder.py", line 180, in default
maj 11 22:47:27 fedora jupiter-controller-update[4506]: raise TypeError(f'Object of type {o.class.name} '
maj 11 22:47:27 fedora jupiter-controller-update[4506]: TypeError: Object of type BusType is not JSON serializable
maj 11 22:47:27 fedora jupiter-controller-update[4498]: !! Failed to enumerate devices
maj 11 22:47:27 fedora systemd[1]: jupiter-controller-update.service: Main process exited, code=exited, status=1/FAILURE
maj 11 22:47:27 fedora systemd[1]: jupiter-controller-update.service: Failed with result 'exit-code'.
maj 11 22:47:27 fedora systemd[1]: Failed to start jupiter-controller-update.service - Jupiter Controller Firmware Update Service.

What did you expect to happen?

Start the service without issues

Output of rpm-ostree status

No response

Hardware

Steam Deck OLED

Extra information or context

No response

@RodoMa92
Copy link
Contributor

Found the source of the regression, hid 1.0.6 introduces this bug, see apmorton/pyhidapi#60. Reported to the mantainers. I've also found a similar bug report on SteamOS bug report from someone running it on Arch. I'll also report there.

@RodoMa92
Copy link
Contributor

pip install hid==1.0.5 fixes it, might be worth to do this temporarily while upstream fixes this.

@unicornsandcandies
Copy link
Author

unicornsandcandies commented May 12, 2024

pip install hid==1.0.5 fixes it, might be worth to do this temporarily while upstream fixes this.

Can you downgrade it in bazzite for now until it's fixed? It's a big issue and not everyone would see this workaround here.

@unicornsandcandies
Copy link
Author

pip install hid==1.0.5 fixes it, might be worth to do this temporarily while upstream fixes this.

Can you downgrade it in bazzite for now until it's fixed? It's a big issue and not everyone would see this workaround here.

Yup. You need to do this on a system level.

I tried your workaround and issue persists:

deck@fedora:~$ sudo systemctl status jupiter-controller-update.service
Warning: The unit file, source configuration file or drop-ins of jupiter-controller-update.service changed on disk. Run 'systemctl >
× jupiter-controller-update.service - Jupiter Controller Firmware Update Service
Loaded: loaded (/usr/lib/systemd/system/jupiter-controller-update.service; enabled; preset: disabled)
Drop-In: /usr/lib/systemd/system/service.d
└─10-timeout-abort.conf
Active: failed (Result: exit-code) since Sun 2024-05-12 23:04:06 CEST; 8min ago
Main PID: 4430 (code=exited, status=1/FAILURE)
CPU: 345ms

maj 12 23:04:06 fedora jupiter-controller-update[4445]: File "/usr/lib64/python3.12/json/encoder.py", line 258, in iterencode
maj 12 23:04:06 fedora jupiter-controller-update[4445]: return _iterencode(o, 0)
maj 12 23:04:06 fedora jupiter-controller-update[4445]: ^^^^^^^^^^^^^^^^^
maj 12 23:04:06 fedora jupiter-controller-update[4445]: File "/usr/lib64/python3.12/json/encoder.py", line 180, in default
maj 12 23:04:06 fedora jupiter-controller-update[4445]: raise TypeError(f'Object of type {o.class.name} '
maj 12 23:04:06 fedora jupiter-controller-update[4445]: TypeError: Object of type BusType is not JSON serializable
maj 12 23:04:06 fedora jupiter-controller-update[4430]: !! Failed to enumerate devices
maj 12 23:04:06 fedora systemd[1]: jupiter-controller-update.service: Main process exited, code=exited, status=1/FAILURE
maj 12 23:04:06 fedora systemd[1]: jupiter-controller-update.service: Failed with result 'exit-code'.
maj 12 23:04:06 fedora systemd[1]: Failed to start jupiter-controller-update.service - Jupiter Controller Firmware Update Service.

But I tried doing the same as root and got info that root still uses 1.0.6 but I can't touch it.

See:

deck@fedora:$ sudo pip install hid==1.0.5
Collecting hid==1.0.5
Using cached hid-1.0.5-py3-none-any.whl
Installing collected packages: hid
Attempting uninstall: hid
Found existing installation: hid 1.0.6
ERROR: Cannot uninstall hid 1.0.6, RECORD file not found. Hint: The package was installed by rpm.
deck@fedora:
$ sudo su
bash-5.2# pip install hid==1.0.5
Collecting hid==1.0.5
Using cached hid-1.0.5-py3-none-any.whl
Installing collected packages: hid
Attempting uninstall: hid
Found existing installation: hid 1.0.6
ERROR: Cannot uninstall hid 1.0.6, RECORD file not found. Hint: The package was installed by rpm.
bash-5.2#

@RodoMa92
Copy link
Contributor

pip install hid==1.0.5 fixes it, might be worth to do this temporarily while upstream fixes this.

Can you downgrade it in bazzite for now until it's fixed? It's a big issue and not everyone would see this workaround here.

Yup. You need to do this on a system level.

I tried your workaround and issue persists:

deck@fedora:~$ sudo systemctl status jupiter-controller-update.service
Warning: The unit file, source configuration file or drop-ins of jupiter-controller-update.service changed on disk. Run 'systemctl >
× jupiter-controller-update.service - Jupiter Controller Firmware Update Service
Loaded: loaded (/usr/lib/systemd/system/jupiter-controller-update.service; enabled; preset: disabled)
Drop-In: /usr/lib/systemd/system/service.d
└─10-timeout-abort.conf
Active: failed (Result: exit-code) since Sun 2024-05-12 23:04:06 CEST; 8min ago
Main PID: 4430 (code=exited, status=1/FAILURE)
CPU: 345ms

maj 12 23:04:06 fedora jupiter-controller-update[4445]: File "/usr/lib64/python3.12/json/encoder.py", line 258, in iterencode
maj 12 23:04:06 fedora jupiter-controller-update[4445]: return _iterencode(o, 0)
maj 12 23:04:06 fedora jupiter-controller-update[4445]: ^^^^^^^^^^^^^^^^^
maj 12 23:04:06 fedora jupiter-controller-update[4445]: File "/usr/lib64/python3.12/json/encoder.py", line 180, in default
maj 12 23:04:06 fedora jupiter-controller-update[4445]: raise TypeError(f'Object of type {o.class.name} '
maj 12 23:04:06 fedora jupiter-controller-update[4445]: TypeError: Object of type BusType is not JSON serializable
maj 12 23:04:06 fedora jupiter-controller-update[4430]: !! Failed to enumerate devices
maj 12 23:04:06 fedora systemd[1]: jupiter-controller-update.service: Main process exited, code=exited, status=1/FAILURE
maj 12 23:04:06 fedora systemd[1]: jupiter-controller-update.service: Failed with result 'exit-code'.
maj 12 23:04:06 fedora systemd[1]: Failed to start jupiter-controller-update.service - Jupiter Controller Firmware Update Service.

But I tried doing the same as root and got info that root still uses 1.0.6 but I can't touch it.

See:

deck@fedora:$ sudo pip install hid==1.0.5
Collecting hid==1.0.5
Using cached hid-1.0.5-py3-none-any.whl
Installing collected packages: hid
Attempting uninstall: hid
Found existing installation: hid 1.0.6
ERROR: Cannot uninstall hid 1.0.6, RECORD file not found. Hint: The package was installed by rpm.
deck@fedora:
$ sudo su
bash-5.2# pip install hid==1.0.5
Collecting hid==1.0.5
Using cached hid-1.0.5-py3-none-any.whl
Installing collected packages: hid
Attempting uninstall: hid
Found existing installation: hid 1.0.6
ERROR: Cannot uninstall hid 1.0.6, RECORD file not found. Hint: The package was installed by rpm.
bash-5.2#

Yeah, no, you can't since it's a root package. Updating the controller firmware requires running the software as a root user and therefore you can't override it by just installing as a local user in my testing. @KyleGospo has already said that it will temporarily downgrade it back shortly.

@unicornsandcandies
Copy link
Author

pip install hid==1.0.5 fixes it, might be worth to do this temporarily while upstream fixes this.

Can you downgrade it in bazzite for now until it's fixed? It's a big issue and not everyone would see this workaround here.

Yup. You need to do this on a system level.
I tried your workaround and issue persists:
deck@fedora:$ sudo systemctl status jupiter-controller-update.service
Warning: The unit file, source configuration file or drop-ins of jupiter-controller-update.service changed on disk. Run 'systemctl >
× jupiter-controller-update.service - Jupiter Controller Firmware Update Service
Loaded: loaded (/usr/lib/systemd/system/jupiter-controller-update.service; enabled; preset: disabled)
Drop-In: /usr/lib/systemd/system/service.d
└─10-timeout-abort.conf
Active: failed (Result: exit-code) since Sun 2024-05-12 23:04:06 CEST; 8min ago
Main PID: 4430 (code=exited, status=1/FAILURE)
CPU: 345ms
maj 12 23:04:06 fedora jupiter-controller-update[4445]: File "/usr/lib64/python3.12/json/encoder.py", line 258, in iterencode
maj 12 23:04:06 fedora jupiter-controller-update[4445]: return _iterencode(o, 0)
maj 12 23:04:06 fedora jupiter-controller-update[4445]: ^^^^^^^^^^^^^^^^^
maj 12 23:04:06 fedora jupiter-controller-update[4445]: File "/usr/lib64/python3.12/json/encoder.py", line 180, in default
maj 12 23:04:06 fedora jupiter-controller-update[4445]: raise TypeError(f'Object of type {o.class.name} '
maj 12 23:04:06 fedora jupiter-controller-update[4445]: TypeError: Object of type BusType is not JSON serializable
maj 12 23:04:06 fedora jupiter-controller-update[4430]: !! Failed to enumerate devices
maj 12 23:04:06 fedora systemd[1]: jupiter-controller-update.service: Main process exited, code=exited, status=1/FAILURE
maj 12 23:04:06 fedora systemd[1]: jupiter-controller-update.service: Failed with result 'exit-code'.
maj 12 23:04:06 fedora systemd[1]: Failed to start jupiter-controller-update.service - Jupiter Controller Firmware Update Service.
But I tried doing the same as root and got info that root still uses 1.0.6 but I can't touch it.
See:
deck@fedora:
$ sudo pip install hid==1.0.5
Collecting hid==1.0.5
Using cached hid-1.0.5-py3-none-any.whl
Installing collected packages: hid
Attempting uninstall: hid
Found existing installation: hid 1.0.6
ERROR: Cannot uninstall hid 1.0.6, RECORD file not found. Hint: The package was installed by rpm.
deck@fedora:~$ sudo su
bash-5.2# pip install hid==1.0.5
Collecting hid==1.0.5
Using cached hid-1.0.5-py3-none-any.whl
Installing collected packages: hid
Attempting uninstall: hid
Found existing installation: hid 1.0.6
ERROR: Cannot uninstall hid 1.0.6, RECORD file not found. Hint: The package was installed by rpm.
bash-5.2#

Yeah, no, you can't since it's a root package. Updating the controller firmware requires running the software as a root user and therefore you can't override it by just installing as a local user in my testing. @KyleGospo has already said that it will temporarily downgrade it back shortly.

Nice, thank you. Hope devs will resolve it fast.

@KyleGospo
Copy link
Member

Should be fixed in stable

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants