CRC mmbTools

Home arrow DAB/DMB Tools arrow CRC-DABMUX
CRC-DABMUX
Thursday, 03 September 2009

Overview

CRC-DABMUX is a DAB/DMB software multiplexer developed at CRC over several years as an experimental tool to support activities is the area of mobile multimedia broadcasting (MMB). In September 2009, CRC released CRC-DABMUX as a free open source software project under a GPL license.

The technical datasheet for CRC-DABMUX can be downloaded from here.

The easiest way to try CRC-DABMUX is to download and use the CRC mmbTools live CD .

Description

Over the years, CRC-DABMUX has become a flexible and stable platform for the development and testing of new DAB applications and services. It produces ETI compliant bit streams that can be injected directly into DAB modulators or indirectly through another level of DAB multiplexing. Because of its software based architecture, many typical DAB services can be generated and multiplexed on a single PC platform with live or pre-recorded sources. It is also a very useful tool for application and receiver functionality testing and as a portable demonstration platform. Although CRC-DABMUX was not originally intended for 24/7 commercial operations, it proved very reliable over the last 7 years where it has been used extensively as the main multiplexer for internal laboratory experiments and public demonstrations worldwide.

Most standard DAB transport mechanisms have been fully or at least partially implemented: FIDC, MPEG audio, enhanced packet mode (EPM), stream mode and DMB. The multiplexer was developed for the GNU/Linux operating system (OS) but it also runs on Microsoft Windows.
CRC-DABMUX offers many input options for the insertion of encoded applications: files and  UDP/IP and TCP/IP ports. The signalling information is auto-generated and is sent over the fast information channel (FIC). The resulting ETI formatted bit stream can be provided via many output options as well: TCP/IP, UDP/IP, files and G.703 physical interface.

CRC-DABMUX currently supports the FarSync TE1 physical interface board produced by FarSite. With this interface, a G.703 NA compliant signal can be generated and inserted directly into commercial DAB/DMB modulators. The ETI bitstream can also be sent directly into Openmokast for application development and testing.

Downloads

CRC-DABMUX

CRC-DABMUX is distributed as a free open source software project under the GPLv3 license.

0.3.0.4

  • Added ECC support
  • Solved uninitialized data bug
  • Added component description for multiplex configuration printout
crc-dabmux-0.3.0.4.tar.bz2

0.3.0.3

  • Solved FIC date bug
  • Added support for timestamp
  • Added UDP input for data subchannel (bug)
crc-dabmux-0.3.0.3.tar.bz2

0.3.0

  • First publicly available source code.
crc-dabmux-0.3.0.tar.bz2


libfec

Libfec is required to build CRC-DABMUX with DMB and EPM support. This library package is written by Phil Karn. See http://www.ka9q.net/code/fec/ for more information. Here is the source code and patch for debian packaging, cross-compiling, 64 bits support and Ubuntu >= 9.04. Original source code can be used for all other usage. See the README file inside the archive for instruction.

3.0.1-2

  • Solved compilation bug for 64 bits system
  • Solved compilation bug on Ubuntu >= 10.04
fec_3.0.1-2.src.tar.gz

3.0.1-1

  • Original release for debian packaging
  • Added support for cross-compiling
fec_3.0.1-1.src.tar.gz

 

Installation

Compilation

Please read the INSTALL file inside the archive for complete and up-to-date compilation instructions.

Note: replace the ??? with the version number that you are using

  • tar xzf fec_3.0.1-???.src.tar.gz
  • tar xzf fec_3.0.1.orig.tar.gz
  • zcat fec_3.0.1-???.diff.gz | patch -p0
  • cd fec-3.0.1/
  • autoreconf --install
  • ./configure
  • make
  • sudo make install

 

  • tar xjf crc-dabmux-0.3.0.???.tar.bz2
  • cd crc-dabmux-0.3.0.???
  • ./configure --with-debug-malloc=no --disable-debug
  • make
  • sudo make install

 

Farsync hardware

Driver installation

The Farsync drivers that are provided by default as part of the Linux kernel are not compatible with CRC-DABMUX. CRC-DABMUX needs the Farsync OEM drivers that can be found on Farsite's website. Here is the procedure to do so:

 - Extract and change to farsync driver source directory. Install the OEM version (default).

> sudo ./install oem
> sudo depmod

- Make sure that the line install farsync.ko went well and that there is message such as cannot stat farsync.ko.

- It is very important to reboot after successfully installing the driver.

Possible issues:

Missing kernel source or headers

sudo ln -s linux-headers-`uname -r` /usr/src/linux

Mesage unknown field ioctl

Edit file and change ioctl to compat_ioctl

 

Farsync API update

If there are further issues, consider recompiling CRC-DABMUX with updated Farsync header file with the following steps:

Copy farsync header file to crc-dabmux library path.

cp farsync-???/include/farsync.h crc-dabmux-???/lib/farsync/

Clean and re-compile crc-dabmux

make clean
make
make install

Possible problems:

errors about __u8, __u16 or __u32

Add #include <asm/types> to the beginning of the file