With “Internet of Things” proposing an ever increasing amount of promising applications, technical support for novel infrastructure ideas have been crucial for meeting challenging demands not addressed by conventional standards. Specifically, for Wireless Local Area Networks (WLAN), current network protocol IEEE802.11, with its Collision Avoidance policies for resolving channel contentions [1], could cause potential station starvations under dense wireless station distributions.

An innovative network protocol, “U-CSMA”, has been purposed to resolve this problem of starvation [2]. It utilizes the “Unlocking” mechanism, which effectively forces frequently transmitting stations to stop, through stations communication and coordination within the network. This project mainly focuses on exploring, testing and clarifying practical behaviors for wireless stations and network throughputs, in support of a successful implementation of the “U-CSMA” protocol on realistic WLAN scenarios.


Two major explorations have been conducted within the project: identifying wireless adapters’ transmission behaviors upon enforcing certain parameters relevant to the “Unlocking” mechanism, and testing the starvation phenomenon in a high station-density mesh network setup.

For the first exploration goal, a set-up of a Linux host with a TP-LINK TL-WN722N wireless adapter was utilized. The adapter functions with an open source ath9k driver/firmware set, which made modifying its behaviour convenient. The adapter’s transmission behaviors are controlled by functional parameters that reside in two locations: adapter’s hardware register values, and transmission (Tx) frames’ descriptors. To modify the adapters’ register values, which control the majority of the adapter’s functionality, kernel modules were implemented and loaded to change the register values during run time. The operating system was compiled from the kernel source tree with the ath9k driver source code exposed. This ensured that exporting the related data structures from the ath9k driver for newly implemented kernel modules stayed consistent with regard to the version. Meanwhile, firmware was compiled from modified source code and re-loaded into the adapter to adjust the Tx frames’ descriptor field values.

Testing throughputs were generated using the “Iperf” application, which works at the application layer, by sending and receiving UDP packets. Measurements and analysis were conducted by using “Wireshark” to capture packets going through the network interface under consideration. By applying the corresponding filters for certain packets through packet types, source and destination addresses, port numbers, and so on, specific throughput analysis was conducted on the traffic going through the wireless adapter generated by “Iperf”.

In terms of the second exploration goal, three Raspberry Pis were used for a convenient layout deployment, with the same type of wireless adapter connected to each Raspberry Pi through a USB port. To simulate the scenario where a station is prone to starvation due to channel contention, the three Raspberry Pis were placed as shown:

Figure 1: Station layout for testing network.

The packets transmitted between Raspberry Pis were captured by “TCPdump”. The output of “TCPdump”, including packet size and timestamp, was processed for computing throughput with a script. The sending throughputs of all three Raspberry Pis were then plotted together with a unified time axis to compare the channel contention.


To analyze the wireless adapters’ transmission behaviours, the following specific registers were tested with various values corresponding to desired behaviours:

Parameter Setting Desired Behaviours
FORCE_QUITE_COLLISION bit Termination of Transmission and Reception
NO_ACK descriptor flag Disabling data packets re-transmission for throughput computation
CW_min & CW_max Constraining contention window upperbound
MEM_RD_DATA_PF Setting backoff persistence factor for fixed contention window range
DATA_AIFS_D Setting inter-frame spacing value identical among all 8 priority queues

By analyzing the throughput graph, the “FORCE_QUITE_COLLISION” bit within the “Miscellaneous Mode” Register described by the datasheet [3] was seen to be capable of disabling both transmission and reception of the wireless adapter. However, disabling and re-enabling the reception upon resetting the bit value came with a minor time delay. Disabling the data frame re-transmission has been verified to be effective in the scenario where the Linux host does not receive the ACK frame, which is done through the “NO_ACK” descriptor flag within the Tx descriptors described in the datasheet [3].

Throughput analysis has also been conducted on the network of Raspberry Pis. With the aforementioned layout characteristics, the center station is expected to experience sending starvation as a result of channel contention from both end stations, where each end station only contents with the center station on the transmission channel. The throughput plots that were computed, however, were unable to show the starvation feature, which is demonstrated below:

Figure 2: Throughput time plot (with the center station labelled as "station 2").


From the current results of the project, the wireless adapter’s transmission behaviours are verified to be desirable for implementing the “Unlocking” mechanism within “U-CSMA” by tuning specific register or frame descriptor parameters. Realization of the “U-CSMA” protocol has been shown to be practical with modified versions of the adapter’s driver and firmware. Thus, it satisfies the desired property of being highly distributed without requiring a centralized infrastructure, which caters to the characteristics of the “Internet of Things” infrastructure.

On the other hand, starvation has not been observed so far with the current wireless network setup. Better testing environments and higher accuracy measuring tools are required to create and verify the theoretically identified problem that the new protocol would tackle. Future work would focus on establishing more robust and better characterized wireless communication channels for the network throughput testing and verifying the effect of the “Unlocking” implementation.


Sincere appreciation to Professor Peter Marbach, who supervised and contributed greatly to the project with his time, expertise, and valuable insights. Meanwhile, high acknowledgement to Professor Peter Marbach’s research grant and NSERC scholarship as the funding for the project and related hardware equipment.


  1. Ar9271 single-chip 1x1 mac/bb/radio/pa/lna with usb interface for 802.11n 2.4ghz wlans, 2012

  2. M. Lotfinezhad and P. Marbach. Throughput-optimal random access with order-optimal delay. 2010.

  3. M. Oliver and A. Escudero. Study of different csma/ca ieee 802.11-basedimplementations. 1999.