MuMuDVB Embedded

From MuMuDVB Wiki - a DVB network streaming free software

Jump to: navigation, search


Menu
English Français
Main_Page PagePrincipale
NewsEn Nouvelles
DocsEn Documentation
DocLastVersion Most Recent Documentation
Download Téléchargement
Features Fonctionalités
ContactEn Contact
DeveloppementSupportCam DeveloppementSupportCam
DeveloppementTranscoding
DeveloppementIPv6
MumudvbAndS2
MuMuDVB_Embedded

Contents

Mumudvb on NSLU2

Mumudvb run on Linksys NSLU2 http://www.nslu2-linux.org .

Someone reported me that it worked with some discontinuities in the stream on the 133MHz version of the slug.

On my 266MHz SLUG I'm able to stream three channels without problems, in the following I explain how to run MuMuDVB with OpenWRT. These explanations are also valid for other OpenWRT supported platforms :)

openWRT

Here I use an AF9015 dvb-t stick, you'll have to generate dvb.mk (see further) if you use another one which is not in the following list :

AVerMedia AverTV DVB-T USB 2.0 (A800)
Afatech AF9015 DVB-T USB2.0 stick
Leadtek WinFast DTV Dongle Gold
Pinnacle PCTV 71e
KWorld PlusTV Dual DVB-T Stick (DVB-T 399U)
DigitalNow TinyTwin DVB-T Receiver
TwinHan AzureWave AD-TU700(704J)
TerraTec Cinergy T USB XE
KWorld PlusTV Dual DVB-T PCI (DVB-T PC160-2T)
AVerMedia AVerTV DVB-T Volar X
Xtensions XD-380
MSI DIGIVOX Duo
Fujitsu-Siemens Slim Mobile USB DVB-T
Telestar Starstick 2
AVerMedia A309
MSI Digi VOX mini III
DiBcom USB2.0 DVB-T reference design (MOD3000P)
Artec T1 USB2.0 TVBOX (please check the warm ID)
LITE-ON USB2.0 DVB-T Tuner
MSI Digivox Mini SL
GRAND - USB2.0 DVB-T adapter
Artec T14 - USB2.0 DVB-T
Leadtek - USB2.0 Winfast DTV dongle
AVerMedia AverTV DVBT USB1.1
Compro Videomate DVB-U2000 - DVB-T USB1.1 (please confirm to linux-dvb)
DiBcom USB1.1 DVB-T reference design (MOD3000)
KWorld V-Stream XPERT DTV - DVB-T USB1.1
Grandtec USB1.1 DVB-T
TwinhanDTV USB-Ter USB1.1 / Magic Box I / HAMA USB1.1 DVB-T device
Artec T1 USB1.1 TVBOX with AN2135
VideoWalker DVB-T USB
Artec T1 USB2.0
KWorld Xpert DVB-T USB2.0
KWorld/ADSTech Instant DVB-T USB2.0
Artec T1 USB1.1 TVBOX with AN2235

Check also the linuxtv's wiki

Install OpenWRT

opwnwrt Note package made following https://wiki.openwrt.org/doc/howto/creatingpackages

  • get the latest version of openwrt
  • install the mumudvb package file under package/mumudvb/Makefile :
http://gitweb.braice.net/gitweb?p=mumudvb;a=blob_plain;f=openwrt/package/mumudvb/Makefile;hb=refs/heads/openwrt
  • install the makefile for dvb devices at package/kernel/modules/dvb.mk : (2.6.18 and a few devices)
http://gitweb.braice.net/gitweb?p=mumudvb;a=blob_plain;f=openwrt/package/kernel/modules/dvb.mk;hb=refs/heads/openwrt
  • Or find the one which fit best your kernel here :
http://gitweb.braice.net/gitweb?p=mumudvb;a=tree;f=openwrt/package/kernel/modules;hb=openwrt

If you have a kernel version not listed above you can generate it using the following script (but take care about the options for the dvb core): http://gitweb.braice.net/gitweb?p=mumudvb;a=blob_plain;f=openwrt/generate_dvbmk.py;hb=openwrt

You just have to edit the kernel path at the beginning of the file and run it. It will generate a dvb.mk in /tmp/

  • "make menuconfig", choose the good target, configure the IP,
  • choose mumudvb under utilities
  • choose your dvb card under the kernel -- DVB menu
  • compile with "make V=2"

The menuconfig of the kernel will ask some questions about DVB devices, press enter until he is happy

  • install the image on the slug
sudo upslug2 -i bin/openwrt-nslu2-squashfs.bin
  • load the modules in the good order (on the slug)

Take care of force_pid_filter_usage=1

insmod dvb-core
insmod dvb-usb force_pid_filter_usage=1
insmod dvb-pll
insmod mxl5005s
insmod tda18271
insmod qt1010
insmod mt2060
insmod af9013
insmod dvb-usb-af9015


  • some symbolic links
mkdir /dev/dvb
mkdir /dev/dvb/adapter0
ln -s /dev/dvb0.demux0 /dev/dvb/adapter0/demux0
ln -s /dev/dvb0.dvr0 /dev/dvb/adapter0/dvr0    
ln -s /dev/dvb0.frontend0 /dev/dvb/adapter0/frontend0
  • install pthread
opkg update
opkg install libpthread
  • Try MuMuDVB

Result

root@OpenWrt:~# cat /proc/cpuinfo 
Processor	: XScale-IXP42x Family rev 1 (v5b)
BogoMIPS	: 266.24


 PID  PPID USER     STAT   VSZ %MEM %CPU COMMAND
1903  1782 root     R     1020   3%  26% mumudvb -vvv -d -c mumudvb_1channel 

MuMuDVB conf :

freq=842
dont_send_sdt=1
ip=239.100.0.0
port=1234
name=laSexta
pids=1500 1501 1502 1503 1504 

No packets dropped, works perfectly :D

The limit, in my case is three channels

Issues

If the stick doesn't have hardware ip filtering, the slug is completely lost by the amount of data (frozen if the antenna is not removed)

A dma bounce buffer outside the pool size was requested. Requested size was 0x00009A38
The calling code was :
Function entered at [<c00255dc>] from [<c0029fbc>]
Function entered at [<c0029eac>] from [<c013cb44>]
Function entered at [<c013c9f4>] from [<c013d764>]
Function entered at [<c013d540>] from [<bf150b10>]
 r7:c1ebaa30 r6:c11df760 r5:c11df760 r4:c11df760
...

To find out if the device can do hardware ip filtering, you have to search if the variable caps contains DVB_USB_ADAP_HAS_PID_FILTER in the description of the device, in the source code of the module, in kernelsourcedir/drivers/media/dvb/dvb-usb/

DVB T sticks with hardware filter (2.6.18 kernel)

pid_filter_count = 32,

"DiBcom USB2.0 DVB-T reference design (MOD3000P)",
"Artec T1 USB2.0 TVBOX (please check the warm ID)",
"LITE-ON USB2.0 DVB-T Tuner",
          /* Also rebranded as Intuix S800, Toshiba */
"MSI Digivox Mini SL",
"GRAND - USB2.0 DVB-T adapter",
"Artec T14 - USB2.0 DVB-T",
"Leadtek - USB2.0 Winfast DTV dongle",
"Afatech AF9015 DVB-T USB2.0 stick",
"Leadtek WinFast DTV Dongle Gold",
"Pinnacle PCTV 71e",
"KWorld PlusTV Dual DVB-T Stick (DVB-T 399U)",
"DigitalNow TinyTwin DVB-T Receiver",
"TwinHan AzureWave AD-TU700(704J)",
"TerraTec Cinergy T USB XE",
"KWorld PlusTV Dual DVB-T PCI (DVB-T PC160-2T)",
"AVerMedia AVerTV DVB-T Volar X",
"Xtensions XD-380",
"MSI DIGIVOX Duo",
"Fujitsu-Siemens Slim Mobile USB DVB-T",
"Telestar Starstick 2",
"AVerMedia A309",
"MSI Digi VOX mini III",
"AVerMedia AverTV DVB-T USB 2.0 (A800)",
"Afatech DVB-T USB1.1 stick",
"TerraTec Cinergy T USB XE",
"Ansonic DVB-T USB1.1 stick",
"Hauppauge WinTV-NOVA-T usb2",
"MSI Mega Sky 580 DVB-T USB2.0",

pid_filter_count = 15,

"WideView/Yuan/Yakumo/Hama/Typhoon DVB-T USB2.0 (WT-200U)",
"WideView WT-220U PenType Receiver (Typhoon/Freecom)",
"WideView WT-220U PenType Receiver (Typhoon/Freecom)",
"WideView WT-220U PenType Receiver (based on ZL353)",

pid_filter_count = 16,

"AVerMedia AverTV DVBT USB1.1",
"Compro Videomate DVB-U2000 - DVB-T USB1.1 (please confirm to linux-dvb)",
"DiBcom USB1.1 DVB-T reference design (MOD3000)",
"KWorld V-Stream XPERT DTV - DVB-T USB1.1",
"Grandtec USB1.1 DVB-T",
"TwinhanDTV USB-Ter USB1.1 / Magic Box I / HAMA USB1.1 DVB-T device",
"Artec T1 USB1.1 TVBOX with AN2135",
"VideoWalker DVB-T USB",
"Artec T1 USB1.1 TVBOX with AN2235",
"Artec T1 USB1.1 TVBOX with AN2235 (faulty USB IDs)",
"KWorld/ADSTech Instant DVB-T USB2.0",
"KWorld Xpert DVB-T USB2.0",
"Artec T1 USB2.0",

pid_filter_count = 8,

"MSI DIGI VOX mini II DVB-T USB2.0",
"LifeView TV Walker Twin DVB-T USB2.0",


Mumudvb on dreambox 500

Mumudvb works on a dreambox 500 but needs some modifications

I quote the e-mail of Serge GW

--- Unfortunaly dreambox firmware use old dvb api (named "ost"). So I created patch to downgrade dvb api: Here is patch: http://tipok.org.ua/downloads/iptv/DVB/dreambox/mumudvb.2136-work.diff And I used this archived GIT snapshot (with autotools): http://tipok.org.ua/downloads/iptv/DVB/dreambox/Archive/mumudvb.tar.gz

So I started it on my dreambox and IT WORKS!! :))

But:

  • autoconf=2 - is not working because iconv_open not found in GLIBC (i

think that glibc for powerpc compiled without iconv).

  • Mumudvb can send only 3 channels and 1 radio station, if more - dvb

buffer will overruned and CPU 100% used.

---

MuMuDVB on dreambox DM500HD, DM7025, DM800 and DM8000 using opendreambox

Andreas Oberriter, a developper of opendreambox, added a recipe for MuMuDVB to his Git tree: http://git.opendreambox.org/?p=obi/opendreambox.git;a=summary

This will be merged into the opendreambox main tree later.

http://opendreambox.org/ has a quick intro on how to build the distribution. Once you're done, you'll just have to run "bitbake mumudvb" to create an installable mumudvb_1.6.ipk package.