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

Distribute via “Linux Vendor Firmware Service” (LVFS) #78

Open
rugk opened this issue Jan 13, 2019 · 20 comments
Open

Distribute via “Linux Vendor Firmware Service” (LVFS) #78

rugk opened this issue Jan 13, 2019 · 20 comments
Labels
invalid Does not require action from the source code POV prio:high Makes the device difficult to use, or insecure. task Requires other action, than editing the code (e.g. on 3rd party sites).
Milestone

Comments

@rugk
Copy link

rugk commented Jan 13, 2019

As I elaborated in this forum thread it would be great to have this distributed with LVFS, which enables Linux users across many distros to do firmware updates of your device in their system's graphical tool rather than on the command line.

See: https://fwupd.org/vendors

AFAIK they also offer a way to show a message before the upgrade, where you can hint users to set the Nitrokey into "update mode" first.
So I see no technical reasons preventing easy firmware upgrades on Linux via this great service! 😃

/cc @hughsie

@szszszsz szszszsz added invalid Does not require action from the source code POV prio:high Makes the device difficult to use, or insecure. task Requires other action, than editing the code (e.g. on 3rd party sites). labels Jan 14, 2019
@szszszsz
Copy link
Member

Confirmed. Current firmware on fwupd is v0.50, while the latest is v0.53.

@rugk
Copy link
Author

rugk commented Jan 14, 2019

It's also marked as testing, while the description says it is stable. See also my forum thread.

@rugk
Copy link
Author

rugk commented Jan 14, 2019

@szszszsz BTW, why did you add the "invalid" label?

@szszszsz
Copy link
Member

Last time I remember it was meant to be stable, I wonder why it stayed testing. Will check.

Invalid label is to mark issues, which are not actions from the source code POV (e.g. not bugs, features, compatibility changes etc). This is a custom, which is used in reporting tools. It sounds a bit negatively though; perhaps task label would be sufficient to show that instead. Will add description to this label nevertheless.

@alex-nitrokey
Copy link
Contributor

@szszszsz let me know as soon as you updated the files and settings upstream. I can test the procedure if you like.

@rugk
Copy link
Author

rugk commented Jan 14, 2019

While you are at it, also look at that "security" labels on LVFS. As I've explained in my forum post, they are kinda wrong.

@szszszsz
Copy link
Member

Registered this issue on the fwupd main site.

@szszszsz
Copy link
Member

szszszsz commented Jan 23, 2019

Main issue with the fwupd-based updating is fixed! Two tasks left:

  • to test updates from the older firmwares to current (I have tested v0.53->v0.53);
  • to fix the firmware version reading plugin, which shows 0.0 at the moment, and might confuse users. It will be shipped with the next release of the fwupd, so it must be done before that. Edit: registered as Nitrokey Storage read firmware version is 0.0 fwupd/fwupd#960.

I have asked as well about the security labels. Waiting for response.

@rugk
Copy link
Author

rugk commented Jan 23, 2019

Also about the "verify upgrade" batch, that would also be a useful feature, I guess.☺

@szszszsz
Copy link
Member

Right. We have talked about that, and automatic verification should be feasible to do.

Regarding the fwupd-based update, plugin for it is fixed now (fwupd/fwupd#961). Waiting until its next release (should be next month, first half).

@hughsie
Copy link

hughsie commented Jan 30, 2019

Release should be on the 1st. You can depend on fwupd 1.2.4 in the interim if that helps.

@szszszsz szszszsz added this to the v0.54 milestone Jan 31, 2019
@szszszsz szszszsz modified the milestones: v0.54, v0.55 Jun 24, 2019
@4jNsY6fCVqZv
Copy link

4jNsY6fCVqZv commented Oct 5, 2019

Hi, I find this issue very worth supporting, thank you for working on it!

However, I have a practical question: What does it look like if I have a Nitrokey storage and want to update it using fwupd?

  • My Nitrokey is never permanently plugged in and therefore part of my system. How does my system recognize that an update is available? For example, if my Software Center was already looking for updates, but my Nitrokey was not mounted at that moment.
  • I also wonder if the update means that all information and keys on the Nitrokey will be overwritten by the update.
  • Can I use fwupd to scrape my Nitrokey with an update? Is there a risk?

@rugk
Copy link
Author

rugk commented Oct 5, 2019

Also there is already v0.54 released, but fwupd/LVFS is still at v0.5.3. So can you please also update it on LVFS?

@4jNsY6fCVqZv
Copy link

4jNsY6fCVqZv commented Oct 5, 2019

When I look at https://fwupd.org/lvfs/device/com.nitrokey.storage.firmware, two questions also arise for me:

  1. Is it possible that the Nitrokey updates are automatically imported from the GitHub repository into LVFS so that the packages are always up to date?

  2. The overview shows that the Nitrokey package does not meet two security requirements:
    a) Update is not cryptographically signed
    b) Firmware cannot be verified after flashing
    Would it make sense and be possible for you to fulfill them?

@rugk
Copy link
Author

rugk commented Oct 5, 2019

  1. Yes, this has been discussed in the forum already. At least the automatic test (b) should be possible, as it has been confirmed before.

@hughsie
Copy link

hughsie commented Oct 5, 2019

If it helps, the LVFS has an account type for automated "robot" uploads. It's how a few of the big OEMs manage all the uploads to the LVFS.

@4jNsY6fCVqZv
Copy link

@hughsie Could you please share a link where the setup of such a feature is documented?

@hughsie
Copy link

hughsie commented Oct 5, 2019

It's not documented, it's the kind of thing I help the vendor with as required. Obviously there are a few authentication-type things to set up.

@4jNsY6fCVqZv
Copy link

Thank you, it would be wonderful if you could support the developers of Nitrokey!
What do you say, @szszszsz?

@rugk
Copy link
Author

rugk commented Oct 6, 2019

…also would possibly be a good idea to "standardize" it (?) and document it… (undocumented features are usually not good)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
invalid Does not require action from the source code POV prio:high Makes the device difficult to use, or insecure. task Requires other action, than editing the code (e.g. on 3rd party sites).
Projects
None yet
Development

No branches or pull requests

5 participants