Update Factory Android Service 1.6
Update Factory Android Client 1.6.1 is released!
Build and manage from remote your fleet of embedded Android devices with Update Factory. Update OS and application at scale.
This release provides enhanced stability and security:
- Regenerate Android system master keys if they are unusable. Time to time, OEM KeyStore implementations may occasionally incur into generated keys corruption. When this happens, keys become unusable.
- [Eclipse Hara] Fix crash when an invalid token including a newline character is provided/
Embedded World 2024
The Kynetics team is excited to be at embedded world Exhibition&Conference in Nuremberg next week!
Come meet us at Toradex‘s booth, where we’ll showcase and demo our latest Evaluation Android BSP for the new Toradex Verdin module featuring the TI AM62 processor.
We’ll be at Hall 4, Booth 4-240, on April 9-11, 2024. See you there!
Update Factory Android Client 1.5
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.
Enhancements
- 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.conf
file is ignored when the Service API is used to configure the client.
Bug fixes
- Handle crash caused by failing to evaluate the file scheme used by
ufConf.conf
file. - 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
Scala Days 2023
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:
Running Docker-Based Integration Tests in Scala: A Case Study
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.
SCALE 2023
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.
Update Factory 1.4.1 Released!
We are thrilled to announce the availability of the Update Factory Android Client 1.4.1 for OTA Updates on your Embedded Android device!
Enhancements
- 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)
Bug fixes
- 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
Update Factory Client 1.3
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.
EclipseCon 2022
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
Room: Schubartsaal
(Matteo Di Pirro and Nicola La Gloria)
We look forward to catching up again with the Eclipse Community in Ludwigsburg!
New GPIO scripting support added to U-Boot 2022.07
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:
https://github.com/u-boot/u-boot/commit/dd2b8c1155d016800cbbaa1bd70efdd81f9da493
New Update Factory Android Client (1.2.0) released
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.
Update Factory evaluation image for RPi4 is out!
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.
Eclipse IoT and Edge Native: The Hara Project
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.
Webinar – IoT and Edge Device Security: Challenges and Solutions
Kynetics will be speaking at a webinar hosted by FOSSASIA Summit 2021 on March 18, 2021. The subject is: IoT and Edge Device Security: Challenges and Solutions.
UF Technical Documentation Updates
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.
Useful links:
If you have any questions, feel free to contact us.
Webinar – Get Started with Android 10 on NXP® i.MX 8 and i.MX 8X Applications Processors
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.
Key takeaways:
- 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:
Auto Assignment in Update Factory – How To
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.
Kynetics @ Embedded World 2020 – Nuremberg, Germany
Kynetics will be at Embedded World 2020 thanks to our great partners to showcase our latest developments on our Android OS BSPs available for a variety of boards.
Join us at the Toradex booth (Hall 4, #4-410) for interactive sessions, and the TechNexion booth (Hall 1, #1-307) for demos.
Kynetics @ BCW2020 – Berlin, Germany
As part of the Eclipse foundation, Kynetics is attending the Bosch Connected World 2020, February 19-20, to collaborate with other IoT Workgroup Members.
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.
Android Client v1.0 for Update Factory
Update Factory 1.0 for embedded Android is out!
New Features:
- 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 @ EclipseCon Europe 2019
Kynetics‘ Nicola La Gloria will be speaking at EclipseCon Europe 2019 in Ludwigsburg, Germany on Tuesday 10/22/2019. The session is: From Eclipse hawkBit to Update Factory: How to Take an Open Platform to Production (Sponsored by Bosch).
You can find the presentation abstract here.
Poster Session @ ELC America 2019 – San Diego
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.
Kynetics @ ELC North America 2019
Kynetics will be speaking at the Embedded Linux Conference – North America 2019 in San Diego, California during August 21 – 23 at the Hilton San Diego Bayfront.
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.
Kynetics @ Embedded Technologies Expo – 2019
Kynetics will be attending the inaugural Embedded Technologies Expo & Conference 2019 in San Jose, California during June 25 to June 27, 2019.
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.
Kynetics @ Embedded World Conference – 2019
Kynetics will be attending Embedded World 2019 in Nuremberg, Germany on February 26 to February 28, 2019.
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
OrangePi Zero Plus 2 H3 Support in mainline Linux Kernel
Kynetics has developed and upstreamed support for the OrangePi Zero Plus 2 H3 board in the Linux kernel. Starting with the Linux kernel v4.20 device tree, sun8i-h3-orangepi-zero-plus2.dts is included in the stable tree to support the board.
You can find the patches at Kernel.org.