Satellite LNB are quite cheap and easy to get devices. There are different models for different bands (C, Ku, and Ka) with different characteristics like SNR, noise figure, etc. Typically those devices are used with TV Set-top boxes. More interesting is that LNB can be easily connected to an SDR receiver. LNB is a simple frequency down-converter with an output…
Mysterious Flat satellite antenna from China
A few months ago, I found a quite unusual satellite antenna on the well-known Chinese portal. The antenna was relatively small, completely flat, and declared as a Ku-band satellite TV antenna. I was really wondered what’s inside and how it works so I decided to buy one sample.
Reworking linear polarization satellite LNB into a circular polarized
In this article, I want to discuss different types of satellite LNB, polarization, and depolarization of waves. Also, I’ll show how to rework the LNB. Also, we will discuss a theory to figure out why this rework is working. The primary topic here is Ku-band LNB, but all this also works for the Ka-band and C-band.
Combining two HackRF SDR to see more
HackRF One is a popular SDR transceiver and a really nice piece of hardware. For a reasonable price, you can get fully open hardware to monitor radio signals in a wide range (20MHz – 6GHz, but really up to 7GHz). Boards support external clocking and can be easily customized. I believe there is only one concern about this board is…
Linux block device driver
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…
Cheap single-component RF filters
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.
C++ in Linux kernel
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!