ltrifonov прекрасно howto.На моя "мощен" Debian компирацията отне 40 минути.Опитах да пачна кернела с пача от поста ти, но видях, че трябва малко да се преработи спрямо кернел 2.6.32.10. Довечера ще си поиграя малко с пача и ще компилирам наново.Чакам с интерес продължението на темата ти 
Здрасти, ами май е време да пусна продължението

При пачването има няколко особености, ще кажа как го направих при мен:
1. изтеглих си сорсовете на dvb както в 1-ви пост:
cd /usr/src
mkdir af9015
cd af9015
hg clone -r 0f41fd7df85d
http://linuxtv.org/hg/~anttip/af9015/към него се прилага точно определен пач:
https://patchwork.kernel.org/patch/82494/raw/пачът се прилага така: patch -p1 < ../път_до_изтегления_patch
това беше точно както от 1-ви пост.
След като приложим пача, има малко ръчна работа:
Пача всъщност създава 3 файла за драйвера TDA18218 във linux/driver/media/common/tuners
и добавя разни препратки към този драйвер в още няколко файла.
обшо се модифицират 7-8 файла.
целта е да открием модифицираните файлове и да ги копираме върху сорса на кернела във toolchain-а за openwrt
при мен пътищата са:
вземаме пачнатите файлове от:
/usr/src/af9015/linux/и местим във:
/usr/src/openwrt/backfire_10.03/build_dir/linux-ar71xx/linux-2.6.32.10/това са:
в
drivers/media/common/tuners Kconfig
Makefile
tda18218.c
tda18218.h
tda18218_priv.h
в
drivers/media/dvb/dvb-usbaf9015.c
dvb-usb-ids.h
и в
drivers/media/dvb/frontendsaf9013.c
af9013.h
af9013_priv.h
Има една особеност - в повечето от тези файлове има ред:
#include "compat.h"
или трябва да махнем този ред, защото във toolcain за openwrt няма такъв,
или във всяка от горните директории да си направим по един празвн compat.h
Последна модификация:
отваряме
media/dvb/dvb-usb/Kconfig
и добавяме реда от по-долу в червено:
config DVB_USB_AF9015
tristate "Afatech AF9015 DVB-T USB2.0 support"
depends on DVB_USB
select DVB_AF9013
select DVB_PLL if !DVB_FE_CUSTOMISE
select MEDIA_TUNER_MT2060 if !MEDIA_TUNER_CUSTOMISE
select MEDIA_TUNER_QT1010 if !MEDIA_TUNER_CUSTOMISE
select MEDIA_TUNER_TDA18271 if !MEDIA_TUNER_CUSTOMISE
select MEDIA_TUNER_TDA18218 if !MEDIA_TUNER_CUSTOMISE
select MEDIA_TUNER_MXL5005S if !MEDIA_TUNER_CUSTOMISE
select MEDIA_TUNER_MC44S803 if !MEDIA_TUNER_CUSTOMISE
help
Това е всичко - пускаме си пак:
make V=2
и след доста по-кратко от преди време ще получим:
/usr/src/openwrt/backfire_10.03/bin/ar71xx/packages
със готови компилирани модули за инсталиране *.ipkg
ако направим тази директория достъпна през web, може да кажем на opkg.conf
да изтегли packages направо от там.
Сега, за самото разпознаване на USB стикчето, тези модули трябва да се инсталират:
аз си направих един файл:
/etc/modules.d/91-dvb:
dvb-core
dvb-usb force_pid_filter_usage=1
dvb-pll
mxl5005s
tda18271
qt1010
mt2060
af9013
mc44s803
tda18218
dvb-usb-af9015
за зареждане на модулите в този ред след рестарт
може и ръчно с insmod в този ред
ако всичко е ок, в dmesg виждаме:
dvb-usb: found a 'Afatech AF9015 DVB-T USB2.0 stick' in warm state.
dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
dvb-usb: pid filter enabled by module option.
DVB: registering new adapter (Afatech AF9015 DVB-T USB2.0 stick)
af9013: firmware version:4.65.0
DVB: registering adapter 0 frontend 0 (Afatech AF9013 DVB-T)...
NXP TDA18218 successfully identified.
dvb-usb: Afatech AF9015 DVB-T USB2.0 stick successfully initialized and connected.
usbcore: registered new interface driver dvb_usb_af9015
пропуснах да кажа, но трябва да поставим изтегления фирмуер на съответното място:
/lib/firmware/dvb-usb-af9015.fw
след това се прави точно както е описано в сайта на mumudvb за openwrt:
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
Конфигурацията на самото mumudvb при мен е: (за софия)
направих си 3 скрипта в /etc/init.d
направих си и 3 конфигурации за всеки от 3-те транспондера в софия
давам пример с 1-вия скрипт за 818 Mhz
останалите скриптове се различават само по иметно на конф. файла в зелено по-долу:
/etc/init.d/dvbtv818:
#!/bin/sh /etc/rc.common
# Example script
# Copyright (C) 2007 OpenWrt.org
START=92
STOP=15
PIDS=`pidof mumudvb`
# This method starts mumudvb
start_cam ()
{
kill -9 $PIDS
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
mkdir /var/run/mumudvb
sleep 1
mumudvb -c /etc/mumdvb/mumdvb818.conf &
sleep 1
}
# This method stops mumudvb
stop_cam ()
{
kill -9 $PIDS
sleep 1
}
start() {
start_cam
}
stop() {
#echo "[SCRIPT] $1: $CAMNAME"
stop_cam
}
ето и самите конфигурации:
/etc/mumdvb/mumdvb818.conf:
freq=818
dont_send_sdt=1
multicast=0
unicast=1
port_http=1234
ip_http=0.0.0.0
sap=1
autoconfiguration=0
channel_next
name=bnt1
pids=266 256 257
channel_next
name=nova
pids=38 36 37
channel_next
name=btv
pids=282 272 273
channel_next
name=tv7
pids=314 304 305
channel_next
name=thevoice
pids=330 320 321
на останалите транспондери доколкото гледах, се излъчва едно и също на всичките 2 х 8 канала (но се надявам да ги напълнят)
прилагам и техните конфигурации, но при тях съм настроил само по един канал
/etc/mumdvb/mumdvb490.conf
freq=490
dont_send_sdt=1
multicast=0
unicast=1
port_http=1234
ip_http=0.0.0.0
sap=1
autoconfiguration=0
channel_next
name=490-1
pids=5131 5132 5133
/etc/mumdvb/mumdvb626.conf
freq=626
dont_send_sdt=1
multicast=0
unicast=1
port_http=1234
ip_http=0.0.0.0
sap=1
autoconfiguration=0
channel_next
name=ch_09
pids=5331 5332 5333
Сега вече можем да управляваме цялата система през web интерфейса на openwrt
Administration, Services, Initscripts
там имам: dvbtv818 -> и бутони: start, stop, restart
имам и за другите 2 транспондера
Аз лично предпочитам скриптовете да са в disabled режим и да се пускат при нужда.
как става самото гледане:
конфигурацията както съм показал прави http unicast stream на адрес 0.0.0.0:1234
гледа се с VLC на:
http://192.168.1.1:1234/playlist.m3u от WWW Browser може да се види html информация за излъчваните потоци:
http://192.168.1.1:1234/channels_list.htmlТова е засега от мен, надявам се да съм бил полезен