Today’s BLOG entry is about a simple hack that can make your life easier when working with serial USB devices under Linux (Ubuntu/Debian). Every time a device is attached, an automatically generated device name is assigned to it by the OS (e.g. /dev/ttyUSB1). When you work a lot with embedded devices, using their serial USB devices for developing and testing, it could be a real pain to always change their names in a terminal program or some config files. Especially when using multiple devices concurrent, connecting and disconnecting them in different order, creates a device name lottery and very quickly you no longer know which device is connected to which device name.
Thursday, August 5, 2021
hBPF network packet processing
hBPF + LiteETH for real network packet processing
This project shows how to process real network packets with hBPF. It uses a Digilent Arty-S7 with a MultiNet expansion board.
The Arty-S7 does not have Ethernet out of the box. Therefore Ethernet for the Arty-S7 was provided using MultiNet.
The project instantiates a hBPF CPU and connects it to a LiteEth low level LiteEthMACCore to receive network packets. Some CPU status signals are connected to LED’s. A serial Wishbone Bridge and LiteScope Debugger are used for debugging.
Saturday, April 3, 2021
hBPF = eBPF in hardware
Introducing hBPF - an eBPF implementation for FPGAs.
This project was started beginning of 2021 as an experiment of how fast and how far you can get, with using alternate hardware description languages (compared to the classic ‘V’ languages VHDL and Verilog), most of the time open-source tools (compared to expensive, commercial toolchains) and cheap development boards (e.g Arty-S7).
It implements an eBPF CPU using LiteX/Migen, a Python3 based SoC builder and Hardware Definition language (HDL).
Tuesday, November 10, 2020
Resolving product shortcomings
Recently I bought a document safe. This was necessary because some types of documents need to be kept safe even during still ongoing COVID-19 home office. I choose a model with a security grade necessary to legally comply required by the type of documents I work with. And I choose one with a digital keypad so I don’t have to have a physical key but a numeric code. From the time it was ordered, it took about a week to be delivered and some effort (weighs around 50kg) to get it into place. After I put in a fresh 9V battery, set up a security code, and put in some documents, I was done - I thought ….
Friday, September 11, 2020
HDD Rescue Adventures
As everybody knows “Make Backups (more than one!!) of your data!!” nowadays is as important as gaining enough sleep or eating healthy. But sometimes you are completely unprepared. This is exactly what happened to me a few days ago. A hard disk with very important source code for a project I’m currently working on suddenly stops working and the last backup was … some weeks ago.
So what to do? Besides calling me self a jackass I had to find a way to get back the data. After researching prices of some professional data rescue companies I came to the conclusion that trying to recover the data myself (and rewriting the lost source code in case my rescue attempt fails) would be cheaper and faster (project deadline is approaching with rapid steps).