My article about character devices is quite popular, so I decided to write something about another big class of devices in Linux – block devices. This type of device is used to access various storage hardware types – hard disks, SSD, etc. Here I want to describe blk-mq based devices in modern (>= 5.0) Linux kernels and a previous type…
Low, Band, and High – pass filters are major components when working with RF. Depending on the application, filters can reduce output noise and unwanted signals or limit a transmit signal to a pre-specified frequency band to prevent interference with other signals. Here I want to describe how to build simple and cheap single-component (ceramic) filters for your DIY projects.
Linux kernel is written in C (and in Assembly in platform-specific portions) language. C language is the only allowed language to write kernel modules. And there is no problem, in most of the cases. But sometimes some stranger things may be required. Let’s see how to use C++ for the Linux kernel modules.
I just built two RS-485 adapters (version 2) and decided to write a little note about the RS-485 bus (and differential line) theory, plus perform some testing of the devices. This material mostly interesting for newbies. At the end of this article, you can find a funny way to test these devices 🙂
Sometimes when working with network packets inside the Linux kernel, it might be very useful to print packet contents to see what is actually going on. Here I’m describing how to print packet from sk_buff structure and analyze this data with Wireshark. In this short note, I will not describe capturing the packets inside the kernel but only show how…
Last time we talked about getting a Linux routing table with a simple Netlink code. Now it’s time to do more interesting stuff. Let’s add and delete some routes using the power of the Netlink!
From this point, my site is also available via HTTPS. It was not mandatory, but in modern browsers HTTP sites may be marked as ‘unsecured’ and ‘untrusted’. It may happen that in the nearest future all sites without encryptions will be blocked by default in every popular web browser. I don’t want to be badged as ‘untrusted’ or be…
In this little note, I want to describe a simple logging module for C programs in Linux. I’m using this code for years in my projects. This module supports different types of output “targets” – files, syslog, and stdout.
In the previous article, we discussed the monitoring of the network interfaces using Netlink. Now it’s time to do something more complex and interesting. Let’s discover how to get and print the system routing table like “ip route” command.
In the previous article, I describe a low noise amplifier for the 21cm band. Today I want to show you a construction of the dish antenna where this amplifier was used.