Marcus Folkesson

Embedded Linux Artist

Linux wireless regulatory domains

Linux wireless regulatory domains I had a case where I had an embedded system that should act as a WiFi Access Point on the 5GHz band. The HW was capable and the system managed to act as a client to 5GHz networks, so everything looked good. However, the system could not create an access point on some frequencies. How is it that? It's all about regulatory domains! Regulatory domains Radio regulations is something that applies to all devices that make transmissions in the radio spectrum. cover

Add support for MCP39XX in Linux kernel

Add support for MCP39XX in Linux kernel I've maintained the MCP3911 driver in the Linux kernel for some time and continuously add support for new features [1] upon requests from people and companies. Microchip has several IC:s in this series of ADC:s that works similar to MCP3911. Actually, all other IC:s are register compatible but MCP3911. The IC:s I've extended support for is MCP3910, MCP3912, MCP3913, MCP3914, MCP3918 and MCP3919. cover

Leather fox pouch

Leather fox pouch I bought this [1] pattern to make a fox leather pouch to a friend of mine. I made some modifications to the pattern to make it more how I like it. I used Veg-tanned Bellies 5oz leather for this project. The steps The laser machine is not involved at all in this project. Stamp each hole is a time consuming pleasure. Beavel all the edges. Dye the leather and add a layer of shene. cover

Checkpoint-restore in Linux

Checkpoint-restore in Linux I'm working on power saving features for a project based on a Raspberry Pi Zero. Unfortunately, the RPi does not support features as hibernation to disk or suspend to RAM because how the processor is constructed (the GPU is actually the main processor). So I was looking for alternatives. That's when I stumpled upon CRIU ( [1], [2] ), Checkpoint-Restore In Userspace. (I actually started to read about PTRACE_SEIZE [4] and ptrace parasite code [3] and found out that CRIU is one of their users. cover

meta-readonly-rootfs-overlay

meta-readonly-rootfs-overlay meta-readonly-rootfs-overlay [1] is a meta layer for the Yocto project [2] originally written by Claudius Heine. I took over the maintainership in May 2022 to keep it updated with recent Yocto releases and keep add functionality. I've implemented it in a couple of industrial products so far and think it needs some extra attention as I find it so useful. Why does this exists? Having a read-only root file system is useful for many scenarios: cover

TIL - ignore_routes_with_linkdown

TIL - ignore_routes_with_linkdown TIL, Today I Learned, is more of a "I just figured this out: here are my notes, you may find them useful too" rather than a full blog post Usually, a high level network managers such as NetworkManager or Connman, removes routes for unaccessible ("linkdown" or "unplugged") link states. If these links are not managed by a network manager but are managed in other ways or is somehow misconfigured, then you could end up with a default route that is still hanging around even if the link is down. cover

Embedded Open Source Summit 2023

Embedded Open Source Summit 2023 This year the Embedded Linux Conference is colocated with Automotive Linux Summit, Embedded IOT summit, Safety-critical software summit, LFEnergy and Zephyr Summit. The event was held in Prague, Czech Republic this time. It's the second time I'm at a Linux conference in Czech Republic, and it clearly is my favorite place for such a event. Not only for the cheap beer but also for the architecture and the culture. cover

Route priorities - metric values

Route priorities - metric values Brief It's not an uncommon scenario that a Linux system has several network interfaces that are all up and routeable. For example, consider a laptop with both Ethernet and WiFi. But how does the system determine which route to use when trying to reach another host? I was up to setup a system with both a 4G modem and a WiFi connection. My use case was that when the WiFi is available, that interface should be prioritized over 4G. cover

Lund Linux Conference 2023

Lund Linux Conference 2023 The conference Lund Linux Conference (LLC) [1] is a "half-open" conference located in Lund. It's a conference with with high quality and I appreciate that the athmosphere is more familiar than at the larger conferences. I've been at the conference a couple of times before and the quality on the talks this year was as good as usual. ( The talks are by the way availalble on Youtube [3]. cover

TIL - Split streams with boost::tee_device

TIL - Split streams with boost::tee_device TIL, Today I Learned, is more of a "I just figured this out: here are my notes, you may find them useful too" rather than a full blog post Split streams could be useful if you want the same output to appear in more than one stream at once. Boost support tee_device, which works pretty much as the tee(1) [1] command line tool. Everything written to that device is splitted up and written into two streams. cover