Hi,
this patch adds the WideView/Yakumo/Hama/Typhoon/Yuan DVB-T USB2.0 Boxes and
Pens receiver driver to the kernel module package.
The patch consists of three patches, one for the kernel module, one for the
kernel generic config and one for hotplug2. At this time only one dvb-t usb
stick is supported by the hotplug2 rules. I would prefer udev to support
multiple usb receiver.
The kernel module package also downloads the needed firmware.
Tested with target x86 and kernel 2.6.28 and just the compilation with kernel
2.6.30.
Thanks,
Julius
Signed-off-by: Julius Schulz-Zander <[email protected]>
---
Index: package/kernel/modules/dvb.mk
===================================================================
--- /dev/null 2009-07-18 22:11:28.000000000 -0700
+++ package/kernel/modules/dvb.mk 2009-07-18 22:10:20.000000000 -0700
@@ -0,0 +1,113 @@
+#
+# Copyright (C) 2009 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+# $Id$
+
+DVB_MENU:=DVB Support
+
+define KernelPackage/dvb-core
+ SUBMENU:=$(DVB_MENU)
+ TITLE=DVB for Linux support
+ DEPENDS:=...@linux_2_6 @PCI_SUPPORT
+ KCONFIG:= \
+ CONFIG_DVB_CORE \
+ CONFIG_DVB_CAPTURE_DRIVERS=y
+endef
+
+define KernelPackage/dvb-core/2.6
+ FILES:=$(LINUX_DIR)/drivers/media/dvb/dvb-core/dvb-core.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,50,dvb-core)
+endef
+
+define KernelPackage/dvb-core/description
+ Kernel modules for DVB for Linux support
+endef
+
+$(eval $(call KernelPackage,dvb-core))
+
+define KernelPackage/dvb-usb
+ SUBMENU:=$(DVB_MENU)
+ TITLE:=DVB (usb) for Linux support
+ DEPENDS:=...@usb_support +kmod-usb2 +kmod-usb-core +kmod-dvb-core
+kmod-i2c-core
+ KCONFIG:=CONFIG_DVB_USB
+ FILES:=$(LINUX_DIR)/drivers/media/dvb/dvb-usb/dvb-usb.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,60,dvb-usb)
+endef
+
+define KernelPackage/dvb-usb/description
+ Kernel module for DVB (usb) for Linux support
+endef
+
+$(eval $(call KernelPackage,dvb-usb))
+
+define KernelPackage/dvb-dtt200u
+ SUBMENU:=$(DVB_MENU)
+ TITLE:=WideView/Yakumo/Hama/Typhoon/Yuan DVB-T USB2.0 Boxes and Pens
receiver driver
+ DEPENDS:=+kmod-dvb-usb
+ KCONFIG:=CONFIG_DVB_USB_DTT200U
+
FILES:=$(LINUX_DIR)/drivers/media/dvb/dvb-usb/dvb-usb-dtt200u.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,70,dvb-usb-dtt200u)
+endef
+
+define KernelPackage/dvb-dtt200u/description
+ Kernel support for the WideView/Yakumo/Hama/Typhoon/Yuan DVB-T USB2.0
receiver.
+ The receivers are also known as DTT200U (Yakumo) and UB300 (Yuan).
+ The WT-220U and its clones are pen-sized.
+endef
+
+# DTT220U and WT-220U firmware
+DTT220U01FW:=dvb-usb-dtt200u-01.fw
+WT220U01FW:=dvb-usb-wt220u-01.fw
+WT220U02FW:=dvb-usb-wt220u-02.fw
+WT220UFC03FW:=dvb-usb-wt220u-fc03.fw
+WT220UZL0353FW:=dvb-usb-wt220u-zl0353-01.fw
+
+define Download/dtt220u01
+ FILE:=$(DTT220U01FW)
+ URL:=http://www.linuxtv.org/downloads/firmware/
+ MD5SUM:=
+endef
+
+define Download/wt220u01
+ FILE:=$(WT220U01FW)
+ URL:=http://www.linuxtv.org/downloads/firmware/
+ MD5SUM:=
+endef
+
+define Download/wt220u02
+ FILE:=$(WT220U02FW)
+ URL:=http://www.linuxtv.org/downloads/firmware/
+ MD5SUM:=
+endef
+
+define Download/wt220ufc03
+ FILE:=$(WT220UFC03FW)
+ URL:=http://raaf.atspace.org/dvbusb/firmware/
+ MD5SUM:=
+endef
+
+define Download/wt220uzl0352
+ FILE:=$(WT220UZL0353FW)
+ URL:=http://raaf.atspace.org/dvbusb/firmware/
+ MD5SUM:=
+endef
+
+define KernelPackage/dvb-dtt200u/install
+ $(INSTALL_DIR) $(1)/lib/firmware
+ $(INSTALL_BIN) $(DL_DIR)/$(DTT220U01FW) $(1)/lib/firmware
+ $(INSTALL_BIN) $(DL_DIR)/$(WT220U01FW) $(1)/lib/firmware
+ $(INSTALL_BIN) $(DL_DIR)/$(WT220U02FW) $(1)/lib/firmware
+ $(INSTALL_BIN) $(DL_DIR)/$(WT220UFC03FW) $(1)/lib/firmware
+ $(INSTALL_BIN) $(DL_DIR)/$(WT220UZL0353FW) $(1)/lib/firmware
+endef
+
+$(eval $(call Download,dtt220u01))
+$(eval $(call Download,wt220u01))
+$(eval $(call Download,wt220u02))
+$(eval $(call Download,wt220ufc03))
+$(eval $(call Download,wt220uzl0352))
+$(eval $(call KernelPackage,dvb-dtt200u))
+
Index: target/linux/generic-2.6/config-2.6.30
===================================================================
--- target/linux/generic-2.6/config-2.6.30 2009-07-18 21:38:59.000000000
-0700
+++ target/linux/generic-2.6/config-2.6.30 2009-07-19 22:54:36.000000000
-0700
@@ -432,6 +432,89 @@
# CONFIG_DUMMY is not set
# CONFIG_DVB_CORE is not set
# CONFIG_DVB is not set
+# CONFIG_DVB_AU8522 is not set
+# CONFIG_DVB_AF9013 is not set
+# CONFIG_DVB_B2C2_FLEXCOP is not set
+# CONFIG_DVB_BUDGET_CORE is not set
+# CONFIG_DVB_BCM3510 is not set
+# CONFIG_DVB_CX22700 is not set
+# CONFIG_DVB_CX22702 is not set
+# CONFIG_DVB_CX24110 is not set
+# CONFIG_DVB_CX24116 is not set
+# CONFIG_DVB_CX24123 is not set
+# CONFIG_DVB_DIB3000MB is not set
+# CONFIG_DVB_DIB3000MC is not set
+# CONFIG_DVB_DIB7000M is not set
+# CONFIG_DVB_DIB7000P is not set
+# CONFIG_DVB_DM1105 is not set
+# CONFIG_DVB_DRX397XD is not set
+# CONFIG_DVB_DUMMY_FE is not set
+# CONFIG_DVB_DYNAMIC_MINORS is not set
+# CONFIG_DVB_FE_CUSTOMISE is not set
+# CONFIG_DVB_ISL6405 is not set
+# CONFIG_DVB_ISL6421 is not set
+# CONFIG_DVB_L64781 is not set
+# CONFIG_DVB_LGDT330X is not set
+# CONFIG_DVB_LGS8GL5 is not set
+# CONFIG_DVB_LNBP21 is not set
+# CONFIG_DVB_MT312 is not set
+# CONFIG_DVB_MT352 is not set
+# CONFIG_DVB_NXT200X is not set
+# CONFIG_DVB_NXT6000 is not set
+# CONFIG_DVB_OR51132 is not set
+# CONFIG_DVB_OR51211 is not set
+# CONFIG_DVB_PLL is not set
+# CONFIG_DVB_PLUTO2 is not set
+# CONFIG_DVB_S5H1409 is not set
+# CONFIG_DVB_S5H1411 is not set
+# CONFIG_DVB_S5H1420 is not set
+# CONFIG_DVB_SI21XX is not set
+# CONFIG_DVB_SIANO_SMS1XXX is not set
+# CONFIG_DVB_SP8870 is not set
+# CONFIG_DVB_SP887X is not set
+# CONFIG_DVB_STB6000 is not set
+# CONFIG_DVB_STV0288 is not set
+# CONFIG_DVB_STV0297 is not set
+# CONFIG_DVB_STV0299 is not set
+# CONFIG_DVB_TDA10021 is not set
+# CONFIG_DVB_TDA10023 is not set
+# CONFIG_DVB_TDA10048 is not set
+# CONFIG_DVB_TDA1004X is not set
+# CONFIG_DVB_TDA10086 is not set
+# CONFIG_DVB_TDA8083 is not set
+# CONFIG_DVB_TDA826X is not set
+# CONFIG_DVB_TTUSB_BUDGET is not set
+# CONFIG_DVB_TTUSB_DEC is not set
+# CONFIG_DVB_TUA6100 is not set
+# CONFIG_DVB_TUNER_DIB0070 is not set
+# CONFIG_DVB_TUNER_ITD1000 is not set
+# CONFIG_DVB_USB_A800 is not set
+# CONFIG_DVB_USB_AF9005 is not set
+# CONFIG_DVB_USB_AF9015 is not set
+# CONFIG_DVB_USB_ANYSEE is not set
+# CONFIG_DVB_USB_AU6610 is not set
+# CONFIG_DVB_USB_CE6230 is not set
+# CONFIG_DVB_USB_CINERGY_T2 is not set
+# CONFIG_DVB_USB_CXUSB is not set
+# CONFIG_DVB_USB_DEBUG is not set
+# CONFIG_DVB_USB_DIB0700 is not set
+# CONFIG_DVB_USB_DIBUSB_MB is not set
+# CONFIG_DVB_USB_DIBUSB_MC is not set
+# CONFIG_DVB_USB_DIGITV is not set
+# CONFIG_DVB_USB_DTV5100 is not set
+# CONFIG_DVB_USB_DW2102 is not set
+# CONFIG_DVB_USB_GL861 is not set
+# CONFIG_DVB_USB_GP8PSK is not set
+# CONFIG_DVB_USB_M920X is not set
+# CONFIG_DVB_USB_NOVA_T_USB2 is not set
+# CONFIG_DVB_USB_OPERA1 is not set
+# CONFIG_DVB_USB_TTUSB2 is not set
+# CONFIG_DVB_USB_UMT_010 is not set
+# CONFIG_DVB_USB_VP702X is not set
+# CONFIG_DVB_USB_VP7045 is not set
+# CONFIG_DVB_VES1820 is not set
+# CONFIG_DVB_VES1X93 is not set
+# CONFIG_DVB_ZL10353 is not set
# CONFIG_DYNAMIC_DEBUG is not set
# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
# CONFIG_E1000E is not set
Index: target/linux/generic-2.6/config-2.6.28
===================================================================
--- target/linux/generic-2.6/config-2.6.28 2009-07-18 21:39:00.000000000
-0700
+++ target/linux/generic-2.6/config-2.6.28 2009-07-18 21:39:01.000000000
-0700
@@ -410,6 +410,87 @@
# CONFIG_DUMMY is not set
# CONFIG_DVB_CORE is not set
# CONFIG_DVB is not set
+# CONFIG_DVB_AU8522 is not set
+# CONFIG_DVB_AF9013 is not set
+# CONFIG_DVB_B2C2_FLEXCOP is not set
+# CONFIG_DVB_BUDGET_CORE is not set
+# CONFIG_DVB_BCM3510 is not set
+# CONFIG_DVB_CX22700 is not set
+# CONFIG_DVB_CX22702 is not set
+# CONFIG_DVB_CX24110 is not set
+# CONFIG_DVB_CX24116 is not set
+# CONFIG_DVB_CX24123 is not set
+# CONFIG_DVB_DIB3000MB is not set
+# CONFIG_DVB_DIB3000MC is not set
+# CONFIG_DVB_DIB7000M is not set
+# CONFIG_DVB_DIB7000P is not set
+# CONFIG_DVB_DM1105 is not set
+# CONFIG_DVB_DRX397XD is not set
+# CONFIG_DVB_DUMMY_FE is not set
+# CONFIG_DVB_FE_CUSTOMISE is not set
+# CONFIG_DVB_ISL6405 is not set
+# CONFIG_DVB_ISL6421 is not set
+# CONFIG_DVB_L64781 is not set
+# CONFIG_DVB_LGDT330X is not set
+# CONFIG_DVB_LGS8GL5 is not set
+# CONFIG_DVB_LNBP21 is not set
+# CONFIG_DVB_MT312 is not set
+# CONFIG_DVB_MT352 is not set
+# CONFIG_DVB_NXT200X is not set
+# CONFIG_DVB_NXT6000 is not set
+# CONFIG_DVB_OR51132 is not set
+# CONFIG_DVB_OR51211 is not set
+# CONFIG_DVB_PLL is not set
+# CONFIG_DVB_PLUTO2 is not set
+# CONFIG_DVB_S5H1409 is not set
+# CONFIG_DVB_S5H1411 is not set
+# CONFIG_DVB_S5H1420 is not set
+# CONFIG_DVB_SI21XX is not set
+# CONFIG_DVB_SIANO_SMS1XXX is not set
+# CONFIG_DVB_SP8870 is not set
+# CONFIG_DVB_SP887X is not set
+# CONFIG_DVB_STB6000 is not set
+# CONFIG_DVB_STV0288 is not set
+# CONFIG_DVB_STV0297 is not set
+# CONFIG_DVB_STV0299 is not set
+# CONFIG_DVB_TDA10021 is not set
+# CONFIG_DVB_TDA10023 is not set
+# CONFIG_DVB_TDA10048 is not set
+# CONFIG_DVB_TDA1004X is not set
+# CONFIG_DVB_TDA10086 is not set
+# CONFIG_DVB_TDA8083 is not set
+# CONFIG_DVB_TDA826X is not set
+# CONFIG_DVB_TTUSB_BUDGET is not set
+# CONFIG_DVB_TTUSB_DEC is not set
+# CONFIG_DVB_TUA6100 is not set
+# CONFIG_DVB_TUNER_DIB0070 is not set
+# CONFIG_DVB_TUNER_ITD1000 is not set
+# CONFIG_DVB_USB_A800 is not set
+# CONFIG_DVB_USB_AF9005 is not set
+# CONFIG_DVB_USB_AF9015 is not set
+# CONFIG_DVB_USB_ANYSEE is not set
+# CONFIG_DVB_USB_AU6610 is not set
+# CONFIG_DVB_USB_CINERGY_T2 is not set
+# CONFIG_DVB_USB_CXUSB is not set
+# CONFIG_DVB_USB_DEBUG is not set
+# CONFIG_DVB_USB_DIB0700 is not set
+# CONFIG_DVB_USB_DIBUSB_MB is not set
+# CONFIG_DVB_USB_DIBUSB_MC is not set
+# CONFIG_DVB_USB_DIGITV is not set
+# CONFIG_DVB_USB_DTV5100 is not set
+# CONFIG_DVB_USB_DW2102 is not set
+# CONFIG_DVB_USB_GL861 is not set
+# CONFIG_DVB_USB_GP8PSK is not set
+# CONFIG_DVB_USB_M920X is not set
+# CONFIG_DVB_USB_NOVA_T_USB2 is not set
+# CONFIG_DVB_USB_OPERA1 is not set
+# CONFIG_DVB_USB_TTUSB2 is not set
+# CONFIG_DVB_USB_UMT_010 is not set
+# CONFIG_DVB_USB_VP702X is not set
+# CONFIG_DVB_USB_VP7045 is not set
+# CONFIG_DVB_VES1820 is not set
+# CONFIG_DVB_VES1X93 is not set
+# CONFIG_DVB_ZL10353 is not set
# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
# CONFIG_E1000E is not set
# CONFIG_E1000 is not set
Index: package/base-files/files/etc/hotplug2-common.rules
===================================================================
--- package/base-files/files/etc/hotplug2-common.rules 2009-06-05
17:59:15.000000000 -0700
+++ package/base-files/files/etc/hotplug2-common.rules 2009-06-05
17:59:15.000000000 -0700
@@ -17,6 +17,30 @@
next
}
+DEVICENAME ~~ (dvb[0-9].demux[0-9]) {
+ nothrottle
+ makedev /dev/dvb/adapter0/demux0 0644
+ next
+}
+
+DEVICENAME ~~ (dvb[0-9].dvr[0-9]) {
+ nothrottle
+ makedev /dev/dvb/adapter0/dvr0 0644
+ next
+}
+
+DEVICENAME ~~ (dvb[0-9].net[0-9]) {
+ nothrottle
+ makedev /dev/dvb/adapter0/net0 0644
+ next
+}
+
+DEVICENAME ~~ (dvb[0-9].frontend[0-9]) {
+ nothrottle
+ makedev /dev/dvb/adapter0/frontend0 0644
+ next
+}
+
DEVICENAME ~~ (controlC[0-9]|pcmC0D0*|timer) {
nothrottle
makedev /dev/snd/%DEVICENAME% 0644
_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/mailman/listinfo/openwrt-devel