The Embedded Linux Conference 2017 and the OpenIoT Summit 2017 will take place earlier than last year, on February 20 – 23, 2017 in Portland, Oregon, USA. This will be the 12th year for ELC, where kernel & system developers, userspace developers, and product vendors meet and collaborate. The schedule has been posted on the Linux Foundation website, and whether you’re going to attend or not, it’s always informative to check out the topics.
So as usual, I’ll make a virtual schedule for all 5 days.
For the first day, the selection is easy, as choices are limited, and the official first day it actually on Tuesday. You can either attend a full-day paid training sessions entitled “Building A Low Powered Smart Appliance Workshop“, and the only session that day:
- 14:30 – 15:20 – Over-the-air (OTA) Software Updates without Downtime or Service Disruption, by Alfred Bratterud, IncludeOS
Millions of consumers are at risk from security vulnerabilities caused by out-of-date software. In theory all devices should update automatically, but in practice, updating is often complicated, time-consuming and requires manual intervention from users. IncludeOS is a unikernel operating system that enables over-the-air (OTA) software updates of connected devices without downtime or service disruption.
The talk starts with a brief introduction to unikernels, their capabilities and how they can be very beneficial for IoT products from security, performance and operational perspectives. Then we give an overview of the IncludeOS Live Update functionality, which we use to demonstrate an atomic update of a device using Mender.io.
- 10:30 – 11:20 – Bluetooth 5 is here, by Marcel Holtmann, Open Source Technology Center, Intel
The next version of Bluetooth has been released just a few month ago. This presentation gives an introduction to Bluetooth 5 and its impacts on the ecosystem. It shows new and exciting use cases for low energy devices and IoT with the focus on Linux and Zephyr operating systems.
With Bluetooth 5, the wireless technology continues to evolve to meet the needs of the industry as the global wireless standard for simple and secure connectivity. With 4x range, 2x speed and 8x broadcasting message capacity, the enhancements of Bluetooth 5 focus on increasing the functionality of Bluetooth for the IoT. These features, along with improved interoperability and coexistence with other wireless technologies, continue to advance the IoT experience by enabling simple and effortless interactions across the vast range of connected devices.
- 11:30 – 12:20 – Embedded Linux Size Reduction Techniques, by Michael Opdenacker, Free Electrons
Are you interested in running Linux in a system with very small RAM and storage resources? Or are you just trying to make the Linux kernel and its filesystem as small as possible, typically to boot faster?
This talk will detail approaches for reducing the size of the kernel, of individual applications and of the whole filesystem. Benchmarks will you show how much you can expect to save with each approach.
- 14:00 – 14:50 – Moving from IoT to IIoT with Maker Boards, Linux, and Open-Source Software Tools, by Matt Newton, Opto 22
In this session, developers will learn how to use the open-source tools, maker boards, and technology they’re already familiar with to develop applications that have the potential to deliver a massive positive impact on society. There are billions of devices–sensors, I/O, control systems, motors, pumps, drives–siloed behind proprietary control and information systems, waiting to be tapped into. This workshop is geared towards teaching the developer community how to use the tools they’re already familiar with to access, monitor, and manage these assets to create a potentially huge positive impact on our way of life.
- 15:00 – 15:50 – Debugging Usually Slightly Broken (USB) Devices and Drivers, by Krzysztof Opasiak, Samsung R&D Institute Poland
USB is definitely the most common external interface. Millions of people are using it every day and thousands of them have problems with it. Driver not found, incorrect driver bound, kernel oops are just examples of common problems which we are all facing. How to solve them or at least debug? If you’d like to find out, then this talk is exactly for you!
We will start with a gentle introduction to the USB protocol itself. Then standard Linux host side infrastructure will be discussed. How drivers are chosen? How can we modify matching rules of a particular driver? That’s only couple of questions which will be answered in this part. Final part will be an introduction to USB communication sniffing. Krzysztof will show how to monitor and analyze USB traffic without expensive USB analyzers.
- 16:20 – 17:10 – SDK in the Browser for Zephyr Project, by Sakari Poussa, Intel
- 17:20 – 18:10 – Fun with Zephyr Project and BBC micro:bit, by Marcel Holtmann, Open Source Technology Center, Intel
This presentation shows how Zephyr empowers the BBC micro:bit devices and its Bluetooth chip to do fun things.
- 18:15 – 19:00 – Yocto Project & OpenEmbedded BoF, by Sean Hudson, Mentor
Got a comment, question, gripe, praise, or other communication for the Yocto Project and/or OpenEmbedded technical leaders? Or maybe you just want to learn more about these projects and their influence on the world of embedded Linux? Feel free to join us for an informal BoF.
- 10:40 – 11:30 – Journey to an Intelligent Industrial IOT Network, by Giuseppe (Pino) de Candia, Midokura
There are 66 million networked cameras capturing terabytes of data. How did factories in Japan improve physical security at the facilities and improve employee productivity? With the use of open systems, open networking, open IOT platforms of course!
Edge Computing reduces possible kilobytes of data collected per second to only a few kilobytes of data transmitted to the public cloud every day. Data is aggregated and analyzed close to sensors so only intelligent results need to be transmitted to the cloud while non-essential data is recycled. The system captures all flow information, current and historical.
Pino will draw from real IIOT use cases and discuss the variety of operations and maintenance tool to support proactive policy-based flow analysis for edge computing or fog nodes enabling IT and OT end to end visibility from a network perspective.
- 11:40 – 12:30 – SecurityPI: IronClad your Raspberry Pi, by Rabimba Karanjai
Raspberry Pi has garnered huge interest in last few years and is now one of the most popular Linux boards out there sparking all kinds of DIY projects. But most of these function with the default settings and connect to the Internet. How secure is your Pi? How easy is it for someone to take over and make it part of a botnet or sneak peek on your privacy?
In this talk Rabimba Karanjai will show how to harden the security of a Raspberry Pi 3. He will showcase different techniques with code examples along with a toolkit made specifically to do that. This cookbook will harden the device and also provide a way to audit and analyze the behavior of the device constantly. After all, protecting the device finally protects us all, by preventing another dyndns DDOS attack.
The IoT will be connected by tiny edge devices with resource constraints. The IoTivity-Constrained project is a small-footprint implementation of the Open Connectivity Foundation’s (OCF) IoT standards with a design that caters to resource-constrained environments. It is lightweight, maintainable and quickly customizable to run on any hardware-software deployment.
This talk will present IoTivity-Constrained’s architecture, features, APIs, and its current integration with a few popular real-time operating systems. It will end with a discussion of IoTivity-Constrained’s adaptation for the Zephyr RTOS.
- 15:00 – 15:50 – RIOT: The Friendly Operating System for the IoT (If Linux Won’t Work, Try RIOT), by Thomas Eichinger, RIOT-OS
This presentation will start with RIOT’s perspective on the IoT, focusing on CPU- and memory-constrained hardware communicating with low-power radios. In this context, similarly to the rest of the Internet, a community-driven, free and open source operating system such as RIOT is key to software evolution, scalability and robustness. After giving an overview to RIOT’s overall architecture and its modular building blocks, the speaker will describe in more detail selected design decisions concerning RIOT’s kernel, hardware abstraction and network stack. Furthermore, the talk will overview the development and organizational processes put in place to help streamline the efforts of RIOT’s heterogeneous community. The presentation will end with an outlook on upcoming features in RIOT’s next releases and longer-term vision.
- 16:20 – 17:10 – Graphs + Sensors = The Internet of Connected Things, by William Lyon, Neo4j
There is no question that the proliferation of connected devices has increased the volume, velocity, and variety of data available. Deriving value and business insight from this data is an ever evolving challenge for the enterprise. Moving beyond analyzing just discrete data points is when the real value of streaming sensor data begins to emerge. Graph databases allow for working with data in the context of the overall network, not just a stream of values from a sensor. This talk with cover an architecture for working with streaming data and graph databases, use-cases that make sense for graphs and IoT data, and how graphs can enable better real-time decisions from sensor data. Use cases covered will include data from oil and gas pipelines and the transportation industry.
- 9:00 – 9:50 – Android Things: High Level Introduction, by Anisha Dattatraya & Geeta Krishna, Intel Corporation
An overview of the basic concepts behind Android things and its structure and components is presented. Upon completion of this session, you should have a good overview of how Android Things brings simplicity to IoT software and hardware development by providing a simple and secure deployment and update model. This presentation provides the context needed for the Android Things Tutorial and other deep dive sessions for Android Things.
- 10:00 – 10:50 – 2017 is the Year of the Linux Video Codec Drivers, by Laurent Pinchart, Ideas on Board
Codecs have long been the poor relation of embedded video devices in the Linux kernel. With the embedded world moving from stateful to stateless codecs, Linux developers were left without any standard solution, forcing vendors and users to resort to proprietary APIs such as OpenMAX.
Despair no more! Very recent additions to V4L2 make it possible to support video codecs with standard Linux kernel APIs. The ChromeOS team has proved that viable solutions exist for codecs without resorting to the proprietary options. This presentation will explain why video codecs took so long to properly support, and how the can be implemented and used with free software and open APIs.
- 11:10 – 12:00 – Embedded Linux – Then and Now at iRobot, by Patrick Doyle, iRobot
Mr. Doyle will review the history of the use of embedded Linux at a commercial company (iRobot) and discuss the challenges faced (and overcome) then and now. While home routers and WiFi Access Point developers have enjoyed the benefits (and risks) of deploying Linux based products, that has not always been the case for other products. With the advent of low cost cell phone processors and vendor support for Linux, it is now possible to embed a Linux based solution in a consumer retail product such as a vacuum cleaner, minimizing risk and development time in the process.
- 12:10 – 13:00 – Mainline Linux on AmLogic SoCs, by Neil Armstrong, BayLibre
Inexpensive set-top boxes are everywhere and many of them are powered by AmLogic SoCs. These chips provide 4K H.265/VP9 video decoding and have fully open source Linux kernel and U-boot releases. Unfortunately most of the products based on these devices are running an ancient 3.10 Android kernel. Thankfully AmLogic has put a priority on supporting their chips in the mainline Linux kernel.
Neil will present the challenges and benefits to pushing support for these SoCs upstream, as well as the overall hardware architecture in order to understand the Linux upstreaming decisions and constraints. He will also detail the future development plans aiming to offer a complete experience running an Upstream Linux kernel.
- 14:30 – 15:20 – OpenWrt/LEDE: When Two become One, by Florian Fainelli, Broadcom Ltd
OpenWrt is a popular Linux distribution and build system primarily targeting the Wi-Fi router/gateway space. The project has been around for more than 12 years, but has recently experienced a schism amongst the developers over various issues. This resulted in the formation of the LEDE project. This split has caused confusion among the community and users. This presentation will cover what OpenWrt/LEDE projects are, what problems they are solving in the embedded Linux space, and how they do it differently than the competition. We will specifically focus on key features and strengths: build system, package management, ubus/ubox based user space and web interface (LuCI). We will demonstrate a few typical use cases for the audience. Finally, the conclusion will focus on the anticipated reunification of the two projects into one and what this means for the community and the user base.
- 15:30 – 16:20 – Unifying Android and Mainline Kernel Graphics Stack, by Gustavo Padovan, Collabora Ltd.
The Android ecosystem has tons of out-of-tree patches and a good part of them are to support Graphics drivers. This happened because the Upstream Kernel didn’t support everything that is needed by Android. However the Mainline Graphics Stack has evolved in the last few years and features like Atomic Modesetting and Explicit Fencing support are making the dream of running Android on top of it possible. In other words, we will have Android and Mainline Kernels sharing the same Graphics stack!
This talk will cover what has been happening both on Android and Mainline Graphics Stacks in order to get Android to use the Upstream Kernel by default, going from what Android have developed to workaround the lack of upstream support to the latest improvements on the Mainline Graphics Stack and how they will fit together.
- 16:30 – 17:20 – Developing Audio Products with Cortex-M3/NuttX/C++11, by Masayuki Ishikawa, Sony
Sony released audio products with Cortex-M3 in late 2015. Considering development efficiency, code reusability, feature enhancements and training costs, we decided to port POSIX-based open source RTOS named NuttX to ON Semiconductor’s LC823450 by ourselves, modified the NuttX for fast ELF loading, implemented minimum adb (Android debug bridge) protocols for testing purpose, DVFS in autonomous mode with a simple CPU idle calculation, wake_lock and stack trace which are popular in Linux/Android worlds. Middleware and Applications were developed in C++11 with LLVM’s libc++ which are also popular for large software systems. To debug the software, we implemented NuttX support for OpenOCD so that we can debug multi threaded applications with gdb. In addition, we used QEMU with the NuttX to port bluetooth stack and in-house GUI toolkit and finally got them work before we received LC823450 FPGA.
That’s all. I had to make choice, and did not include some sessions I found interested due to scheduling conflicts such as “Comparing Messaging Techniques for the IoT” by Michael E Anderson, The PTR Group, inc, and “Improving the Bootup Speed of AOSP” by Bernhard Rosenkränzer, Linaro.
You’ll need to register and pay an entry fee if you want to attend the Embedded Linux Conference & OpenIoT Summit:
Early Registration Fee: US$550 (through January 15, 2017)
- Standard Registration Fee: US$700 (January 16, 2017 – February 5, 2017)
- Late Registration Fee: US$850 (February 6, 2017 – Event)
- Academic Registration Fee: US$175 (Student/Faculty attendees will be required to show a valid student/faculty ID at registration.)
- Hobbyist Registration Fee: US$175 (only if you are paying for yourself to attend this event and are currently active in the community)