|Thursday, 03 September 2009|
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 .
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.
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.
CRC-DABMUX is distributed as a free open source software project under the GPLv3 license.
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.
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
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
- 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.
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
errors about __u8, __u16 or __u32
Add #include <asm/types> to the beginning of the file