diff options
author | Matthias Schwarzott <zzam@gentoo.org> | 2006-11-08 19:33:50 +0000 |
---|---|---|
committer | Matthias Schwarzott <zzam@gentoo.org> | 2006-11-08 19:33:50 +0000 |
commit | b62cdd84e6ddb2924ad8e38a2e54e8551e2c9ec3 (patch) | |
tree | a4b0e79b4bbfc53e7e23347d34ad6bc6ae5d3d6d /media-tv/linuxtv-dvb-firmware | |
parent | Added new entries for dvb-cards. (diff) | |
download | historical-b62cdd84e6ddb2924ad8e38a2e54e8551e2c9ec3.tar.gz historical-b62cdd84e6ddb2924ad8e38a2e54e8551e2c9ec3.tar.bz2 historical-b62cdd84e6ddb2924ad8e38a2e54e8551e2c9ec3.zip |
Simplified logic a bit. Updated firmware-file-names, added new files.
Package-Manager: portage-2.1.2_rc1-r5
Diffstat (limited to 'media-tv/linuxtv-dvb-firmware')
5 files changed, 767 insertions, 8 deletions
diff --git a/media-tv/linuxtv-dvb-firmware/ChangeLog b/media-tv/linuxtv-dvb-firmware/ChangeLog index 8c91aa7bea44..c905fca20c94 100644 --- a/media-tv/linuxtv-dvb-firmware/ChangeLog +++ b/media-tv/linuxtv-dvb-firmware/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for media-tv/linuxtv-dvb-firmware # Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-tv/linuxtv-dvb-firmware/ChangeLog,v 1.7 2006/10/26 21:05:03 zzam Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-tv/linuxtv-dvb-firmware/ChangeLog,v 1.8 2006/11/08 19:33:50 zzam Exp $ + +*linuxtv-dvb-firmware-2006.11.08 (08 Nov 2006) + + 08 Nov 2006; Matthias Schwarzott <zzam@gentoo.org> + +files/get_dvb_firmware-2006.11.08, + +linuxtv-dvb-firmware-2006.11.08.ebuild: + Simplified logic a bit. Updated firmware-file-names, added new files. 26 Oct 2006; Matthias Schwarzott <zzam@gentoo.org> linuxtv-dvb-firmware-1.ebuild: diff --git a/media-tv/linuxtv-dvb-firmware/Manifest b/media-tv/linuxtv-dvb-firmware/Manifest index c24b802e018e..34063d021d60 100644 --- a/media-tv/linuxtv-dvb-firmware/Manifest +++ b/media-tv/linuxtv-dvb-firmware/Manifest @@ -5,20 +5,33 @@ AUX get_dvb_firmware-1 11537 RMD160 d5bc2ef09ba19324884b98cd7a2b22cb36458f78 SHA MD5 cf50072da5b600c439d7c82e127a7f62 files/get_dvb_firmware-1 11537 RMD160 d5bc2ef09ba19324884b98cd7a2b22cb36458f78 files/get_dvb_firmware-1 11537 SHA256 8b16f5192d47529dafda49b7f0b7bd3182324e45965ca686bc55d5ba87d4fd61 files/get_dvb_firmware-1 11537 +AUX get_dvb_firmware-2006.11.08 12406 RMD160 e8842c6a1192d890b211f70201593ce299938ca6 SHA1 5455b2a5efc7e5693ee8e6b1c8041d763c85e691 SHA256 5a5b45b89aef1a3c724840a4046947fb40c87c36f3560ac9c093723c058b651d +MD5 355f47cc13a0b5baedbdd4db670d975d files/get_dvb_firmware-2006.11.08 12406 +RMD160 e8842c6a1192d890b211f70201593ce299938ca6 files/get_dvb_firmware-2006.11.08 12406 +SHA256 5a5b45b89aef1a3c724840a4046947fb40c87c36f3560ac9c093723c058b651d files/get_dvb_firmware-2006.11.08 12406 DIST AVerTVHD_MCE_A180_Drv_v1.2.2.16.zip 156028 RMD160 59f0b35f04d0030b39cde9c1a2e04cf060670769 SHA1 42a8f736fc0c1d62c91d9f8f4337d37d07216840 SHA256 7f65564416b12bc34d0d2e49b61a11c557e0f48a49064a8c880423606d43aa3f DIST Dvbt1.3.57.6.zip 12174738 RMD160 f06ea9bcf8e362e26b0387edcaba0d171fb3fc92 SHA1 c839bd71b48596c2c5c256bc80c42f0b50790b92 SHA256 a2688def053bc3e01103d1894a1027c7cf896d40b238c59ad7f6da1c72e74903 +DIST Technisat_DVB-PC_4_4_COMPACT.zip 20589158 RMD160 a53dd1eb6cc997aa4f5a0e0da6b8510f064f535f SHA1 45411773dcd21be1050534edf1b456e43a1d3a3a SHA256 11751b445f13f5b7e7ce15349d2f086c271096927c4d974008a362f714314175 DIST dec217g.exe 16371951 RMD160 34ffa441adba1c34a2fafe067758f12782e54662 SHA1 02ec3582d5e8b9145de4a6e9804132b2cac7cb89 SHA256 fd20902bcc3178a26b5a27fe88adcdfce888daa8d2206b67b13e5f3a3973dc1c +DIST dvb-fe-bcm3510-01.fw 2285 RMD160 894ecf8ddcf0bd7b34caed81053a18233a82f9f0 SHA1 09a2478fdff67ed6a4e77f4dcd05da43841874a9 SHA256 978ece002a3e1f5eb760f6ca48496e05da00b7aa76e0f6f2cb108bde2ea14f51 DIST dvb-firmwares-1.tar.bz2 182356 RMD160 2e70e8111e0d8889f5cd017dfa1c8d2b635f61a2 SHA1 5431a0f6c95ca14f36531e841f95a2472d2c96b9 SHA256 11772d539e5605e92f51a1edc82382c19808dea2bb9f0b425efad354e0d9bd52 +DIST dvb-usb-bluebird-01.fw 9025 RMD160 878f8f820993dbc1f03de43145a51e49e55e0733 SHA1 5a44455b383e5b8104215481693baa9498841f63 SHA256 1d9d8c5a320a0a76c476e08bd212291144439121d4147dbf8d48822b576306fc +DIST dvb-usb-wt220u-02.fw 8480 RMD160 a291280a67a04bae78c83763150d2d81aef0bd38 SHA1 149c2fe9912707100360829d3302dfcc3e596275 SHA256 ed8cd2ae6b5ad540fd4a14de9ccaa10f662781961f44cfe58b623679a5f508df +DIST dvb-usb-wt220u-fc03.fw 12902 RMD160 33dd26ffe5129ce56a20d28762d7e12e04882082 SHA1 b3e1a394fdc5d4bae921487b3b1fc4bf89594aab SHA256 838044a2f98736fe5b1266598a36eed4b5c9aa845e65c5d1d4054b8b72f808dc DIST tt_Premium_217g.zip 11348671 RMD160 b7e63f5f96ab1aba1cfad3647a76b81952dcf2af SHA1 13b721bf8f49f0c73c18d0c24456ba95ae491748 SHA256 cfe84a039c20473ba41c2e3da165c668a0e227f197ea0e272abc253c5f9f5a83 DIST tt_budget_217g.zip 12656253 RMD160 41458fe742df0526847681ca8265bc485edba922 SHA1 44ce1bddd6617e2dbbfddbc3bc9460bfe844883d SHA256 0e6e00f34273bd034370ee274d02eaa318bd6bb11c01b19d5b1a8e9b20ed5479 EBUILD linuxtv-dvb-firmware-1.ebuild 4631 RMD160 512a80c00bca6d30d7738b199df9ca2eb86d7e82 SHA1 1472b65e816335212aefb13fd69aa383034e3094 SHA256 a529027e0a558b5ed27e2b1f9c714d579e4a445459bd67c12e0604a250f578aa MD5 163c3adc7d30237a362c826acd9c5650 linuxtv-dvb-firmware-1.ebuild 4631 RMD160 512a80c00bca6d30d7738b199df9ca2eb86d7e82 linuxtv-dvb-firmware-1.ebuild 4631 SHA256 a529027e0a558b5ed27e2b1f9c714d579e4a445459bd67c12e0604a250f578aa linuxtv-dvb-firmware-1.ebuild 4631 -MISC ChangeLog 1300 RMD160 8ffb921b36e7149e6474b55b6db244b0dd2ffe8e SHA1 4c41b249f0b5a53b2c8b91603b7fcd694fe44415 SHA256 8b6f0112bd081019d728e1519a3d35dabf81c2f37b1522c7ef91768b341b17be -MD5 df1ada686fa1e83c657ff8e0ff2b17d6 ChangeLog 1300 -RMD160 8ffb921b36e7149e6474b55b6db244b0dd2ffe8e ChangeLog 1300 -SHA256 8b6f0112bd081019d728e1519a3d35dabf81c2f37b1522c7ef91768b341b17be ChangeLog 1300 +EBUILD linuxtv-dvb-firmware-2006.11.08.ebuild 5593 RMD160 31269536992bb3fdcfbcb977cb8e32ddb4e0d43b SHA1 6709233684ab4dcfb06ec94a5b0460e8c338e1f3 SHA256 93e175d569651919aa9b8359c97bfa937e8095a4cc2295a8d059711b7e584f7b +MD5 351a12a04a61d58921750cdbdf40aebb linuxtv-dvb-firmware-2006.11.08.ebuild 5593 +RMD160 31269536992bb3fdcfbcb977cb8e32ddb4e0d43b linuxtv-dvb-firmware-2006.11.08.ebuild 5593 +SHA256 93e175d569651919aa9b8359c97bfa937e8095a4cc2295a8d059711b7e584f7b linuxtv-dvb-firmware-2006.11.08.ebuild 5593 +MISC ChangeLog 1555 RMD160 22a13c70fd7b9b4c8f840db8b2d449fecfc85d4b SHA1 0d3aff3c879e6860f38dc0326758070b77343052 SHA256 e7a9770d17323cf866858b8e9baf98b29550973259b5b5c470454e7438ee725f +MD5 8f19767f19a0386737845da0dd0d0b57 ChangeLog 1555 +RMD160 22a13c70fd7b9b4c8f840db8b2d449fecfc85d4b ChangeLog 1555 +SHA256 e7a9770d17323cf866858b8e9baf98b29550973259b5b5c470454e7438ee725f ChangeLog 1555 MISC metadata.xml 300 RMD160 c85719cef743cf573efe73f8f84564292085c91c SHA1 4c00933e1ed60039fae091034d83e28d0890e87c SHA256 29feafd8b7177b65f8bd92553ac96779d9a91e3b7b4eeecfb0924eb7b6979587 MD5 7c30ab7528b676a1a0c2737821599b29 metadata.xml 300 RMD160 c85719cef743cf573efe73f8f84564292085c91c metadata.xml 300 @@ -26,10 +39,13 @@ SHA256 29feafd8b7177b65f8bd92553ac96779d9a91e3b7b4eeecfb0924eb7b6979587 metadata MD5 96f00a815cde3472fab6aa7f3de3e581 files/digest-linuxtv-dvb-firmware-1 1476 RMD160 42f0ab30daa214497908d28c1f05f9cd618e5daa files/digest-linuxtv-dvb-firmware-1 1476 SHA256 629d6619ddd484036af289dccbbfc75efeafd288754f7908a8ef30b90167bbfc files/digest-linuxtv-dvb-firmware-1 1476 +MD5 29ed9c2b62abc0505f368f47dc72c4b6 files/digest-linuxtv-dvb-firmware-2006.11.08 2714 +RMD160 c22b724bd045ed67c043a2af85c9a89a1015a4f7 files/digest-linuxtv-dvb-firmware-2006.11.08 2714 +SHA256 eee22fbd55bed5288cdc03454bba4c402176e598414946576c280738004f129e files/digest-linuxtv-dvb-firmware-2006.11.08 2714 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (GNU/Linux) -iD8DBQFFQSMPt2vP6XvVdOcRAteJAKCU1+gk0dL8tJFOUyjD3JvSrhK+FgCeOgNS -FBudeUVxLY/Jp60/Q+9dFSc= -=aVLI +iD8DBQFFUjEyt2vP6XvVdOcRAvs/AKDamrzy0rhK46W1MxyXxJdU62irVQCeN9y2 +byjtTVyxPeEDIlqYNfpUoI0= +=QK8y -----END PGP SIGNATURE----- diff --git a/media-tv/linuxtv-dvb-firmware/files/digest-linuxtv-dvb-firmware-2006.11.08 b/media-tv/linuxtv-dvb-firmware/files/digest-linuxtv-dvb-firmware-2006.11.08 new file mode 100644 index 000000000000..54b6c1124acf --- /dev/null +++ b/media-tv/linuxtv-dvb-firmware/files/digest-linuxtv-dvb-firmware-2006.11.08 @@ -0,0 +1,33 @@ +MD5 292ada6f90218a6bace6b72fe22eeec6 AVerTVHD_MCE_A180_Drv_v1.2.2.16.zip 156028 +RMD160 59f0b35f04d0030b39cde9c1a2e04cf060670769 AVerTVHD_MCE_A180_Drv_v1.2.2.16.zip 156028 +SHA256 7f65564416b12bc34d0d2e49b61a11c557e0f48a49064a8c880423606d43aa3f AVerTVHD_MCE_A180_Drv_v1.2.2.16.zip 156028 +MD5 28db715d5e7a11bf85dd0240a42758f4 Dvbt1.3.57.6.zip 12174738 +RMD160 f06ea9bcf8e362e26b0387edcaba0d171fb3fc92 Dvbt1.3.57.6.zip 12174738 +SHA256 a2688def053bc3e01103d1894a1027c7cf896d40b238c59ad7f6da1c72e74903 Dvbt1.3.57.6.zip 12174738 +MD5 bda54d50a8dd9daabf30f4ee06c64f97 Technisat_DVB-PC_4_4_COMPACT.zip 20589158 +RMD160 a53dd1eb6cc997aa4f5a0e0da6b8510f064f535f Technisat_DVB-PC_4_4_COMPACT.zip 20589158 +SHA256 11751b445f13f5b7e7ce15349d2f086c271096927c4d974008a362f714314175 Technisat_DVB-PC_4_4_COMPACT.zip 20589158 +MD5 b96dde610256d896e8e1b37ae577796d dec217g.exe 16371951 +RMD160 34ffa441adba1c34a2fafe067758f12782e54662 dec217g.exe 16371951 +SHA256 fd20902bcc3178a26b5a27fe88adcdfce888daa8d2206b67b13e5f3a3973dc1c dec217g.exe 16371951 +MD5 f7657f81708578b4e4620f5348c3905a dvb-fe-bcm3510-01.fw 2285 +RMD160 894ecf8ddcf0bd7b34caed81053a18233a82f9f0 dvb-fe-bcm3510-01.fw 2285 +SHA256 978ece002a3e1f5eb760f6ca48496e05da00b7aa76e0f6f2cb108bde2ea14f51 dvb-fe-bcm3510-01.fw 2285 +MD5 abdd8102bb5b09314985a8ac9eaf8d83 dvb-firmwares-1.tar.bz2 182356 +RMD160 2e70e8111e0d8889f5cd017dfa1c8d2b635f61a2 dvb-firmwares-1.tar.bz2 182356 +SHA256 11772d539e5605e92f51a1edc82382c19808dea2bb9f0b425efad354e0d9bd52 dvb-firmwares-1.tar.bz2 182356 +MD5 658397cb9eba9101af9031302671f49d dvb-usb-bluebird-01.fw 9025 +RMD160 878f8f820993dbc1f03de43145a51e49e55e0733 dvb-usb-bluebird-01.fw 9025 +SHA256 1d9d8c5a320a0a76c476e08bd212291144439121d4147dbf8d48822b576306fc dvb-usb-bluebird-01.fw 9025 +MD5 4249787aaca0fbe8b82df91db4c7dc0f dvb-usb-wt220u-02.fw 8480 +RMD160 a291280a67a04bae78c83763150d2d81aef0bd38 dvb-usb-wt220u-02.fw 8480 +SHA256 ed8cd2ae6b5ad540fd4a14de9ccaa10f662781961f44cfe58b623679a5f508df dvb-usb-wt220u-02.fw 8480 +MD5 381add05f30c95d56edd23a19467372c dvb-usb-wt220u-fc03.fw 12902 +RMD160 33dd26ffe5129ce56a20d28762d7e12e04882082 dvb-usb-wt220u-fc03.fw 12902 +SHA256 838044a2f98736fe5b1266598a36eed4b5c9aa845e65c5d1d4054b8b72f808dc dvb-usb-wt220u-fc03.fw 12902 +MD5 f296fb50e2de3d5929b231994395cd24 tt_Premium_217g.zip 11348671 +RMD160 b7e63f5f96ab1aba1cfad3647a76b81952dcf2af tt_Premium_217g.zip 11348671 +SHA256 cfe84a039c20473ba41c2e3da165c668a0e227f197ea0e272abc253c5f9f5a83 tt_Premium_217g.zip 11348671 +MD5 bf511c80f48b49fa93c53ee6921303b5 tt_budget_217g.zip 12656253 +RMD160 41458fe742df0526847681ca8265bc485edba922 tt_budget_217g.zip 12656253 +SHA256 0e6e00f34273bd034370ee274d02eaa318bd6bb11c01b19d5b1a8e9b20ed5479 tt_budget_217g.zip 12656253 diff --git a/media-tv/linuxtv-dvb-firmware/files/get_dvb_firmware-2006.11.08 b/media-tv/linuxtv-dvb-firmware/files/get_dvb_firmware-2006.11.08 new file mode 100644 index 000000000000..4820366b6ae8 --- /dev/null +++ b/media-tv/linuxtv-dvb-firmware/files/get_dvb_firmware-2006.11.08 @@ -0,0 +1,450 @@ +#!/usr/bin/perl +# DVB firmware extractor +# +# (c) 2004 Andrew de Quincey +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +use File::Temp qw/ tempdir /; +use IO::Handle; + +@components = ( "sp8870", "sp887x", "tda10045", "tda10046", + "tda10046lifeview", "av7110", "dec2000t", "dec2540t", + "dec3000s", "vp7041", "dibusb", "nxt2002", "nxt2004", + "or51211", "or51132_qam", "or51132_vsb", "bluebird"); + +# Check args +syntax() if (scalar(@ARGV) != 1); +$cid = $ARGV[0]; + +# Do it! +for ($i=0; $i < scalar(@components); $i++) { + if ($cid eq $components[$i]) { + $outfile = eval($cid); + die $@ if $@; + print STDERR <<EOF; +Firmware $outfile extracted successfully. +Now copy it to either /usr/lib/hotplug/firmware or /lib/firmware +(depending on configuration of firmware hotplug). +EOF + exit(0); + } +} + +# If we get here, it wasn't found +print STDERR "Unknown component \"$cid\"\n"; +syntax(); + + + + +# --------------------------------------------------------------- +# Firmware-specific extraction subroutines + +sub sp8870 { + my $sourcefile = "tt_Premium_217g.zip"; + my $url = "http://www.technotrend.de/new/217g/$sourcefile"; + my $hash = "53970ec17a538945a6d8cb608a7b3899"; + my $outfile = "dvb-fe-sp8870.fw"; + my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); + + checkstandard(); + + wgetfile($sourcefile, $url); + unzip($sourcefile, $tmpdir); + verify("$tmpdir/software/OEM/HE/App/boot/SC_MAIN.MC", $hash); + copy("$tmpdir/software/OEM/HE/App/boot/SC_MAIN.MC", $outfile); + + $outfile; +} + +sub sp887x { + my $sourcefile = "Dvbt1.3.57.6.zip"; + my $url = "http://www.avermedia.com/software/$sourcefile"; + my $cabfile = "DVBT Net Ver1.3.57.6/disk1/data1.cab"; + my $hash = "237938d53a7f834c05c42b894ca68ac3"; + my $outfile = "dvb-fe-sp887x.fw"; + my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); + + checkstandard(); + checkunshield(); + + wgetfile($sourcefile, $url); + unzip($sourcefile, $tmpdir); + unshield("$tmpdir/$cabfile", $tmpdir); + verify("$tmpdir/ZEnglish/sc_main.mc", $hash); + copy("$tmpdir/ZEnglish/sc_main.mc", $outfile); + + $outfile; +} + +sub tda10045 { + my $sourcefile = "tt_budget_217g.zip"; + my $url = "http://www.technotrend.de/new/217g/$sourcefile"; + my $hash = "2105fd5bf37842fbcdfa4bfd58f3594a"; + my $outfile = "dvb-fe-tda10045.fw"; + my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); + + checkstandard(); + + wgetfile($sourcefile, $url); + unzip($sourcefile, $tmpdir); + extract("$tmpdir/software/OEM/PCI/App/ttlcdacc.dll", 0x37ef9, 30555, "$tmpdir/fwtmp"); + verify("$tmpdir/fwtmp", $hash); + copy("$tmpdir/fwtmp", $outfile); + + $outfile; +} + +sub tda10046 { + my $sourcefile = "tt_budget_217g.zip"; + my $url = "http://www.technotrend.de/new/217g/$sourcefile"; + my $hash = "6a7e1e2f2644b162ff0502367553c72d"; + my $outfile = "dvb-fe-tda10046.fw"; + my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); + + checkstandard(); + + wgetfile($sourcefile, $url); + unzip($sourcefile, $tmpdir); + extract("$tmpdir/software/OEM/PCI/App/ttlcdacc.dll", 0x3f731, 24478, "$tmpdir/fwtmp"); + verify("$tmpdir/fwtmp", $hash); + copy("$tmpdir/fwtmp", $outfile); + + $outfile; +} + +sub tda10046lifeview { + my $sourcefile = "Drv_2.11.02.zip"; + my $url = "http://www.lifeview.com.tw/drivers/pci_card/FlyDVB-T/$sourcefile"; + my $hash = "1ea24dee4eea8fe971686981f34fd2e0"; + my $outfile = "dvb-fe-tda10046.fw"; + my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); + + checkstandard(); + + wgetfile($sourcefile, $url); + unzip($sourcefile, $tmpdir); + extract("$tmpdir/LVHybrid.sys", 0x8b088, 24602, "$tmpdir/fwtmp"); + verify("$tmpdir/fwtmp", $hash); + copy("$tmpdir/fwtmp", $outfile); + + $outfile; +} + +sub av7110 { + my $sourcefile = "dvb-ttpci-01.fw-261d"; + my $url = "http://www.linuxtv.org/downloads/firmware/$sourcefile"; + my $hash = "603431b6259715a8e88f376a53b64e2f"; + my $outfile = "dvb-ttpci-01.fw"; + + checkstandard(); + + wgetfile($sourcefile, $url); + verify($sourcefile, $hash); + copy($sourcefile, $outfile); + + $outfile; +} + +sub dec2000t { + my $sourcefile = "dec217g.exe"; + my $url = "http://hauppauge.lightpath.net/de/$sourcefile"; + my $hash = "bd86f458cee4a8f0a8ce2d20c66215a9"; + my $outfile = "dvb-ttusb-dec-2000t.fw"; + my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); + + checkstandard(); + + wgetfile($sourcefile, $url); + unzip($sourcefile, $tmpdir); + verify("$tmpdir/software/OEM/STB/App/Boot/STB_PC_T.bin", $hash); + copy("$tmpdir/software/OEM/STB/App/Boot/STB_PC_T.bin", $outfile); + + $outfile; +} + +sub dec2540t { + my $sourcefile = "dec217g.exe"; + my $url = "http://hauppauge.lightpath.net/de/$sourcefile"; + my $hash = "53e58f4f5b5c2930beee74a7681fed92"; + my $outfile = "dvb-ttusb-dec-2540t.fw"; + my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); + + checkstandard(); + + wgetfile($sourcefile, $url); + unzip($sourcefile, $tmpdir); + verify("$tmpdir/software/OEM/STB/App/Boot/STB_PC_X.bin", $hash); + copy("$tmpdir/software/OEM/STB/App/Boot/STB_PC_X.bin", $outfile); + + $outfile; +} + +sub dec3000s { + my $sourcefile = "dec217g.exe"; + my $url = "http://hauppauge.lightpath.net/de/$sourcefile"; + my $hash = "b013ececea83f4d6d8d2a29ac7c1b448"; + my $outfile = "dvb-ttusb-dec-3000s.fw"; + my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); + + checkstandard(); + + wgetfile($sourcefile, $url); + unzip($sourcefile, $tmpdir); + verify("$tmpdir/software/OEM/STB/App/Boot/STB_PC_S.bin", $hash); + copy("$tmpdir/software/OEM/STB/App/Boot/STB_PC_S.bin", $outfile); + + $outfile; +} + +sub vp7041 { + my $sourcefile = "2.422.zip"; + my $url = "http://www.twinhan.com/files/driver/USB-Ter/$sourcefile"; + my $hash = "e88c9372d1f66609a3e7b072c53fbcfe"; + my $outfile = "dvb-vp7041-2.422.fw"; + my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); + + checkstandard(); + + wgetfile($sourcefile, $url); + unzip($sourcefile, $tmpdir); + extract("$tmpdir/VisionDTV/Drivers/Win2K&XP/UDTTload.sys", 12503, 3036, "$tmpdir/fwtmp1"); + extract("$tmpdir/VisionDTV/Drivers/Win2K&XP/UDTTload.sys", 2207, 10274, "$tmpdir/fwtmp2"); + + my $CMD = "\000\001\000\222\177\000"; + my $PAD = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"; + my ($FW); + open $FW, ">$tmpdir/fwtmp3"; + print $FW "$CMD\001$PAD"; + print $FW "$CMD\001$PAD"; + appendfile($FW, "$tmpdir/fwtmp1"); + print $FW "$CMD\000$PAD"; + print $FW "$CMD\001$PAD"; + appendfile($FW, "$tmpdir/fwtmp2"); + print $FW "$CMD\001$PAD"; + print $FW "$CMD\000$PAD"; + close($FW); + + verify("$tmpdir/fwtmp3", $hash); + copy("$tmpdir/fwtmp3", $outfile); + + $outfile; +} + +sub dibusb { + my $url = "http://www.linuxtv.org/downloads/firmware/dvb-usb-dibusb-5.0.0.11.fw"; + my $outfile = "dvb-dibusb-5.0.0.11.fw"; + my $hash = "fa490295a527360ca16dcdf3224ca243"; + + checkstandard(); + + wgetfile($outfile, $url); + verify($outfile,$hash); + + $outfile; +} + +sub nxt2002 { + my $sourcefile = "Technisat_DVB-PC_4_4_COMPACT.zip"; + my $url = "http://www.bbti.us/download/windows/$sourcefile"; + my $hash = "476befae8c7c1bb9648954060b1eec1f"; + my $outfile = "dvb-fe-nxt2002.fw"; + my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); + + checkstandard(); + + wgetfile($sourcefile, $url); + unzip($sourcefile, $tmpdir); + verify("$tmpdir/SkyNET.sys", $hash); + extract("$tmpdir/SkyNET.sys", 331624, 5908, $outfile); + + $outfile; +} + +sub nxt2004 { + my $sourcefile = "AVerTVHD_MCE_A180_Drv_v1.2.2.16.zip"; + my $url = "http://www.aver.com/support/Drivers/$sourcefile"; + my $hash = "111cb885b1e009188346d72acfed024c"; + my $outfile = "dvb-fe-nxt2004.fw"; + my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); + + checkstandard(); + + wgetfile($sourcefile, $url); + unzip($sourcefile, $tmpdir); + verify("$tmpdir/3xHybrid.sys", $hash); + extract("$tmpdir/3xHybrid.sys", 465304, 9584, $outfile); + + $outfile; +} + +sub or51211 { + my $fwfile = "dvb-fe-or51211.fw"; + my $url = "http://linuxtv.org/downloads/firmware/$fwfile"; + my $hash = "d830949c771a289505bf9eafc225d491"; + + checkstandard(); + + wgetfile($fwfile, $url); + verify($fwfile, $hash); + + $fwfile; +} + +sub or51132_qam { + my $fwfile = "dvb-fe-or51132-qam.fw"; + my $url = "http://linuxtv.org/downloads/firmware/$fwfile"; + my $hash = "7702e8938612de46ccadfe9b413cb3b5"; + + checkstandard(); + + wgetfile($fwfile, $url); + verify($fwfile, $hash); + + $fwfile; +} + +sub or51132_vsb { + my $fwfile = "dvb-fe-or51132-vsb.fw"; + my $url = "http://linuxtv.org/downloads/firmware/$fwfile"; + my $hash = "c16208e02f36fc439a557ad4c613364a"; + + checkstandard(); + + wgetfile($fwfile, $url); + verify($fwfile, $hash); + + $fwfile; +} + +sub bluebird { + my $url = "http://www.linuxtv.org/download/dvb/firmware/dvb-usb-bluebird-01.fw"; + my $outfile = "dvb-usb-bluebird-01.fw"; + my $hash = "658397cb9eba9101af9031302671f49d"; + + checkstandard(); + + wgetfile($outfile, $url); + verify($outfile,$hash); + + $outfile; +} + +# --------------------------------------------------------------- +# Utilities + +sub checkstandard { + if (system("which unzip > /dev/null 2>&1")) { + die "This firmware requires the unzip command - see ftp://ftp.info-zip.org/pub/infozip/UnZip.html\n"; + } + if (system("which md5sum > /dev/null 2>&1")) { + die "This firmware requires the md5sum command - see http://www.gnu.org/software/coreutils/\n"; + } + if (system("which wget > /dev/null 2>&1")) { + die "This firmware requires the wget command - see http://wget.sunsite.dk/\n"; + } +} + +sub checkunshield { + if (system("which unshield > /dev/null 2>&1")) { + die "This firmware requires the unshield command - see http://sourceforge.net/projects/synce/\n"; + } +} + +sub wgetfile { + my ($sourcefile, $url) = @_; + + if (! -f $sourcefile) { + system("wget -O \"$sourcefile\" \"$url\"") and die "wget failed - unable to download firmware"; + } +} + +sub unzip { + my ($sourcefile, $todir) = @_; + + $status = system("unzip -q -o -d \"$todir\" \"$sourcefile\" 2>/dev/null" ); + if ((($status >> 8) > 2) || (($status & 0xff) != 0)) { + die ("unzip failed - unable to extract firmware"); + } +} + +sub unshield { + my ($sourcefile, $todir) = @_; + + system("unshield x -d \"$todir\" \"$sourcefile\" > /dev/null" ) and die ("unshield failed - unable to extract firmware"); +} + +sub verify { + my ($filename, $hash) = @_; + my ($testhash); + + open(CMD, "md5sum \"$filename\"|"); + $testhash = <CMD>; + $testhash =~ /([a-zA-Z0-9]*)/; + $testhash = $1; + close CMD; + die "Hash of extracted file does not match!\n" if ($testhash ne $hash); +} + +sub copy { + my ($from, $to) = @_; + + system("cp -f \"$from\" \"$to\"") and die ("cp failed"); +} + +sub extract { + my ($infile, $offset, $length, $outfile) = @_; + my ($chunklength, $buf, $rcount); + + open INFILE, "<$infile"; + open OUTFILE, ">$outfile"; + sysseek(INFILE, $offset, SEEK_SET); + while($length > 0) { + # Calc chunk size + $chunklength = 2048; + $chunklength = $length if ($chunklength > $length); + + $rcount = sysread(INFILE, $buf, $chunklength); + die "Ran out of data\n" if ($rcount != $chunklength); + syswrite(OUTFILE, $buf); + $length -= $rcount; + } + close INFILE; + close OUTFILE; +} + +sub appendfile { + my ($FH, $infile) = @_; + my ($buf); + + open INFILE, "<$infile"; + while(1) { + $rcount = sysread(INFILE, $buf, 2048); + last if ($rcount == 0); + print $FH $buf; + } + close(INFILE); +} + +sub syntax() { + print STDERR "syntax: get_dvb_firmware <component>\n"; + print STDERR "Supported components:\n"; + for($i=0; $i < scalar(@components); $i++) { + print STDERR "\t" . $components[$i] . "\n"; + } + exit(1); +} diff --git a/media-tv/linuxtv-dvb-firmware/linuxtv-dvb-firmware-2006.11.08.ebuild b/media-tv/linuxtv-dvb-firmware/linuxtv-dvb-firmware-2006.11.08.ebuild new file mode 100644 index 000000000000..fc1ab927a6a3 --- /dev/null +++ b/media-tv/linuxtv-dvb-firmware/linuxtv-dvb-firmware-2006.11.08.ebuild @@ -0,0 +1,253 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-tv/linuxtv-dvb-firmware/linuxtv-dvb-firmware-2006.11.08.ebuild,v 1.1 2006/11/08 19:33:50 zzam Exp $ + +DESCRIPTION="Firmware files needed for operation of some dvb-devices" +HOMEPAGE="http://www.linuxtv.org" + +LICENSE="as-is" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND="dvb_cards_sp887x? ( >=app-arch/unshield-0.4 )" + +RDEPEND="" + +RESTRICT="nomirror" + +S="${WORKDIR}" + + +# Files which can be fetched from linuxtv.org +PACKET_NAME=dvb-firmwares-1.tar.bz2 +PACKET_SRC_URI="http://www.linuxtv.org/downloads/firmware/${PACKET_NAME}" +get_dvb_firmware="${FILESDIR}/get_dvb_firmware-${PV}" + +FW_USE_FLAGS=( +# packet + "or51132" + "or51132" + "or51211" + "usb-a800" + "dibusb-usb1" + "dibusb-usb2" + "usb-dtt200u" + "usb-umt" + "usb-vp702x" + "usb-vp7045" + "usb-wt220u" + "ttpci" +# own URL + "bcm3510" + "usb-wt220u" + "usb-wt220u" +# get_dvb_firmware + "sp8870" + "sp887x" + "tda1004x" + "tda1004x" + "ttusb-dec" + "ttusb-dec" + "ttusb-dec" + "nxt2002" + "nxt200x" + "usb-bluebird" +) + +FW_FILES=( +# packet + "dvb-fe-or51132-qam.fw" + "dvb-fe-or51132-vsb.fw" + "dvb-fe-or51211.fw" + "dvb-usb-avertv-a800-02.fw" + "dvb-dibusb-5.0.0.11.fw" + "dvb-usb-dibusb-6.0.0.8.fw" + "dvb-usb-dtt200u-01.fw" + "dvb-usb-umt-010-02.fw" + "dvb-usb-vp702x-01.fw" + "dvb-usb-vp7045-01.fw" + "dvb-usb-wt220u-01.fw" + "dvb-ttpci-01.fw" +# own URL + "dvb-fe-bcm3510-01.fw" + "dvb-usb-wt220u-02.fw" + "dvb-usb-wt220u-fc03.fw" +# get_dvb_firmware + "dvb-fe-sp8870.fw" + "dvb-fe-sp887x.fw" + "dvb-fe-tda10045.fw" + "dvb-fe-tda10046.fw" + "dvb-ttusb-dec-2000t.fw" + "dvb-ttusb-dec-2540t.fw" + "dvb-ttusb-dec-3000s.fw" + "dvb-fe-nxt2002.fw" + "dvb-fe-nxt2004.fw" + "dvb-usb-bluebird-01.fw" +) + + + +FW_GET_PARAMETER=( +# packet + "-" + "-" + "-" + "-" + "-" + "-" + "-" + "-" + "-" + "-" + "-" + "-" +# own URL + "-" + "-" + "-" +# get_dvb_firmware + "sp8870" + "sp887x" + "tda10045" + "tda10046" + "dec2000t" + "dec2540t" + "dec3000s" + "nxt2002" + "nxt2004" + "-" +) + +FW_URLS=( +# packet + "${PACKET_SRC_URI}" + "${PACKET_SRC_URI}" + "${PACKET_SRC_URI}" + "${PACKET_SRC_URI}" + "${PACKET_SRC_URI}" + "${PACKET_SRC_URI}" + "${PACKET_SRC_URI}" + "${PACKET_SRC_URI}" + "${PACKET_SRC_URI}" + "${PACKET_SRC_URI}" + "${PACKET_SRC_URI}" + "${PACKET_SRC_URI}" +# own URL + "http://www.linuxtv.org/downloads/firmware/dvb-fe-bcm3510-01.fw" + "http://www.linuxtv.org/downloads/firmware/dvb-usb-wt220u-02.fw" + "http://home.arcor.de/efocht/dvb-usb-wt220u-fc03.fw" +# get_dvb_firmware + "http://www.technotrend.de/new/217g/tt_Premium_217g.zip" + "http://www.avermedia.com/software/Dvbt1.3.57.6.zip" + "http://www.technotrend.de/new/217g/tt_budget_217g.zip" + "http://www.technotrend.de/new/217g/tt_budget_217g.zip" + "http://hauppauge.lightpath.net/de/dec217g.exe" + "http://hauppauge.lightpath.net/de/dec217g.exe" + "http://hauppauge.lightpath.net/de/dec217g.exe" + "http://www.bbti.us/download/windows/Technisat_DVB-PC_4_4_COMPACT.zip" + "http://www.aver.com/support/Drivers/AVerTVHD_MCE_A180_Drv_v1.2.2.16.zip" + "http://www.linuxtv.org/download/dvb/firmware/dvb-usb-bluebird-01.fw" +) + + +SRC_URI="" +NEGATIVE_USE_FLAGS="" +ALL_URLS="" +NUMBER_OF_USE_FLAGS=0 + +for ((CARD=0; CARD < ${#FW_USE_FLAGS[*]}; CARD++)) do + URL="${FW_URLS[CARD]}" + + if [[ -z ${URL} ]]; then + echo "missing url for ${FW_USE_FLAGS[CARD]}" + continue + fi + SRC_URI="${SRC_URI} dvb_cards_${FW_USE_FLAGS[CARD]}? ( ${URL} )" + + IUSE="${IUSE} dvb_cards_${FW_USE_FLAGS[CARD]}" + NEGATIVE_USE_FLAGS="${NEGATIVE_USE_FLAGS} !dvb_cards_${FW_USE_FLAGS[CARD]}? ( " + NUMBER_OF_USE_FLAGS=$((NUMBER_OF_USE_FLAGS+1)) + ALL_URLS="${ALL_URLS} ${URL}" + + GET_PARAM="${FW_GET_PARAMETER[CARD]}" + if [[ ${GET_PARAM} != "-" ]]; then + # all with get_dvb_firmware need unzip + DEPEND="${DEPEND} dvb_cards_${FW_USE_FLAGS[CARD]}? ( app-arch/unzip )" + fi +done + + +SRC_URI="${SRC_URI} ${NEGATIVE_USE_FLAGS} ${ALL_URLS}" + +# add closing brackets for negative use flags +for ((NR=0; NR < ${NUMBER_OF_USE_FLAGS}; NR++)) do + SRC_URI="${SRC_URI} )" +done + + +install_dvb_card() { + [[ -z ${DVB_CARDS} ]] || use dvb_cards_${1} +} + +pkg_setup() { + #echo SRC_URI=${SRC_URI} + #echo DEPEND=${DEPEND} + if [[ -z ${DVB_CARDS} ]]; then + einfo "DVB_CARDS is not set, installing all available firmware files." + fi + einfo "List of possible card-names to use for DVB_CARDS:" + echo ${FW_USE_FLAGS[*]}| tr ' ' '\n' | sort | uniq | fmt \ + | while read line; do + einfo " ${line}" + done + einfo "If you need another firmware file and want it included create a bug" + einfo "at bugs.gentoo.org." +} + +src_unpack() { + # link all downloaded files to ${S} + for f in ${A}; do + [[ -L ${f} ]] || ln -s ${DISTDIR}/${f} ${f} + done + + # unpack firmware-packet + if hasq ${PACKET_NAME} ${A}; then + unpack ${PACKET_NAME} + # this file has renamed + mv dvb-usb-dibusb-5.0.0.11.fw dvb-dibusb-5.0.0.11.fw + fi + + + # Adjust temp-dir of get_dvb_firmware + sed ${FILESDIR}/get_dvb_firmware-${PV} \ + -e "s#/tmp#${T}#g" \ + > get_dvb_firmware + chmod a+x get_dvb_firmware + + # extract the firmware-files + for ((CARD=0; CARD < ${#FW_USE_FLAGS[*]}; CARD++)) do + install_dvb_card ${FW_USE_FLAGS[CARD]} || continue + + GET_PARAM=${FW_GET_PARAMETER[CARD]} + if [[ ${GET_PARAM} != "-" ]]; then + [[ -f ${FW_FILES[CARD]} ]] && ewarn "Already existing: ${FW_FILES[CARD]}" + einfo "Extracting ${FW_FILES[CARD]}" + ./get_dvb_firmware ${GET_PARAM} + fi + done +} + +src_install() { + cd ${S} + insinto /lib/firmware + + for ((CARD=0; CARD < ${#FW_USE_FLAGS[*]}; CARD++)) do + if install_dvb_card ${FW_USE_FLAGS[CARD]}; then + local FILE=${FW_FILES[CARD]} + [[ -f ${FILE} ]] || die "File ${FILE} does not exist!" + doins ${FILE} + fi + done +} + |