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

Thelio-io firmware update fails with permission denied error #16

Open
brs17 opened this issue Jul 25, 2019 · 11 comments
Open

Thelio-io firmware update fails with permission denied error #16

brs17 opened this issue Jul 25, 2019 · 11 comments
Assignees

Comments

@brs17
Copy link
Contributor

brs17 commented Jul 25, 2019

Distribution (run cat /etc/os-release):
Pop!_OS 18.04

Issue/Bug Description:
Upon receiving a notification that there is a firmware update available for the thelio-io board, I proceeded with the upgrade and was given an error message that the firmware could not be updated. The logs below describe the issue in greater depth.

system76-firmware-daemon[1214]:   switching to bootloader
system76-firmware-daemon[1214]: Permission denied (os error 13)
system76-firmware-autostart.desktop[2595]: 2019-07-25 07:28:15,367  ERROR  Failed to install Thelio Io firmware
system76-firmware-autostart.desktop[2595]: Traceback (most recent call last):
system76-firmware-autostart.desktop[2595]:   File "/usr/lib/python3/dist-packages/system76driver/firmware.py", line 489, in _run_firmware_updater
system76-firmware-autostart.desktop[2595]:     iface.ThelioIoUpdate(digest)
system76-firmware-autostart.desktop[2595]:   File "/usr/lib/python3/dist-packages/dbus/proxies.py", line 145, in __call__
system76-firmware-autostart.desktop[2595]:     **keywords)
system76-firmware-autostart.desktop[2595]:   File "/usr/lib/python3/dist-packages/dbus/connection.py", line 651, in call_blocking
system76-firmware-autostart.desktop[2595]:     message, timeout)
system76-firmware-autostart.desktop[2595]: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.Failed: Permission denied (os error 13)

@brs17
Copy link
Contributor Author

brs17 commented Jul 25, 2019

This just happened on a thelio-r1. I believe earlier in the week we saw it happen on a thelio-b1.

@brs17
Copy link
Contributor Author

brs17 commented Jul 25, 2019

Upon rebooting, there seems to be no available update anymore. system76-firmware --thelio_io --notification shows that the board is now up-to-date.

@lcbpublic
Copy link

Just had this happen on a Thelio Major (AMD) running Pop!_OS 19.04. Attempting the update via the "normal" method (click on the notification, etc.) produces the following error message: "rror in system76-firmware client: calling ThelioIoUpdate method failed: "Permission denied (os error 13)". Attempting the update from a root terminal using 'system76-firmware-cli thelio-io' produces the following output:

root@harry:~# system76-firmware-cli thelio-io
downloading manifest.json
downloading metadata.json
downloading main.hex
Switching devices to bootloader
"/sys/bus/usb/devices/1-12"
revision: ""
switching to bootloader
system76-firmware: failed to update: Permission denied (os error 13)

On reboot I still get the notification that firmware updates are available.

@colinbes
Copy link

I am seeing same behavior with Thelio with System76 Thelio I/O board running Ubuntu 18.04

Running cli as sudo also produces same result

@ghost
Copy link

ghost commented Dec 17, 2020

thelio-firmware-error

Just got this error today. The CLI update method mentioned on the firmware support page didn't help. It ran and did it's thing, but I still see an update.

Also tried:

cfk@thelio:~$ sudo system76-firmware-cli thelio-io
downloading manifest.json
downloading metadata.json
downloading main.hex
Switching devices to bootloader
 "/sys/bus/usb/devices/3-5"
  revision: ""
  switching to bootloader
system76-firmware: failed to update: Permission denied (os error 13)

Distribution (run cat /etc/os-release):

NAME="Pop!_OS"
VERSION="20.10"
ID=pop
ID_LIKE="ubuntu debian"
PRETTY_NAME="Pop!_OS 20.10"
VERSION_ID="20.10"
HOME_URL="https://pop.system76.com"
SUPPORT_URL="https://support.system76.com"
BUG_REPORT_URL="https://github.com/pop-os/pop/issues"
PRIVACY_POLICY_URL="https://system76.com/privacy"
VERSION_CODENAME=groovy
UBUNTU_CODENAME=groovy
LOGO=distributor-logo-pop-os

This issue hasn't had any movement in over a year and it's the only result when googling the error message. For the other people that were reporting this problem did you find a fix?

@willdrew
Copy link

☝️ Likewise

However, I only noticed this after trying mainline kernel v5.10.1 and v5.10.2 (has issues rebooting and fans remain on as well). Not surprisingly, I reverted back to 5.8.0-7630-generic and all is good again with the Thelio I/O version showing up as 1.0.2 ... figured I would share in case anyone else ran into a similar issue.

@ghost
Copy link

ghost commented Dec 26, 2020

point_up Likewise

However, I only noticed this after trying mainline kernel v5.10.1 and v5.10.2 (has issues rebooting and fans remain on as well). Not surprisingly, I reverted back to 5.8.0-7630-generic and all is good again with the Thelio I/O version showing up as 1.0.2 ... figured I would share in case anyone else ran into a similar issue.

Thanks for that info. I am also using mainline 5.10 because 5.8 has some issues with my monitor setup. Will just ignore for now.

@markfeathers
Copy link

markfeathers commented Oct 15, 2021

I'm on a Thelio Mira with Fedora 35. It looks like this is an issue here with:
Linux 5.14.11-300.fc35.x86_64 #1 SMP Sun Oct 10 14:36:25 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Fedora 34's 5.12 didn't cause this issue for me.

It looks like this code iterates through all usb devices looking for a manufacturer of System76 / product IO, then checks that device with :1.1 and checks the "revision" file to check the current version. My kernel doesn't have that file, it only has a "version" file in the parent without :1.1:

mark@mark-desktop:/sys/bus/usb/devices/1-5.2$ cat manufacturer 
System76
mark@mark-desktop:/sys/bus/usb/devices/1-5.2$ cat product 
Io
mark@mark-desktop:/sys/bus/usb/devices/1-5.2$ cat revision
cat: revision: No such file or directory
mark@mark-desktop:/sys/bus/usb/devices/1-5.2$ cat version
 1.10
mark@mark-desktop:/sys/bus/usb/devices/1-5.2$ ls 1-5.2\:1.1/
authorized  bAlternateSetting  bInterfaceClass  bInterfaceNumber  bInterfaceProtocol  bInterfaceSubClass  bNumEndpoints  ep_04  ep_83  firmware_node  modalias  power  subsystem  supports_autosuspend  uevent  waiting_for_supplier

Does this need a special kernel driver? I dont have the "bootloader" file it tries to poke next either.

@LiberalArtist
Copy link

Just had this happen on a Thelio Major (AMD) running Pop!_OS 19.04. Attempting the update via the "normal" method (click on the notification, etc.) produces the following error message: "rror in system76-firmware client: calling ThelioIoUpdate method failed: "Permission denied (os error 13)". Attempting the update from a root terminal using 'system76-firmware-cli thelio-io' produces the following output:

root@harry:~# system76-firmware-cli thelio-io
downloading manifest.json
downloading metadata.json
downloading main.hex
Switching devices to bootloader
"/sys/bus/usb/devices/1-12"
revision: ""
switching to bootloader
system76-firmware: failed to update: Permission denied (os error 13)

On reboot I still get the notification that firmware updates are available.

I'm having the same error on a Thelio Mira running Debian Bookworm.

@storrence97
Copy link

I just had this happen when I updated my Thelio Mira from Fedora 38 to 39. Reinstalling the system76-* packages and rebooting fixed it for me.

@lrvega
Copy link

lrvega commented Oct 18, 2024

I just had this happen when I updated my Thelio Mira from Fedora 38 to 39. Reinstalling the system76-* packages and rebooting fixed it for me.

I'm running Linux Mint 22. Marking the packages for re-installation and rebooting did not work for me. I had to completely remove the packages, reboot, re-add the ppa, install system-76-driver and reboot. Seems the kernel module is not compiled in a way that works?

Link for the ppa addition/install in case instructions change in the future: https://support.system76.com/articles/system76-driver/

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

9 participants