diff options
author | Matthias Schwarzott <zzam@gentoo.org> | 2006-11-13 14:39:08 +0000 |
---|---|---|
committer | Matthias Schwarzott <zzam@gentoo.org> | 2006-11-13 14:39:08 +0000 |
commit | 27f8379ad33e652ac1bd037a1cfcb09bb8f13b33 (patch) | |
tree | 9b4a85527970849c6b1aba8e705a417a6c6b9be3 /media-tv/linuxtv-dvb-firmware/files | |
parent | Add missing pkg-config dependency, thanks to Patrick Lauer in bug #154984. (diff) | |
download | gentoo-2-27f8379ad33e652ac1bd037a1cfcb09bb8f13b33.tar.gz gentoo-2-27f8379ad33e652ac1bd037a1cfcb09bb8f13b33.tar.bz2 gentoo-2-27f8379ad33e652ac1bd037a1cfcb09bb8f13b33.zip |
Added firmware for usb-dib0700 device.
(Portage version: 2.1.2_rc1-r6)
Diffstat (limited to 'media-tv/linuxtv-dvb-firmware/files')
-rw-r--r-- | media-tv/linuxtv-dvb-firmware/files/digest-linuxtv-dvb-firmware-2006.11.13 | 36 | ||||
-rw-r--r-- | media-tv/linuxtv-dvb-firmware/files/get_dvb_firmware-2006.11.13 | 450 |
2 files changed, 486 insertions, 0 deletions
diff --git a/media-tv/linuxtv-dvb-firmware/files/digest-linuxtv-dvb-firmware-2006.11.13 b/media-tv/linuxtv-dvb-firmware/files/digest-linuxtv-dvb-firmware-2006.11.13 new file mode 100644 index 000000000000..d893d0fbac08 --- /dev/null +++ b/media-tv/linuxtv-dvb-firmware/files/digest-linuxtv-dvb-firmware-2006.11.13 @@ -0,0 +1,36 @@ +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 551df6387db5bf5a8ca4d10cc30beaa5 dvb-usb-dib0700-01.fw 29955 +RMD160 2e0ecb4c33ebffd060bc9db1cf405e8b8cf1dbc2 dvb-usb-dib0700-01.fw 29955 +SHA256 df7c9ee69d0f4800894b281c743bd619e0a95233593f5bfa3ccba749e49df367 dvb-usb-dib0700-01.fw 29955 +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.13 b/media-tv/linuxtv-dvb-firmware/files/get_dvb_firmware-2006.11.13 new file mode 100644 index 000000000000..4820366b6ae8 --- /dev/null +++ b/media-tv/linuxtv-dvb-firmware/files/get_dvb_firmware-2006.11.13 @@ -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); +} |