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.
This is a second version of the USB to RS485 adapter. Please read this article about the first version. The new device is built with ISO3082 and requires fewer components. Also, this device can provide more reliability in some situations.
21 cm band, also known as the Hydrogen line, is one of the important bands in radio astronomy. Please read this Wikipedia article if you not familiar with the Hydrogen line. Nowadays, even radio amateurs can observe this signal from outer space, thanks to modern hardware. One of the most important parts of any receiver is the antenna and input…