Update Factory Android Client 1.5 is released
Build and manage from remote your fleet of embedded Android devices with Update Factory. Update OS and application at scale.
- Update the license from EPLv1 to EPLv2.
- Upgrade Kotlin to 1.8.21 which fixes the false positive type mismatch in Android Studio.
- The “uf-client-example” module has moved to a new repository and renamed to “UF Service API Reference Implementation”: https://github.com/Kynetics/uf-service-api-reference-implementation
- Exclude the “os-mock” module from the Jitpack build.
- For security reasons, the
ufConf.conffile is ignored when the Service API is used to configure the client.
- Handle crash caused by failing to evaluate the file scheme used by
- Fix the “Reboot on the same partition” bug, when the UF Client Service crashes during a double-copy OTA update.
See the project Release Notes and artifacts for download
We are excited to announce that we will be at ScalaDays 2023 in Madrid, Spain, from September 12th to 14th, 2023.
On September 12th, come and join us at ScalaBridge for a day of learning about Scala.
Kynetics will also give a talk during the conference:
Stage 3, 13 September 2023 – 10:15 to 11:00
The ScalaDays conference is known for its welcoming and inclusive atmosphere and emphasis on community building and networking.
We are excited to announce that we will be at SCALE 2023 (Southern California Linux Expo) in Pasadena, California, from March 9-12, 2023.
Kynetics is hosted at the Eclipse Foundation Booth in good company with Edgeworx maintainer of IoFog.
This will be an excellent opportunity to catch up with friends in the community and show our latest developments.
The SCALE expo is known for its welcoming and inclusive atmosphere and emphasis on community building and networking.
SCALE features a wide range of exhibitors and sponsors, including some of the biggest names in the tech industry, startups, and community organizations.
- Retry to send messages to the update-server if the sending fails
- Improve message sent to the update-server during A\B update (Marked messages generated by UpdateEngine)
- Kotlinx.coroutines.channels.ClosedSendChannelException exception (fixed updating hara-ddiclient)
- make a new request when the previous response is still open: call response.close (fixed updating hara-ddiclient)
See the project latest Release Notes
The new Android Client includes new features and bug fixes we have been working on for the past months. Let’s cut to the chase and dig into what is new!
Installation time windows. The time windows feature allows customizing the Android Client installation behavior of forced updates. When time windows are specified via API, the UF Android Client Service installs the forced update only when the device time is within the defined time intervals. This feature allows applications that use the integration API to configure when a device is allowed to install updates, e.g., only outside working hours.
Prioritization of Service update. When the Android Client Service is included in an Application Update, its installation is prioritized for other applications that may be included in the same Software Module. This ensures that applications using the most recent integration API can be bundled in a single Software Module with the required Android Client Service to support the corresponding API version.
Bug Fixes. Several bug fixes are implemented in the 1.3 release. See the project Release Notes for a detailed Change log.
Kynetics, a member of the Eclipse Foundation and part of the IoT and Edge Native working group, is present at the EclipseCon 2022 in Ludwigsburg, Germany, October 23-27.
Monday, 23rd, is Community day, and Kynetics will provide updates on Eclipse Hara. Hara facilitates and speeds up the development of DDI API clients for devices connecting to hawkBit servers.
Kynetics presents two sessions during the conference:
Bringing hawkBit to Production
26 Oct 2022 – 10:45 to 26 Oct 2022 – 11:20
Room: Seminarräume 1 – 3
(Andrea Zoleo and Nicola La Gloira)
Eclipse Hara: Updating Embedded Devices with hawkBit Made Easy
27 Oct 2022 – 11:30 to 27 Oct 2022 – 12:05
(Matteo Di Pirro and Nicola La Gloria)
We look forward to catching up again with the Eclipse Community in Ludwigsburg!
The U-Boot project has just released version 2022.07 of the popular bootloader. This release includes a new feature, developed by Kynetics, that enables the use of the GPIO values in bootscripts.
The new feature ensures that:
- scripts can check success or failure of a GPIO read operation
- the GPIO value can be saved to a U-Boot env variable
The feature is enabled by the CONFIG_CMD_GPIO_READ and has the following syntax:
=> gpio read <variable-name> <gpio-pin>
The commit can be seen at:
We are thrilled to announce a new release of the Update Factory Android Client (1.2.0) to manage Android Updates at scale.
The new Android Client includes important improvements and bug fixes that we have been working on during the past months. To achieve this milestone, our customer feedback has been a key factor in order to improve robustness and usability of the Update Factory Android Client. Let’s cut to the chase and dig into what is new!
Switch to Eclipse Foundation’s hara-ddiclient library. During the past year Kynetics has worked hard to refactor its open source uf-ddiclient library, core component of the Update Factory Android Client. The uf-ddiclient library has been since renamed to hara-ddiclient and, as previously announced, Kynetics has contributed the code of the hara-ddiclient library to the Eclipse Foundation. Release 1.2.0 of the Update Factory Android Client marks the full adoption of the vendor neutral hara-ddiclient library that guarantees its code has passed the Eclipse Foundation due diligence.
Improved handling of download failures. Thanks to the feedback from our customer we realized poor internet connections are a common source of headaches. While the Update Factory Android Client already performed multiple download attempts, in release 1.2.0 we improved the retry behavior by implementing an exponential backoff strategy. Please increase the Artifact Download Lifetime to be at least 2 days to fully take advantage of this new feature.
Bugfixes. Several bugfixes are implemented in the 1.2.0 release. See the project Release Notes for a detailed changelog.
We are happy to announce the release of the Update Factory evaluation images for the Raspberry Pi 4. The images are available in the Linux Images section of the Update Factory documentation, including an example update file.
The release of the evaluation images for RPi4 have been possible thanks to recent developments in the new “hardknott” branch (Yocto version 3.3) of our Yocto layer meta-updatefactory.
Here are the release notes:
- Raspberry Pi family boards are now in the list of supported boards
- it is now possible to generate SWUpdate compatible .swu update files directly from the Yocto build system
- expanded the amount of reference images, including evaluation image with Weston implementation of the Wayland compositor and example image update recipe
Have a look at our updated documentation for details about integrating meta-updatefactory in Yocto Linux builds.
Kynetics, member of the Eclipse Foundation and part of the IoT and Edge Native working group, is proud to announce the initial contribution to the Hara project.
Hara-ddiclient is a Kotlin library that facilitates and speeds up the development of DDI API clients for devices connecting to hawkBit servers.
Eclipse hawkBit™ is a domain independent back-end framework for rolling out software updates to constrained edge devices as well as more powerful controllers and gateways connected to IP based networking infrastructure. More information here: https://www.eclipse.org/hawkbit/
Hara-ddiclient can be used from any JVM compatible language (Java, Kotlin, etc) and it is part of the Eclipse Hara™ project, more information can be found here: https://projects.eclipse.org/projects/iot.hawkbit.hara
Source code is available here: https://github.com/eclipse/hara-ddiclient
A special thanks to the Eclipse Foundation for their great work and support.
We’ve released our Update Factory client v.1.1.2 for Android, which resolves the following bugs:
- The download authorization pop-up shows up twice when applying a soft update with API Mode ON and the UF example UI open in full screen.
- When the service starts it doesn’t check the md5 file of the already downloaded files that could be corrupted.
- Service crashes when it receives an unexpected serialized class.
- The service isn’t restarted when its configuration is changed using api.
If you have any questions, feel free to contact us.
Learn how to get started with the latest Android 10 on the highest-end i.MX 8 and the very efficient i.MX 8X applications processors. Kynetics and Toradex partnered to create a streamlined way for you to build a proof of concept in no time, utilizing the Toradex Easy Installer for one-click installation.
But we did not stop there – together, via this webinar, we will demonstrate how the industrial-grade System on Modules (SoMs) from Toradex and the services from Kynetics will lower your time-to-market for your next project.
- You will learn more about Android 10 support on NXP i.MX 8QM applications processor
- Experience how to create a simple proof of concept in minutes
- Learn about the Android root of trust pipeline and differences between development and production operating systems
- Learn how Kynetics and Toradex lower your risk and time-to-market
- Get a preview of upcoming Android support for the i.MX 8M Mini and upcoming SoCs such as i.MX 8M Plus
Kynetics’ own Nicola La Gloria and Roberto Sartori will each be speaking at the event.
If you would like to learn more or register for this webinar, see the Toradex Event Page!
Update 11/19/2020: below you’ll find the webinar:
We’ve put together a demonstration video of Auto Assignment in Update Factory. Auto Assignment is a powerful feature that allows you to deploy specific updates to specific devices that match a pre-determined criteria using custom filters.
To learn more, watch here: Update Factory – HOWTO – Auto Assignment.
Bosch Connected World 2020 is the meeting point for businesses and developers creating connected products and solutions in the digital world, and is a globally recognized venue for networking, and a launchpad for new innovations.
Update Factory 1.0 for embedded Android is out!
- Code refactored in Kotlin to improve maintainability
- Support for A/B double copy system update mechanism alongside single copy and APK updates
- Example Update Factory UI with more information and statistics
- Updated API information, here.
Kynetics and Stefano Babic from Denx will be presenting a poster session at ELC North America 2019 in San Diego – August 21. The poster is focused on remote updates for embedded devices featuring SWUpdate, Eclipse hawkBit, and Update Factory. The session will feature demonstrations running on various NXP i.MX8 boards.
You can download a copy of the session poster, here.
We will be speaking at two sessions:
Challenges of using Containers to Run Graphical Embedded Systems
Despite their quick success and adoption, containers are already a well established technology and their use is steadily rising also in the embedded community. However the specific requirements of an embedded system set new challenges like running demanding graphical applications.
While containers’ most common use case is to easily deploy headless server applications, graphical subsystem containerization is heavily dependent on the SOC GPU architecture.
This session will provide an overview of the challenges encountered running X11 and Wayland applications inside docker containers on ARM SOCs. In particular we will focus on new advantages with respect to a traditional monolithic embedded OS but considering also container drawbacks and limitations.
In our journey we’ll share our considerations and results with respect to different software setups, security & isolation, support for accelerated graphics and video decoding which are not an option on systems featuring a GUI.
Presented by Diego Rondini
More info can be found here.
Improving Embedded Systems Boot Time by Hibernation: An Overview on the State of the Art and a Case of Study on i.MX family of Processors
Improving boot time is always a delicate matter and literature is very rich. Linux based OSes benefit from standard optimization approaches however, Android is still far away from having exciting results especially because most the heavy block happens in user space. Hibernation, suspend-to-disk, is undoubtedly a different perspective to look at improving boot time. When the hibernation mode is entered the system hardware state is copied to non-volatile memory like MMC and all power can be removed by the system. On resume, the system is restored from peripherals to memory in a predetermined way. From this perspective just the very first boot will be a “regular” one and all the subsequents is just a restore operation which can take a few seconds. This session will provide the current state of the kernel development of Hibernation on ARM architectures and our tests on the popular i.MX family of processors including the new i.MX8 which today is one of the most promising SOCs.
Presented by Nicola La Gloria.
More info can be found here.
We will be at the Toradex booth showing off our latest Android BSP developments for the Colibri and Apalis family product lines. If you would like to connect with us at the show to discuss your project, Contact Us.
Check out our latest Android BSP developments on the Toradex Colibri and Apalis family product lines including the iMX8 QM, by visiting the Toradex booth. We are also showcasing our Real-Time Android featuring Asymmetric Multiprocessing on the iMX7D. If you’re interested to our Android Real Time on the new iMX7 ULP, visit the NXP booth.
At the NXP booth we are also supporting the launch of the new Nitrogen 8 featuring the iMX8 Mini, by Boundary Devices.
If you would like to connect with our team at the show, Contact Us
As a contributor to the Open-Source community and member of the Eclipse Foundation, Kynetics’ patches for SWUpdate have been merged with the mainline SWUpdate code on GitHub!
Patches allow SWUpdate’s hawkBit Linux client to support target token and gateway token, improving the authentication of the client device.
Refer to Update Factory documentation to learn more about target and gateway tokens.