Writing A Simple Linux Kernel Module

The first example that is always depicted in understanding any coding language (or kernel programming in our case) is to write the hello world example. Let us write a simple kernel program which outputs ‘hello’ and ‘goodbye’.  Below is the sample code for the driver – it has comments placed to explain what each line […]

Monolithic Linux Kernel

One would have read this statement in many books/internet sites or heard from different people – “Linux is a Monolithic Kernel”. What this means is that the entire operating system (which includes the device drivers, file system, IPC) are running in the kernel space. In a Micro-kernel architecture most of the OS services are running […]

An understanding of memory layout in C – Part 1

This article tries to discuss the basics of memory layouts in C.  When a C file is preprocessed, compiled, assembled and linked – a memory layout of the code/data/stack/heap area is generated. The C program memory layout is depicted below FIG COURTESY:https://en.wikipedia.org/wiki/File:Program_memory_layout.pdf The different sections are .text segment – code section – the C code […]

WEP MPDU (MAC Protocol Data Unit) Format

The WEP MPDU (MAC Protocol Data Unit) Format is shown below Key ID (2) bits – used to select the WEP key index – when Key-mapping keys are used the Key Id field is ignored IV – initialization vector ICV – integrity check value – calculated over the MPDU plaintext data The WEP encapsulation and […]

WEP Decapsulation

The WEP decapsulation is pictorially depicted below FIG Courtesy: 802.11 Standard WEP follows the below procedure to decrypt the received 802.11 WEP encrypted frame. WEP extracts the initialization vector (IV) and Key ID from the received packet to obtain the relevant WEP key. If Key-mapping keys are used, then the Key-mapping key will be used […]

Beacon Frame format

The Beacon Frame format is as provided below: FIG Courtesy: 802.11 Wireless Networks: The Definitive Guide, 2nd Edition As can be seen from the pictorial representation above – the beacon frame consists of mandatory fields and optional fields. The Mandatory fields are those fields that are required for the proper working of the network. Optional […]

WEP Encapsulation

The WEP Encapsulation is shown pictorially below Fig Courtesy: 802.11 Standard The WEP encryption algorithm is ARC4 stream cipher provided by RSA Security Inc. The ARC4 cipher uses a pseudo-random number generator (PRNG) to generate a key-stream. This Key-stream is exclusive OR’ed with the plain text data to obtain the encrypted text. The exclusive OR […]

Traffic Indication Map Explained

Traffic Indication Map (TIM) is an Information element and is part of the Beacon frame that is sent out by the Access Point at regular intervals. The TIM Information element provides information on the current DTIM count and DTIM period and also provides information on whether Buffered Multicast/Broadcast Data or unicast data for different 802.11 […]