To describe how to install MuMuDVB under OpenWRT, I will take an example of an installation on a NSLU2. Any other platform supported by openWRT (with a 2.6 kernel) should work.
Please take care when running MuMuDVB on "slow" platforms to have hardware which supports PID filtering (see at the end of this page) if you don't want/can't stream a full transponder
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.
Here I use an AF9015 dvb-t stick
Install OpenWRT
The documentation used to create an OpenWRT package can be found here.
Or find the one which fit best your kernel here :
http://gitweb.braice.net/gitweb?p=mumudvb;a=tree;f=openwrt/package/kerne...
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/generat...
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/
sudo upslug2 -i bin/openwrt-nslu2-squashfs.binTake 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
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
opkg update
opkg install libpthread
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/