The MiXiM team has released MiXiM 2.0. The main highlight of this release is MiXiM - INET Framework integration. MiXiM 2.0 contains a "Mixnet" example simulation that demonstrates how one can use MiXiM network interface cards (NICs) together with higher layer protocols (IP, TCP, UDP) of the INET Framework. MiXiM provides the necessary modules to make the two frameworks compatible, as well as documentation and examples how to build simulations using both frameworks. The new release also fixes some bugs and contains small interface changes. An overview of the most important changes is given after the break.
MiXiM is an OMNeT++ modeling framework created for mobile and fixed wireless networks (wireless sensor networks, body area networks, ad hoc networks, vehicular networks, etc.). It offers detailed models of radio wave propagation, interference estimation, radio transceiver power consumption and wireless MAC protocols.
The new MiXiM release can be downloaded from
In order to use MiXiM together with INET, an INET version without the
wireless-related classes is needed, which can be downloaded from
- "Mixnet" project in MiXiM's "inet" folder, containing compatibility modules to
use MiXiM NICs in INET networks.
- contains "MixnetBridge" module which connects MiXiM NIC modules to INET's NetworkLayer module
- contains several examples of networks using INET and MiXiM together; including an example of a router node which uses multiple (yet not interfering) NICs from INET and MiXiM
- to avoid collisions between similar classes in INET and modules it needs an INET version where every wireless related module has been removed; a branch of INET which already has been made compatible this way can be found here: http://github.com/mixim/inet4mixnet
- documentation on how to use Mixnet to combine INET and MiXiM can be found in the projects "doc" folder and the Mixnet section of the MiXiM wiki at: http://sourceforge.net/apps/trac/mixim/wiki/WikiStart
Important changes that affect developers using MiXiM:
- divided BaseArps addressing and ARP functionality into two separate
interfaces to become more compatible with real ARPs which do not implement
- the addressing functionality is defined in the "AddressingInterface" class
- the ARP functionality is defined in the "ArpInterface" class
- a simplified ARP module like BaseARP whose address resolution depends on a certain addressing scheme can still implement both interfaces at once
- a real ARP which does not need a certain addressing scheme only needs to implement and care about the ARPInterface
Minor changes and bugfixes:
- fixed use of wrong ConnectionManager in MAC layer when using multiple connection managers; thanks to both "David" and Federico Tramarin from the omnetpp list for reporting
- fixed a problem with ChannelInfo where it throw away channel information although it was still needed to answer a ChannelSenseRequest; thanks to Jérôme Rousselot for finding this issue
- fixed a rare bug were the CCA timer of CSMAMacLayer was not canceled during backoff; thanks to "rfpb" from sourceforge for tracking down this bug
For a more complete and detailed list of changes please consult the git log messages.