Hope to see you at the AGL booth at CES

Automotive Grade Linux (AGL) is a collaborative open source project accelerating development of a fully open software platform for automotive applications. At CES 2020, AGL will be highlighting both members and the broader AGL ecosystem, demonstrating connected car services, audio innovations, instrument cluster applications, security solutions and more, all running on the AGL open source software platform.

Again this year, Konsulko Group will be supporting the AGL booth at CES [Westgate (Tech East) Smart Cities, booth 1815]. Come see us during the show or at the AGL Evening Reception on Wednesday, January 8 from 6:00pm – 8:00pm.

Building a DIY SOHO router, 6 months on

Building a DIY SOHO router using the Yocto Project build system OpenEmbedded, 6 months on

A little more than six months ago, I posted part 4 of our series on making a SOHO router using the Yocto Project and OpenEmbedded. After 6 months of deployment, this is a good time to follow up on how the router has worked out in residential use.  The zeus code-name Yocto Project release was just announced, and that means that the release we started out with in part 1 is now close to being out of support.  That’s not a problem since we designed in support for moving to new software releases using Mender to deliver software updates.

One of the most important metrics in a project like this is, how does it perform?  From the standpoint of a family of 4 heavy internet users, it’s gone really well.  The WiFi range is only a little better than before, but that’s not really a function of the software.  Making everyone use Pi-hole has only resulted in a small number of places where I needed to override the blacklist and allow something in.  From an end-user point of view, this has worked as well as any off-the-shelf router.  From the administrator point of view, I’ve done scheduled maintenance during the day on a weekend, and it really did take only the 5 minutes I promised everyone rather than turning into one of those worst case scenarios where something broke and it takes an hour to fix it.  In fact, the update portion of the plan has gone exceedingly well.  While I didn’t make a post about moving to warrior from thud, I did that transition a while ago and it went smoothly.  Mender introduced a change that required attention be paid while migrating, but it was documented and went smoothly.  On the metadata side, the upgrade was as easy as one could hope.  A few of the bbappend files needed to be updated for a new version, and some of the changes I had made and pushed upstream as part of the original series were now just included, so they got dropped from my layer.

One of the things I touched on in the series was about using the update functionality to test development changes in a production environment.  The chance to do that came up with a systemd-networkd issue that was a problem in my local setup.  The upstream project requested people verify the problem exists with newer versions of systemd and a new enough version was available in what would become zeus.  So I made a quick weekend project of doing an update of my layers to build with a newer version of all of the metadata, removed the work-around, and flashed the image in place.  A quick reboot confirmed that the issue was indeed fixed, and then rather than commit to running an otherwise in-progress release I simply rebooted and automatically rolled back to my stable release.  With the network back up again, I updated the issue in upstream Bugzilla to let them know the problem was fixed.  After a bit longer, a few other people also confirmed it worked for them and now the issue is resolved.

In terms of the metadata itself, there have been a few clean-ups to what I did in my own layer with each release update I’ve done.  In the series I left out what hardware I was building on, and I also left out talking about using the linux–yocto recipe.  Since I first wrote the series linux-yocto has become easier to use, and I found this as part of reviewing my own changes like they were brand new with each upgrade.  I was setting some variables that initially didn’t have reasonable default values, and now they do and I don’t need to set them myself.  This in fact means that moving forward, rather than a version-specific kernel bbappend file, I can go with an always-used one to enable the additional kernel CONFIG options that I need for a time-based firewall.

I started out by mentioning that zeus has been released, and I’m working on migrating to it as I write this.  In fact, it’s so new that I’m doing my own little port of the meta-mender core layer to zeus for my needs. I expect that by the time I do my first update from one build of zeus to the next there will be an official update I’ll be able to use instead.  Looking forward, this was a great little project that also was a lot of fun.  The goals I set way back at the start have been met, and I’m happier with my network than I have been in a long time.  Of course, the list of features an off-the-shelf system provides is always growing, and there’s now monitoring and display items on my weekend project list now to keep up.  I foresee using and improving this setup for a long time to come.

Konsulko Group sponsors OpenFest 2019

Again this year, Konsulko Group is very pleased to be a sponsor of OpenFest, November 2-3, 2019 in Sofia, Bulgaria. As a team of embedded Linux and Open Source Software community and industry veterans, we are always happy to support important OSS events.

Headquartered in California, Konsulko works with customers throughout North America, Europe and Asia to develop and maintain Open Source-based solutions for products. Our European subsidiary, Konsulko Ltd is based in Sofia.

Konsulko’s focus is upstream and production software design, enablement, optimization, and maintenance for customers in a wide array of embedded software markets including automotive, networking, industrial, medical devices and IoT.

Our senior leadership have been contributors in the Linux kernel and other OSS communities since the late 1990s. Konsulko engineers are involved today in many Open Source projects, including the Linux kernel, U-Boot, Yocto Project, OpenEmbedded, and Automotive Grade Linux (AGL). Members of the Konsulko team have been key participants in major software projects with Google, Sony, NEC, Nokia, Nvidia, MIPS, Texas Instruments, NXP, Juniper Networks, Huawei, Robert Bosch, Groupe PSA, and Jaguar Land Rover.

If you are attending OpenFest, we’d love to talk with you about engaging Konsulko’s engineering expertise and experience on your project. Or if you’re an accomplished software developer with a passion for Linux, please contact us about joining the Konsulko team.

Speaking at ELCE and Yocto Project Summit

Matt Porter, Konsulko Group CTO and Leon Anavi, Konsulko Senior Software Engineer are presenting at co-located Linux Foundation events in Lyon, France, October 30 – November 1, 2019.

At Embedded Linux Conference Europe, Leon will speak on Home Automation with MQTT, a machine-to-machine real-time communication protocol widely used in the Internet of Things, as part of the Open IOT Summit.

Matt Porter will present his very popular tutorial, Introduction to IIO and Input Drivers. Students will create their own game controller driver and use it to play a game on their devices. The lab will be conducted using the provided hardware kit.

The Yocto Project Summit is a technical conference to learn about Yocto Projects’ direction, get training on the next wave of embedded Linux technologies, and network with Yocto Project maintainers, experts and peers.

In his session on Working with NVIDIA Tegra BSP and Supporting Latest CUDA Versions, Leon Anavi will share his experience in customizing Poky, the reference distribution of the Yocto Project, for embedded devices with NVIDIA Tegra SoCs using OpenEmbedded build system and the BSP meta layer meta-tegra.

We hope to see you there.

Don’t miss the AGL All Member Meeting

The Automotive Grade Linux (AGL) All Member Meeting brings the AGL community together to collaborate, learn about the latest developments and share best practices. What better place to drive rapid innovation than Monte Carlo, the home of the Circuit de Monaco. AGL members who have not already done so can register here. Konsulko Group is looking forward to seeing you there for a great AMM.

Custom Linux Distro for NVIDIA CUDA Devices

How to get started and build a minimal custom Linux distribution for embedded NVIDIA CUDA-enabled devices using the Yocto Project (YP) and OpenEmbedded (OE).

ELCNA technical talks and in-depth training

Embedded Linux Conference (ELC) is the premier vendor-neutral technical conference on embedded Linux and industrial IoT products. This year, ELC North America will be held in San Diego, August 21-23, 2019, at the beautiful Hilton Bayfront, right on the harbor and just over a pedestrian bridge from Petco Park and East Village.

On Thursday, August 22, Leon Anavi, Senior Software Engineer at Konsulko Group will present a Comparison of Open Source Software Home Automation Tools that allow users to customize the setup depending their own specific needs and manage devices manufactured by different vendors in one place. Leon will focus on popular open source tools, Home Assistant, OpenHAB and Domoticz, and explore the supported embedded Linux development boards on which these platforms can be installed, as well as the IoT with which they can interact out of the box.

Also on Thursday, Vitaly Wool, Senior Staff Engineer and General Manager of Konsulko AB, will give a technical talk on Secure Updates for a Memory Constrained XIP (eXecute In Place) System looking at technology that allows code to be executed directly from flash without copying the code to RAM first. The memory footprint can be optimized very tightly and this permits really low-power IoT Linux appliances. However, there is a big obstacle: no standard secure update process for such systems will work due to the very nature of XIP. How can you update the flash when it must always be ready to execute? This talk will provide some real world answers and examples.

The next day, Friday, August 23, Matt Porter, Konsulko Group CTO, will present a tutorial, Introduction to IIO and Input Drivers to briefly look at the Linux IIO and Input subsystems and how to gather information from hardware documentation to assist in software development. In a guided hands-on lab, students will write a new driver that leverages the IIO and Input kernel subsystems, and create their own game controller driver and use it to play a game on their devices.

For the first time in 2019, Embedded Linux Conference North America will co-locate with Open Source Summit North America. We hope you can join us, along with 800+ developers and technical experts from across the globe for education, collaboration, deep-dive learning, and some good times in San Diego.

Konsulko Group sponsors TuxCon conference

On June 8th and 9th, Konsulko Group is proud to again be a Gold Sponsor of the 6th annual TuxCon conference in Plovdiv, Bulgaria, the 2019 European Capital of Culture.

Headquartered in California, Konsulko works with our customers throughout North America, Europe and Asia. Our European subsidiary, Konsulko Ltd is based in Sofia, Bulgaria.

If you are building a new product, we’d love to talk with you about engaging Konsulko’s engineering expertise and experience on your project. Or if you’re a software developer with a passion for Linux, please contact us about joining the Konsulko team.

Globally Employable Engineers

In 2004, we founded Embedded Alley Solutions, and many things we did for the next five years simply felt intuitive. We were, after all, embedded Linux engineers with little business, customer relationship management and human resources experience.

Intuition served us well. We were doing agile-style software development long before it became mainstream, and soon it seemed like everyone knew our name. Our ability to communicate internally was second to none, using nothing more than emails and irc, creating a close knit team that felt as though everyone is in the same office, although the team was highly distributed.

Our recruiting practice was not so much about hiring as it was about building and fostering relationships with top talent around the world until the time was right for both parties to make the move. Outside the US, we tried to find the best open source talent around the world, rather than building an “outsourcing center.” We grew the company with that stellar talent and were acquired in 2009.

In the years that followed, every now and then I would read advice in an article or business book, written by some acknowledged industry expert, and think “That’s right! That’s exactly what we were doing at EA!” It was interesting and amusing to find out from others that what we had done on the business side helped make Embedded Alley so successful. I note only the business aspects here because the engineering talent we had was hard to match.     

At Konsulko Group, I find myself having many of the same discussions with customers as we did back then, and I lean on that experience. One recurring discussion we had at EA was about our “offshore engineers,” as customers would often refer to engineers who resided outside the US. Embedded Alley had a small office in Europe, as well as single employees working from a home office all over the world. We always told customers that, no, we do not have a two-tier outsourcing strategy and these were not “offshore” developers. We simply searched for the best talent, with very specific software development experience, and that talent is not always to be found next door to our Silicon Valley office.

Fast forward 10 years after the EA acquisition. I recently found myself having the same offshore discussion with a customer. A specific principal level engineer was located in an European country not known as a center for high tech. Why was it that we were proposing to invoice him at the same rate as the other US-based principal engineers? This customer had done their homework and evidence showed that the average engineering rates in this European country are significantly lower.  

I paused on the phone and thought back to our Embedded Alley days. What did I tell customers then? I realized that we never had a good, quantifiable way to explain to a customer why our engineering rates for developers outside the US, though lower than market rates in Silicon Valley, were significantly higher than the typical “outsourcing rates” in a particular location. We had talked about our hiring strategy and looking for the best talent wherever we might find it, but there were no metrics I could lean on.

Then I thought about the work this particular engineer had done at Embedded Alley; and then after the acquisition, he continued at Mentor Graphics (always working remotely from Europe). When he left Mentor, he contracted for Texas Instruments, then another US company, and finally, after the founding of Konsulko Group “rejoined” our team. Meanwhile he had had other opportunities, from contracting gigs to full time jobs in the US with H1B visa sponsorship.

And that’s when it struck me. This was not an engineer working in an offshore office at an offshore salary. “This is a globally employable engineer,” I said on the phone, “and we pay him a US level salary in order to retain him.” I continued to recount his work history and track record. The buyer understood and we moved forward with the deal.

What is a globally employable engineer? In my mind, it’s someone that could get a good job anywhere around the world due to demand of their skills. It’s someone with a minimum of ten years of experience, highly talented, with excellent English language skills and some customer-facing experience. The ability to travel when necessary helps a lot, and that means the ability to get a B1/B2 US visa for occasional visits. Such engineers may choose to continue to live in their home country, or elsewhere in the world, but tapping their talent does not come at offshore salary cost.

It is time for the high tech industry to move beyond Outsourcing 1.0, and embrace the Globally Employable model to access the best engineering talent on earth, wherever on the planet they choose to reside.  

Konsulko Group to present at ALS Tokyo

Now in its eighth year, Automotive Linux Summit connects the Linux developer community with vendors and users to drive the future of embedded devices in the automotive arena.

On Wednesday, July 17, Scott Murray and Matt Ranostay of Konsulko Group will present Building an AGL Telematics Profile Demonstration Platform. This profile serves as a base for building headless telematics device images. Scott and Matt will discuss a practical use case, using the profile to build an AGL demonstration platform for a vehicle tracker or an insurance company’s driver data collection device.

Co-located with Open Source Summit Japan, ALS will be held at this year at Toranomon Hills Forum in Tokyo. Registration information can be found here.