GSoC/2018/StatusReports/AbhijeetSharma: Difference between revisions
Abhijeet2096 (talk | contribs) m →Contact |
Abhijeet2096 (talk | contribs) Updated Page with phase-2 developement |
||
Line 1: | Line 1: | ||
==Discover: fwupd integration== | ==Discover: fwupd integration== | ||
Currently, Discover does most of the general job required for a typical plasma user but it lacks firmware upgrade on devices. This project will integrate firmware upgrade through fwupd in discover. After addition of this feature, Discover will be able to upgrade the firmware of devices attached to the system (via USB/SOC) on Demand. | Currently, Discover does most of the general job required for a typical plasma user but it lacks firmware upgrade on devices. This project will integrate the firmware upgrade through fwupd in discover. After addition of this feature, Discover will be able to upgrade the firmware of devices attached to the system (via USB/SOC) on Demand. | ||
'''Mentors:''' David Edmundson Aleix Pol | '''Mentors:''' David Edmundson Aleix Pol | ||
Line 24: | Line 24: | ||
[[File:discover-fwupd-display-devices.png]] | [[File:discover-fwupd-display-devices.png]] | ||
===Coding Period Phase - II (June 11th to July 9th)=== | |||
During this period I have implemented the following things: | |||
* Firmware Updates Section is Now Cleaner: I have removed the unnecessary things like review backend, and screenshots which are not applicable for these updates. Also now the icons are decided based on the type of device. | |||
[[File:Discover-fwupd-Install-app.png]] | |||
* Refresh Remotes is now implemented: Now the metadata of enabled remotes are updating. Currently, the frequency is set to 30 days. These refreshing is like apt-get updates in Ubuntu based systems but for fwupd. The metadata is downloaded into cache directory of discover and then these files are sent to fwupd-daemon. In the attached screenshot you can see the downloaded files in the cache directory. The checksum is downloaded first and if it’s unchanged then only the new file is downloaded. | |||
[[File:Discover-fwupd-Remotes-Cache.png]] | |||
* Updates are shown on the updates page: The firmware updates are now shown in the update page of discover with all other updates. These updates are categorizing in “System-Updates”. These changes can be seen in the attached screenshot. (Missing string, please see the note!) | |||
* Added Remotes Setting and EULA: Now the remotes can be enabled and disabled in the setting menu of the discover. If the user is enabling the remote then, he has to accept the EULA provided by LVFS. Additionally, the user also requires the root password to enable/disable it. I have also removed the unnecessary options like adding a new remote. Also, for now, I have disabled deleting the remotes. | |||
[[File:Discover-fwupd-Show-Eula.png]] | |||
[[File:Discover-fwupd-polkit.png]] | |||
[[File:Discover-fwupd-Remote-Removal-Not-Allowed.png ]] | |||
* Testing Installs on Real Devices: Since I haven’t received the device, I still have to wait to test the code. The code for install is written, but it needs regress testing and improvement. | |||
Note: The Updates shown in the above screenshots are purposely put to visualize the code! I don’t have a device which supports firmware updates by LVFS | |||
==Development Branch== | ==Development Branch== | ||
Line 39: | Line 66: | ||
*[https://blog.abhijeet2096.me/index.php/2018/04/29/gsoc-18-fwupd-integration/ Blog-1] | *[https://blog.abhijeet2096.me/index.php/2018/04/29/gsoc-18-fwupd-integration/ Blog-1] | ||
*[https://blog.abhijeet2096.me/index.php/2018/06/10/gsoc-fwupd-integration-in-kde-discover-phase-i/ Blog-2] | *[https://blog.abhijeet2096.me/index.php/2018/06/10/gsoc-fwupd-integration-in-kde-discover-phase-i/ Blog-2] | ||
*[https://blog.abhijeet2096.me/index.php/2018/07/07/gsoc-fwupd-integration-in-kde-discover-phase-ii/ Blog-3] | |||
==Contact== | ==Contact== | ||
'''IRC:''' SharmaJiKaBeta , SharmaJiKaBeta_M | '''IRC:''' SharmaJiKaBeta , SharmaJiKaBeta_M | ||
'''WEBSITE:''' https://abhijeet2096.me |
Revision as of 10:05, 7 July 2018
Discover: fwupd integration
Currently, Discover does most of the general job required for a typical plasma user but it lacks firmware upgrade on devices. This project will integrate the firmware upgrade through fwupd in discover. After addition of this feature, Discover will be able to upgrade the firmware of devices attached to the system (via USB/SOC) on Demand.
Mentors: David Edmundson Aleix Pol
Deliverables
- On demand firmware upgrades via fwupd from Discover.
- Notification Support on New firmware updates.
- Setting UI for new firmware upgrades as per discussion with Discover Team.
Work Report
Community Bonding Period
During the community bonding period, I started with understanding the code base of discover. I found the way to add this functionality of Integrating fwupd via a new Backend i.e FwupdBackend. I then discussed this with my mentor Aleix and I started Working on this new backend. During this period we also discussed ways of communication and finally landed on emails with occasional video calls via opentok.
Coding Period Phase - I (May 14th to June 10th)
During this period I started by adding a new backend i.e FwupdBackend from a skeleton backend i.e DummyBackend. After adding the skeleton, I had to link the libfwupd with discover via CMake. For Linking, I added a FindLIBFWUPD.cmake so that cmake could find the required libraries. After successfully linking these libraries I proceeded with making the constructor and destructor for making the fwupdclient object to talk to the fwupd daemon. After this, I proceeded with displaying the attached devices discovered via fwupd for checking that client object is able to talk to the fwupd daemon successfully.
Discover Displaying attached devices discovered via fwupd daemon
Coding Period Phase - II (June 11th to July 9th)
During this period I have implemented the following things:
- Firmware Updates Section is Now Cleaner: I have removed the unnecessary things like review backend, and screenshots which are not applicable for these updates. Also now the icons are decided based on the type of device.
- Refresh Remotes is now implemented: Now the metadata of enabled remotes are updating. Currently, the frequency is set to 30 days. These refreshing is like apt-get updates in Ubuntu based systems but for fwupd. The metadata is downloaded into cache directory of discover and then these files are sent to fwupd-daemon. In the attached screenshot you can see the downloaded files in the cache directory. The checksum is downloaded first and if it’s unchanged then only the new file is downloaded.
- Updates are shown on the updates page: The firmware updates are now shown in the update page of discover with all other updates. These updates are categorizing in “System-Updates”. These changes can be seen in the attached screenshot. (Missing string, please see the note!)
- Added Remotes Setting and EULA: Now the remotes can be enabled and disabled in the setting menu of the discover. If the user is enabling the remote then, he has to accept the EULA provided by LVFS. Additionally, the user also requires the root password to enable/disable it. I have also removed the unnecessary options like adding a new remote. Also, for now, I have disabled deleting the remotes.
- Testing Installs on Real Devices: Since I haven’t received the device, I still have to wait to test the code. The code for install is written, but it needs regress testing and improvement.
Note: The Updates shown in the above screenshots are purposely put to visualize the code! I don’t have a device which supports firmware updates by LVFS
Development Branch
Important Links
Discussion Links
- fwupd discussion forum I recently posted on fwupd discussion forum regarding adding a virtual device to simulate fwupd!
GSoC Proposal Link
Blog Posts
Contact
IRC: SharmaJiKaBeta , SharmaJiKaBeta_M
WEBSITE: https://abhijeet2096.me