MuMuDVB Embedded
From MuMuDVB Wiki - a DVB network streaming free software
| 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.

