Linux kernel is written in C (and in Assembly in platform-specific portions) language. C language is the only language allowed to write kernel modules. And there is no problem in most cases. But sometimes, some stranger things may be required. Let’s see how to use C++ for the Linux kernel modules.
RS-485 practice and theory
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 🙂
Printing sk_buff data
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…
Modifying Linux network routes using netlink
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!
Hello HTTPS!
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…
Simple logger with STDOUT, Files and syslog support for C projects in Linux
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.
Getting Linux routing table using netlink
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.
Dish antenna for the amateur radioastronomy
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.
Isolated USB to RS485 adapter version 2
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.
Low noise and low cost amplifier for radio astronomy, 21 cm band
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…