From 26e02de58f44002171f9bf3da4ad68441c068816 Mon Sep 17 00:00:00 2001 From: Andrew de Quincy Date: Thu, 26 Aug 2004 17:23:24 +0000 Subject: Initial checkin --- linux/Documentation/dvb/get_dvb_firmware | 329 +++++++++++++++++++++++++++++++ 1 file changed, 329 insertions(+) create mode 100644 linux/Documentation/dvb/get_dvb_firmware (limited to 'linux/Documentation/dvb/get_dvb_firmware') diff --git a/linux/Documentation/dvb/get_dvb_firmware b/linux/Documentation/dvb/get_dvb_firmware new file mode 100644 index 000000000..0df55436f --- /dev/null +++ b/linux/Documentation/dvb/get_dvb_firmware @@ -0,0 +1,329 @@ +#!/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 = ( "alps_tdlb7", "sp887x", "tda10045", "tda10046", "av7110", "dec2000t", "dec2540t", "dec3000s", "vp7041" ); + +# 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 "Firmware $outfile extracted successfully. Now copy it to /usr/lib/hotplug/firmware/.\n"; + exit(0); + } +} + +# If we get here, it wasn't found +print STDERR "Unknown component \"$cid\"\n"; +syntax(); + + + + +# --------------------------------------------------------------- +# Firmware-specific extraction subroutines + +sub alps_tdlb7 { + my $sourcefile = "tt_Premium_217g.zip"; + my $url = "http://www.technotrend.de/new/217g/$sourcefile"; + my $hash = "53970ec17a538945a6d8cb608a7b3899"; + my $outfile = "dvb-fe-tdlb7.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/sc_main.mc", $hash); + copy("$tmpdir/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 = "a25b579e37109af60f4a36c37893957c"; + 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, 24479, "$tmpdir/fwtmp"); + verify("$tmpdir/fwtmp", $hash); + copy("$tmpdir/fwtmp", $outfile); + + $outfile; +} + +sub av7110 { + my $sourcefile = "dvb-ttpci-01.fw-261c"; + my $url = "http://www.linuxtv.org/download/dvb/firmware/$sourcefile"; + my $hash = "7b263de6b0b92d2347319c65adc7d4fb"; + 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; +} + + + + +# --------------------------------------------------------------- +# 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 \"$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 -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 = ; + $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 \n"; + print STDERR "Supported components:\n"; + for($i=0; $i < scalar(@components); $i++) { + print STDERR "\t" . $components[$i] . "\n"; + } + exit(1); +} -- cgit v1.2.3 From c96f7f33f594e8de4f24c4992493be1697e87721 Mon Sep 17 00:00:00 2001 From: Andrew de Quincy Date: Thu, 26 Aug 2004 18:26:27 +0000 Subject: Make safe for paths with spaces --- linux/Documentation/dvb/get_dvb_firmware | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'linux/Documentation/dvb/get_dvb_firmware') diff --git a/linux/Documentation/dvb/get_dvb_firmware b/linux/Documentation/dvb/get_dvb_firmware index 0df55436f..49a40f845 100644 --- a/linux/Documentation/dvb/get_dvb_firmware +++ b/linux/Documentation/dvb/get_dvb_firmware @@ -282,7 +282,7 @@ sub verify { sub copy { my ($from, $to) = @_; - system("cp -f $from $to") and die ("cp failed"); + system("cp -f \"$from\" \"$to\"") and die ("cp failed"); } sub extract { -- cgit v1.2.3 From 7d6379ce8a3f77ec43a279591cbaa37eb052c8d6 Mon Sep 17 00:00:00 2001 From: Patrick Boettcher Date: Sun, 5 Sep 2004 11:37:04 +0000 Subject: removed vp7041 doc and added dibusb doc --- linux/Documentation/dvb/get_dvb_firmware | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'linux/Documentation/dvb/get_dvb_firmware') diff --git a/linux/Documentation/dvb/get_dvb_firmware b/linux/Documentation/dvb/get_dvb_firmware index 49a40f845..78ad29174 100644 --- a/linux/Documentation/dvb/get_dvb_firmware +++ b/linux/Documentation/dvb/get_dvb_firmware @@ -21,7 +21,7 @@ use File::Temp qw/ tempdir /; use IO::Handle; -@components = ( "alps_tdlb7", "sp887x", "tda10045", "tda10046", "av7110", "dec2000t", "dec2540t", "dec3000s", "vp7041" ); +@components = ( "alps_tdlb7", "sp887x", "tda10045", "tda10046", "av7110", "dec2000t", "dec2540t", "dec3000s", "vp7041", "dibusb" ); # Check args syntax() if (scalar(@ARGV) != 1); @@ -220,8 +220,16 @@ sub vp7041 { $outfile; } +sub dibusb { + my $url = "http://linuxtv.org/cgi-bin/cvsweb.cgi/dvb-kernel/firmware/dvb-dibusb-5.0.0.11.fw?rev=1.1&content-type=text/plain"; + my $outfile = "dvb-dibusb-5.0.0.11.fw"; + my $hash = "fa490295a527360ca16dcdf3224ca243"; + wgetfile($outfile, $url); + verify($outfile,$hash); + $outfile; +} # --------------------------------------------------------------- # Utilities @@ -248,7 +256,7 @@ sub wgetfile { my ($sourcefile, $url) = @_; if (! -f $sourcefile) { - system("wget \"$url\"") and die "wget failed - unable to download firmware"; + system("wget -O \"$sourcefile\" \"$url\"") and die "wget failed - unable to download firmware"; } } -- cgit v1.2.3 From 2afc53b6555473db9d4cf452d0394865b3875409 Mon Sep 17 00:00:00 2001 From: Andrew de Quincy Date: Thu, 9 Sep 2004 10:14:41 +0000 Subject: Minor fix to check commands exist --- linux/Documentation/dvb/get_dvb_firmware | 2 ++ 1 file changed, 2 insertions(+) (limited to 'linux/Documentation/dvb/get_dvb_firmware') diff --git a/linux/Documentation/dvb/get_dvb_firmware b/linux/Documentation/dvb/get_dvb_firmware index 78ad29174..82bc4e58c 100644 --- a/linux/Documentation/dvb/get_dvb_firmware +++ b/linux/Documentation/dvb/get_dvb_firmware @@ -225,6 +225,8 @@ sub dibusb { my $outfile = "dvb-dibusb-5.0.0.11.fw"; my $hash = "fa490295a527360ca16dcdf3224ca243"; + checkstandard(); + wgetfile($outfile, $url); verify($outfile,$hash); -- cgit v1.2.3 From 25da23146538519f0f644671c49868bfb560740a Mon Sep 17 00:00:00 2001 From: Andrew de Quincy Date: Thu, 28 Oct 2004 17:37:07 +0000 Subject: Imported FE_REFACTORING to HEAD --- linux/Documentation/dvb/get_dvb_firmware | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'linux/Documentation/dvb/get_dvb_firmware') diff --git a/linux/Documentation/dvb/get_dvb_firmware b/linux/Documentation/dvb/get_dvb_firmware index 82bc4e58c..e1082e33f 100644 --- a/linux/Documentation/dvb/get_dvb_firmware +++ b/linux/Documentation/dvb/get_dvb_firmware @@ -21,7 +21,7 @@ use File::Temp qw/ tempdir /; use IO::Handle; -@components = ( "alps_tdlb7", "sp887x", "tda10045", "tda10046", "av7110", "dec2000t", "dec2540t", "dec3000s", "vp7041", "dibusb" ); +@components = ( "sp8870", "sp887x", "tda10045", "tda10046", "av7110", "dec2000t", "dec2540t", "dec3000s", "vp7041", "dibusb" ); # Check args syntax() if (scalar(@ARGV) != 1); @@ -47,11 +47,11 @@ syntax(); # --------------------------------------------------------------- # Firmware-specific extraction subroutines -sub alps_tdlb7 { +sub sp8870 { my $sourcefile = "tt_Premium_217g.zip"; my $url = "http://www.technotrend.de/new/217g/$sourcefile"; my $hash = "53970ec17a538945a6d8cb608a7b3899"; - my $outfile = "dvb-fe-tdlb7.fw"; + my $outfile = "dvb-fe-sp8870.fw"; my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); checkstandard(); -- cgit v1.2.3 From d3f8f1e3c54e43c5eb830f30fe37a251196d4d90 Mon Sep 17 00:00:00 2001 From: Andrew de Quincy Date: Sat, 13 Nov 2004 19:03:22 +0000 Subject: Added additional firmware location --- linux/Documentation/dvb/get_dvb_firmware | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'linux/Documentation/dvb/get_dvb_firmware') diff --git a/linux/Documentation/dvb/get_dvb_firmware b/linux/Documentation/dvb/get_dvb_firmware index e1082e33f..071993c93 100644 --- a/linux/Documentation/dvb/get_dvb_firmware +++ b/linux/Documentation/dvb/get_dvb_firmware @@ -32,7 +32,7 @@ for($i=0; $i < scalar(@components); $i++) { if ($cid eq $components[$i]) { $outfile = eval($cid); die $@ if $@; - print STDERR "Firmware $outfile extracted successfully. Now copy it to /usr/lib/hotplug/firmware/.\n"; + print STDERR "Firmware $outfile extracted successfully. Now copy it to either /lib/firmware or /usr/lib/hotplug/firmware/ (depending on your hotplug version).\n"; exit(0); } } -- cgit v1.2.3 From 164429b647d9fa0e7ab13830d5f2efe041ef8a2b Mon Sep 17 00:00:00 2001 From: Johannes Stezenbach Date: Thu, 16 Dec 2004 15:59:26 +0000 Subject: add nxt2002 --- linux/Documentation/dvb/get_dvb_firmware | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'linux/Documentation/dvb/get_dvb_firmware') diff --git a/linux/Documentation/dvb/get_dvb_firmware b/linux/Documentation/dvb/get_dvb_firmware index 071993c93..1ddf1aa7b 100644 --- a/linux/Documentation/dvb/get_dvb_firmware +++ b/linux/Documentation/dvb/get_dvb_firmware @@ -21,7 +21,8 @@ use File::Temp qw/ tempdir /; use IO::Handle; -@components = ( "sp8870", "sp887x", "tda10045", "tda10046", "av7110", "dec2000t", "dec2540t", "dec3000s", "vp7041", "dibusb" ); +@components = ( "sp8870", "sp887x", "tda10045", "tda10046", "av7110", "dec2000t", + "dec2540t", "dec3000s", "vp7041", "dibusb", "nxt2002" ); # Check args syntax() if (scalar(@ARGV) != 1); @@ -233,6 +234,23 @@ sub dibusb { $outfile; } +sub nxt2002 { + my $sourcefile = "Broadband4PC_4_2_11.zip"; + my $url = "http://www.bbti.us/download/windows/$sourcefile"; + my $hash = "c6d2ea47a8f456d887ada0cfb718ff2a"; + my $outfile = "dvb-fe-nxt2002.fw"; + my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); + + checkstandard(); + + wgetfile($sourcefile, $url); + unzip($sourcefile, $tmpdir); + verify("$tmpdir/SkyNETU.sys", $hash); + extract("$tmpdir/SkyNETU.sys", 375832, 5908, $outfile); + + $outfile; +} + # --------------------------------------------------------------- # Utilities -- cgit v1.2.3 From 6777d03846a997f84aff74d780a272a164a5f654 Mon Sep 17 00:00:00 2001 From: Johannes Stezenbach Date: Sat, 5 Feb 2005 01:04:10 +0000 Subject: patch by Mattias Holmlund: support new version of unshield for sp887x firmware extraction (changed cmdline parameters) --- linux/Documentation/dvb/get_dvb_firmware | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'linux/Documentation/dvb/get_dvb_firmware') diff --git a/linux/Documentation/dvb/get_dvb_firmware b/linux/Documentation/dvb/get_dvb_firmware index 1ddf1aa7b..4d9adada0 100644 --- a/linux/Documentation/dvb/get_dvb_firmware +++ b/linux/Documentation/dvb/get_dvb_firmware @@ -79,8 +79,8 @@ sub sp887x { wgetfile($sourcefile, $url); unzip($sourcefile, $tmpdir); unshield("$tmpdir/$cabfile", $tmpdir); - verify("$tmpdir/sc_main.mc", $hash); - copy("$tmpdir/sc_main.mc", $outfile); + verify("$tmpdir/ZEnglish/sc_main.mc", $hash); + copy("$tmpdir/ZEnglish/sc_main.mc", $outfile); $outfile; } @@ -292,7 +292,7 @@ sub unzip { sub unshield { my ($sourcefile, $todir) = @_; - system("unshield -d \"$todir\" \"$sourcefile\" > /dev/null" ) and die ("unshield failed - unable to extract firmware"); + system("unshield x -d \"$todir\" \"$sourcefile\" > /dev/null" ) and die ("unshield failed - unable to extract firmware"); } sub verify { -- cgit v1.2.3 From 91b6041d1588b585acafa62239b3ff8fac2c6568 Mon Sep 17 00:00:00 2001 From: Patrick Boettcher Date: Thu, 17 Feb 2005 20:18:03 +0000 Subject: - corrected links to firmware files (reported by Stefan Frings, thanks) --- linux/Documentation/dvb/get_dvb_firmware | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'linux/Documentation/dvb/get_dvb_firmware') diff --git a/linux/Documentation/dvb/get_dvb_firmware b/linux/Documentation/dvb/get_dvb_firmware index 4d9adada0..0de7934e7 100644 --- a/linux/Documentation/dvb/get_dvb_firmware +++ b/linux/Documentation/dvb/get_dvb_firmware @@ -222,7 +222,7 @@ sub vp7041 { } sub dibusb { - my $url = "http://linuxtv.org/cgi-bin/cvsweb.cgi/dvb-kernel/firmware/dvb-dibusb-5.0.0.11.fw?rev=1.1&content-type=text/plain"; + my $url = "http://www.linuxtv.org/cgi-bin/viewcvs.cgi/*checkout*/dvb-kernel/firmware/dvb-dibusb-5.0.0.11.fw"; my $outfile = "dvb-dibusb-5.0.0.11.fw"; my $hash = "fa490295a527360ca16dcdf3224ca243"; -- cgit v1.2.3 From 4d292e354c6a309594495ffc983327775c037503 Mon Sep 17 00:00:00 2001 From: Johannes Stezenbach Date: Sat, 19 Feb 2005 22:59:50 +0000 Subject: add OREN or51211, or51132_qam and or51132_vsb firmware --- linux/Documentation/dvb/get_dvb_firmware | 54 +++++++++++++++++++++++++++----- 1 file changed, 47 insertions(+), 7 deletions(-) (limited to 'linux/Documentation/dvb/get_dvb_firmware') diff --git a/linux/Documentation/dvb/get_dvb_firmware b/linux/Documentation/dvb/get_dvb_firmware index 0de7934e7..f5b368b4b 100644 --- a/linux/Documentation/dvb/get_dvb_firmware +++ b/linux/Documentation/dvb/get_dvb_firmware @@ -1,19 +1,19 @@ #!/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. @@ -22,14 +22,15 @@ use File::Temp qw/ tempdir /; use IO::Handle; @components = ( "sp8870", "sp887x", "tda10045", "tda10046", "av7110", "dec2000t", - "dec2540t", "dec3000s", "vp7041", "dibusb", "nxt2002" ); + "dec2540t", "dec3000s", "vp7041", "dibusb", "nxt2002", + "or51211", "or51132_qam", "or51132_vsb"); # Check args syntax() if (scalar(@ARGV) != 1); $cid = $ARGV[0]; # Do it! -for($i=0; $i < scalar(@components); $i++) { +for ($i=0; $i < scalar(@components); $i++) { if ($cid eq $components[$i]) { $outfile = eval($cid); die $@ if $@; @@ -251,6 +252,45 @@ sub nxt2002 { $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; +} + # --------------------------------------------------------------- # Utilities -- cgit v1.2.3 From 42f03b0af28f2f39f3a430a3f1038623f87c0285 Mon Sep 17 00:00:00 2001 From: Johannes Stezenbach Date: Wed, 23 Feb 2005 00:15:31 +0000 Subject: correct download link for av7110 firmware and get new version 261d --- linux/Documentation/dvb/get_dvb_firmware | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'linux/Documentation/dvb/get_dvb_firmware') diff --git a/linux/Documentation/dvb/get_dvb_firmware b/linux/Documentation/dvb/get_dvb_firmware index f5b368b4b..139affac9 100644 --- a/linux/Documentation/dvb/get_dvb_firmware +++ b/linux/Documentation/dvb/get_dvb_firmware @@ -123,9 +123,9 @@ sub tda10046 { } sub av7110 { - my $sourcefile = "dvb-ttpci-01.fw-261c"; - my $url = "http://www.linuxtv.org/download/dvb/firmware/$sourcefile"; - my $hash = "7b263de6b0b92d2347319c65adc7d4fb"; + 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(); -- cgit v1.2.3 From 5af7b9c8ec3954437d1293908f9cf33cf82bb6e4 Mon Sep 17 00:00:00 2001 From: Andreas Oberritter Date: Mon, 25 Apr 2005 21:43:54 +0000 Subject: dvb-fe-tda10046.fw was extracted one byte too large --- linux/Documentation/dvb/get_dvb_firmware | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'linux/Documentation/dvb/get_dvb_firmware') diff --git a/linux/Documentation/dvb/get_dvb_firmware b/linux/Documentation/dvb/get_dvb_firmware index 139affac9..27916ea1c 100644 --- a/linux/Documentation/dvb/get_dvb_firmware +++ b/linux/Documentation/dvb/get_dvb_firmware @@ -107,7 +107,7 @@ sub tda10045 { sub tda10046 { my $sourcefile = "tt_budget_217g.zip"; my $url = "http://www.technotrend.de/new/217g/$sourcefile"; - my $hash = "a25b579e37109af60f4a36c37893957c"; + my $hash = "6a7e1e2f2644b162ff0502367553c72d"; my $outfile = "dvb-fe-tda10046.fw"; my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); @@ -115,7 +115,7 @@ sub tda10046 { wgetfile($sourcefile, $url); unzip($sourcefile, $tmpdir); - extract("$tmpdir/software/OEM/PCI/App/ttlcdacc.dll", 0x3f731, 24479, "$tmpdir/fwtmp"); + extract("$tmpdir/software/OEM/PCI/App/ttlcdacc.dll", 0x3f731, 24478, "$tmpdir/fwtmp"); verify("$tmpdir/fwtmp", $hash); copy("$tmpdir/fwtmp", $outfile); -- cgit v1.2.3 From c33c04cb9b84732497bd7a67a7257cc27f2b8641 Mon Sep 17 00:00:00 2001 From: Johannes Stezenbach Date: Thu, 26 May 2005 19:41:29 +0000 Subject: fix dvb-usb-dibusb-5.0.0.11.fw download link remove trailing whitespace --- linux/Documentation/dvb/get_dvb_firmware | 48 ++++++++++++++++---------------- 1 file changed, 24 insertions(+), 24 deletions(-) (limited to 'linux/Documentation/dvb/get_dvb_firmware') diff --git a/linux/Documentation/dvb/get_dvb_firmware b/linux/Documentation/dvb/get_dvb_firmware index 27916ea1c..603c71a2c 100644 --- a/linux/Documentation/dvb/get_dvb_firmware +++ b/linux/Documentation/dvb/get_dvb_firmware @@ -57,12 +57,12 @@ sub sp8870 { 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; } @@ -73,16 +73,16 @@ sub sp887x { 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; } @@ -93,14 +93,14 @@ sub tda10045 { my $outfile = "dvb-fe-tda10045.fw"; my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); - checkstandard(); - + 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; } @@ -112,13 +112,13 @@ sub tda10046 { 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; } @@ -129,11 +129,11 @@ sub av7110 { my $outfile = "dvb-ttpci-01.fw"; checkstandard(); - + wgetfile($sourcefile, $url); verify($sourcefile, $hash); copy($sourcefile, $outfile); - + $outfile; } @@ -145,7 +145,7 @@ sub dec2000t { 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); @@ -162,7 +162,7 @@ sub dec2540t { 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); @@ -179,7 +179,7 @@ sub dec3000s { 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); @@ -194,9 +194,9 @@ sub vp7041 { 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"); @@ -223,8 +223,8 @@ sub vp7041 { } sub dibusb { - my $url = "http://www.linuxtv.org/cgi-bin/viewcvs.cgi/*checkout*/dvb-kernel/firmware/dvb-dibusb-5.0.0.11.fw"; - my $outfile = "dvb-dibusb-5.0.0.11.fw"; + my $url = "http://www.linuxtv.org/downloads/firmware/dvb-usb-dibusb-5.0.0.11.fw"; + my $outfile = "dvb-usb-dibusb-5.0.0.11.fw"; my $hash = "fa490295a527360ca16dcdf3224ca243"; checkstandard(); @@ -243,7 +243,7 @@ sub nxt2002 { my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); checkstandard(); - + wgetfile($sourcefile, $url); unzip($sourcefile, $tmpdir); verify("$tmpdir/SkyNETU.sys", $hash); @@ -349,14 +349,14 @@ sub verify { 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); @@ -364,7 +364,7 @@ sub extract { # 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); @@ -377,7 +377,7 @@ sub extract { sub appendfile { my ($FH, $infile) = @_; my ($buf); - + open INFILE, "<$infile"; while(1) { $rcount = sysread(INFILE, $buf, 2048); -- cgit v1.2.3 From 8986d215104a954362dbae6a7595da6bdbd467f3 Mon Sep 17 00:00:00 2001 From: Michael Krufky Date: Thu, 27 Oct 2005 04:11:59 +0000 Subject: From: Kirk Lapray * nxt200x.c, nxt200x.h - New frontend module that supports both NXT2002 and NXT2004. So far, only tested on NXT2004. After testing on NXT2002, we should deprecate the nxt2002 module, and implement this one instead on the applicable cards. * get_dvb_firmware: - Added support for the NXT2004 firmware. This firmware works with both the ATI HDTV Wonder and the AVerTVHD MCE a180. This was originally written by Jean-Francois Thibert * dvb-pll.c - Fixed minimum frequency for tuv1236d. It seems that the data sheets are wrong. Signed-off-by: Kirk Lapray Signed-off-by: Michael Krufky --- linux/Documentation/dvb/get_dvb_firmware | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'linux/Documentation/dvb/get_dvb_firmware') diff --git a/linux/Documentation/dvb/get_dvb_firmware b/linux/Documentation/dvb/get_dvb_firmware index 603c71a2c..310f8273b 100644 --- a/linux/Documentation/dvb/get_dvb_firmware +++ b/linux/Documentation/dvb/get_dvb_firmware @@ -22,7 +22,7 @@ use File::Temp qw/ tempdir /; use IO::Handle; @components = ( "sp8870", "sp887x", "tda10045", "tda10046", "av7110", "dec2000t", - "dec2540t", "dec3000s", "vp7041", "dibusb", "nxt2002", + "dec2540t", "dec3000s", "vp7041", "dibusb", "nxt2002", "nxt2004", "or51211", "or51132_qam", "or51132_vsb"); # Check args @@ -252,6 +252,23 @@ sub nxt2002 { $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"; -- cgit v1.2.3 From 38bfb0fc9ee7ce1725379991e222ab2d39a4fd5e Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Sat, 26 Nov 2005 23:46:56 +0000 Subject: Whitespaces cleanups. Signed-off-by: Mauro Carvalho Chehab --- linux/Documentation/dvb/get_dvb_firmware | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'linux/Documentation/dvb/get_dvb_firmware') diff --git a/linux/Documentation/dvb/get_dvb_firmware b/linux/Documentation/dvb/get_dvb_firmware index 310f8273b..a0f409dca 100644 --- a/linux/Documentation/dvb/get_dvb_firmware +++ b/linux/Documentation/dvb/get_dvb_firmware @@ -260,7 +260,7 @@ sub nxt2004 { my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); checkstandard(); - + wgetfile($sourcefile, $url); unzip($sourcefile, $tmpdir); verify("$tmpdir/3xHybrid.sys", $hash); -- cgit v1.2.3 From 90019d346efd7c172caf5de5e4452a14cdc8cc3c Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Thu, 8 Dec 2005 15:50:06 +0000 Subject: syncronizes some changes between v4l and dvb - Updated firmware names - kfree (NULL) is valid. - assert_spin_locked() is the new way - small fixes to make in sync with kernel Signed-off-by: Mauro Carvalho Chehab --- linux/Documentation/dvb/get_dvb_firmware | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'linux/Documentation/dvb/get_dvb_firmware') diff --git a/linux/Documentation/dvb/get_dvb_firmware b/linux/Documentation/dvb/get_dvb_firmware index a0f409dca..08e96ff55 100644 --- a/linux/Documentation/dvb/get_dvb_firmware +++ b/linux/Documentation/dvb/get_dvb_firmware @@ -223,8 +223,8 @@ sub vp7041 { } sub dibusb { - my $url = "http://www.linuxtv.org/downloads/firmware/dvb-usb-dibusb-5.0.0.11.fw"; - my $outfile = "dvb-usb-dibusb-5.0.0.11.fw"; + my $url = "http://www.linuxtv.org/downloads/firmware/dvb-dibusb-5.0.0.11.fw"; + my $outfile = "dvb-dibusb-5.0.0.11.fw"; my $hash = "fa490295a527360ca16dcdf3224ca243"; checkstandard(); -- cgit v1.2.3 From 58915ac9386f618879a8e23f6816c100ed40fad6 Mon Sep 17 00:00:00 2001 From: Michael Krufky Date: Tue, 27 Dec 2005 13:07:35 +0000 Subject: make the firmware dir documentation and comments consistent in the v4l-dvb tree. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ville Skyttä Signed-off-by: Michael Krufky --- linux/Documentation/dvb/get_dvb_firmware | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'linux/Documentation/dvb/get_dvb_firmware') diff --git a/linux/Documentation/dvb/get_dvb_firmware b/linux/Documentation/dvb/get_dvb_firmware index 08e96ff55..4e5e6a979 100644 --- a/linux/Documentation/dvb/get_dvb_firmware +++ b/linux/Documentation/dvb/get_dvb_firmware @@ -34,7 +34,11 @@ for ($i=0; $i < scalar(@components); $i++) { if ($cid eq $components[$i]) { $outfile = eval($cid); die $@ if $@; - print STDERR "Firmware $outfile extracted successfully. Now copy it to either /lib/firmware or /usr/lib/hotplug/firmware/ (depending on your hotplug version).\n"; + print STDERR < Date: Tue, 3 Jan 2006 06:09:53 +0000 Subject: Add DViCO Bluebird firmware to dvb_get_firmware script - Add DViCO Bluebird firmware to dvb_get_firmware script, for FusionHDTV USB devices. - Use usb alt setting 0 for EP4 transfer (dvb-t), - Use usb alt setting 7 for EP2 transfer (atsc) - Added comment to lgdt330x.c to indicate support for DViCO FusionHDTV5 USB Gold. Thanks to: Jeff Lee Signed-off-by: Michael Krufky --- linux/Documentation/dvb/get_dvb_firmware | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'linux/Documentation/dvb/get_dvb_firmware') diff --git a/linux/Documentation/dvb/get_dvb_firmware b/linux/Documentation/dvb/get_dvb_firmware index 4e5e6a979..e339a180a 100644 --- a/linux/Documentation/dvb/get_dvb_firmware +++ b/linux/Documentation/dvb/get_dvb_firmware @@ -23,7 +23,7 @@ use IO::Handle; @components = ( "sp8870", "sp887x", "tda10045", "tda10046", "av7110", "dec2000t", "dec2540t", "dec3000s", "vp7041", "dibusb", "nxt2002", "nxt2004", - "or51211", "or51132_qam", "or51132_vsb"); + "or51211", "or51132_qam", "or51132_vsb", "bluebird"); # Check args syntax() if (scalar(@ARGV) != 1); @@ -312,6 +312,19 @@ sub or51132_vsb { $fwfile; } +sub bluebird { + my $url = "http://www.linuxtv.org/~mkrufky/dvb-usb-bluebird-01.fw"; + my $outfile = "dvb-usb-bluebird-01.fw"; + my $hash = "658397cb9eba9101af9031302671f49d"; + + checkstandard(); + + wgetfile($outfile, $url); + verify($outfile,$hash); + + $outfile; +} + # --------------------------------------------------------------- # Utilities -- cgit v1.2.3 From 1faa3dcb3917ba99177697e1b8b4473e388744f8 Mon Sep 17 00:00:00 2001 From: Michael Krufky Date: Mon, 9 Jan 2006 16:28:24 +0000 Subject: Bluebird firmware hosting moved to common dvb firmware dir on linuxtv.org - get_dvb_firmware script updated accordingly: - my $url = "http://www.linuxtv.org/~mkrufky/dvb-usb-bluebird-01.fw"; + my $url = "http://www.linuxtv.org/download/dvb/firmware/dvb-usb-blue$ Signed-off-by: Michael Krufky --- linux/Documentation/dvb/get_dvb_firmware | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'linux/Documentation/dvb/get_dvb_firmware') diff --git a/linux/Documentation/dvb/get_dvb_firmware b/linux/Documentation/dvb/get_dvb_firmware index e339a180a..75c28a174 100644 --- a/linux/Documentation/dvb/get_dvb_firmware +++ b/linux/Documentation/dvb/get_dvb_firmware @@ -313,7 +313,7 @@ sub or51132_vsb { } sub bluebird { - my $url = "http://www.linuxtv.org/~mkrufky/dvb-usb-bluebird-01.fw"; + my $url = "http://www.linuxtv.org/download/dvb/firmware/dvb-usb-bluebird-01.fw"; my $outfile = "dvb-usb-bluebird-01.fw"; my $hash = "658397cb9eba9101af9031302671f49d"; -- cgit v1.2.3 From a1ab2e924af1ff44efe63c57697da630e09ac3c8 Mon Sep 17 00:00:00 2001 From: Hartmut Hackmann Date: Fri, 3 Feb 2006 01:10:12 +0200 Subject: Added support for the LifeView FlyDVB-T LR301 card From: Giampiero Giancipoli Additionally to the card support, this changeset adds the option tda10046lifeview to get_dvb_firmware to download tda10046 firmware from LifeView's site. Signed-off-by: Giampiero Giancipoli Signed-off-by: Hartmut Hackmann --- linux/Documentation/dvb/get_dvb_firmware | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) (limited to 'linux/Documentation/dvb/get_dvb_firmware') diff --git a/linux/Documentation/dvb/get_dvb_firmware b/linux/Documentation/dvb/get_dvb_firmware index 75c28a174..bb55f49f2 100644 --- a/linux/Documentation/dvb/get_dvb_firmware +++ b/linux/Documentation/dvb/get_dvb_firmware @@ -21,8 +21,9 @@ use File::Temp qw/ tempdir /; use IO::Handle; -@components = ( "sp8870", "sp887x", "tda10045", "tda10046", "av7110", "dec2000t", - "dec2540t", "dec3000s", "vp7041", "dibusb", "nxt2002", "nxt2004", +@components = ( "sp8870", "sp887x", "tda10045", "tda10046", + "tda10046lifeview", "av7110", "dec2000t", "dec2540t", + "dec3000s", "vp7041", "dibusb", "nxt2002", "nxt2004", "or51211", "or51132_qam", "or51132_vsb", "bluebird"); # Check args @@ -126,6 +127,24 @@ sub tda10046 { $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"; -- cgit v1.2.3 From e1c612678e9a079e98493af7f01dfe7b68767721 Mon Sep 17 00:00:00 2001 From: Michael Krufky Date: Wed, 22 Mar 2006 19:50:44 -0500 Subject: Documentation/dvb/get_dvb_firmware: fix firmware URL From: Adrian Bunk Date: Tue, 21 Mar 2006 23:43:59 +0000 (+0100) Subject: Documentation/dvb/get_dvb_firmware: fix firmware URL X-Git-Url: http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=d7f2baaadc0e2da3b4dff76494f9cf46d48ad301 Documentation/dvb/get_dvb_firmware: fix firmware URL This patch fixes a wrong URL in Documentation/dvb/get_dvb_firmware. This patch fixes kernel Bugzilla #4301. kernel-sync Signed-off-by: Adrian Bunk Signed-off-by: Michael Krufky --- linux/Documentation/dvb/get_dvb_firmware | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'linux/Documentation/dvb/get_dvb_firmware') diff --git a/linux/Documentation/dvb/get_dvb_firmware b/linux/Documentation/dvb/get_dvb_firmware index bb55f49f2..15fc8fbef 100644 --- a/linux/Documentation/dvb/get_dvb_firmware +++ b/linux/Documentation/dvb/get_dvb_firmware @@ -246,7 +246,7 @@ sub vp7041 { } sub dibusb { - my $url = "http://www.linuxtv.org/downloads/firmware/dvb-dibusb-5.0.0.11.fw"; + 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"; -- cgit v1.2.3 From 67b2932b4991e24b17b20ecff3e664db6358e685 Mon Sep 17 00:00:00 2001 From: Michael Krufky Date: Sun, 23 Apr 2006 00:55:38 -0400 Subject: get_dvb_firmware: download nxt2002 firmware from new driver location From: Michael Krufky BBTI has updated their driver, and removed the old one from their website. This patch updates the get_dvb_firmware script to download the firmware from the new driver location. Signed-off-by: Michael Krufky --- linux/Documentation/dvb/get_dvb_firmware | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'linux/Documentation/dvb/get_dvb_firmware') diff --git a/linux/Documentation/dvb/get_dvb_firmware b/linux/Documentation/dvb/get_dvb_firmware index 15fc8fbef..4820366b6 100644 --- a/linux/Documentation/dvb/get_dvb_firmware +++ b/linux/Documentation/dvb/get_dvb_firmware @@ -259,9 +259,9 @@ sub dibusb { } sub nxt2002 { - my $sourcefile = "Broadband4PC_4_2_11.zip"; + my $sourcefile = "Technisat_DVB-PC_4_4_COMPACT.zip"; my $url = "http://www.bbti.us/download/windows/$sourcefile"; - my $hash = "c6d2ea47a8f456d887ada0cfb718ff2a"; + my $hash = "476befae8c7c1bb9648954060b1eec1f"; my $outfile = "dvb-fe-nxt2002.fw"; my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); @@ -269,8 +269,8 @@ sub nxt2002 { wgetfile($sourcefile, $url); unzip($sourcefile, $tmpdir); - verify("$tmpdir/SkyNETU.sys", $hash); - extract("$tmpdir/SkyNETU.sys", 375832, 5908, $outfile); + verify("$tmpdir/SkyNET.sys", $hash); + extract("$tmpdir/SkyNET.sys", 331624, 5908, $outfile); $outfile; } -- cgit v1.2.3 From 23e841b39ea1e2efa0116b5d9312fd37d2b93577 Mon Sep 17 00:00:00 2001 From: Michael Krufky Date: Fri, 15 Jun 2007 18:14:52 -0400 Subject: get_dvb_firmware: update script for new location of sp8870 firmware From: Michael Krufky This url is no longer valid: http://www.technotrend.de/new/217g/tt_Premium_217g.zip Replace with: http://www.softwarepatch.pl/9999ccd06a4813cb827dbb0005071c71/tt_Premium_217g.zip Thanks-to: Tobias Stoeber Signed-off-by: Michael Krufky --- linux/Documentation/dvb/get_dvb_firmware | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100644 => 100755 linux/Documentation/dvb/get_dvb_firmware (limited to 'linux/Documentation/dvb/get_dvb_firmware') diff --git a/linux/Documentation/dvb/get_dvb_firmware b/linux/Documentation/dvb/get_dvb_firmware old mode 100644 new mode 100755 index 4820366b6..e32f79e05 --- a/linux/Documentation/dvb/get_dvb_firmware +++ b/linux/Documentation/dvb/get_dvb_firmware @@ -56,7 +56,7 @@ syntax(); sub sp8870 { my $sourcefile = "tt_Premium_217g.zip"; - my $url = "http://www.technotrend.de/new/217g/$sourcefile"; + my $url = "http://www.softwarepatch.pl/9999ccd06a4813cb827dbb0005071c71/$sourcefile"; my $hash = "53970ec17a538945a6d8cb608a7b3899"; my $outfile = "dvb-fe-sp8870.fw"; my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); -- cgit v1.2.3 From db11322b5fc23a96710a22a662cf1a41f77e3cf9 Mon Sep 17 00:00:00 2001 From: Marco Gittler Date: Thu, 5 Jul 2007 00:18:34 +0200 Subject: Firmware extract and loading for opera dvb-usb update From: Marco Gittler Better way of creating and loading the firmware used. Update for get_dvb_firmware script to extract the files for opera usb-box Help file for creating the firmware added Signed-off-by: Marco Gittler --- linux/Documentation/dvb/get_dvb_firmware | 61 +++++++++++++++++++++++++++++++- 1 file changed, 60 insertions(+), 1 deletion(-) (limited to 'linux/Documentation/dvb/get_dvb_firmware') diff --git a/linux/Documentation/dvb/get_dvb_firmware b/linux/Documentation/dvb/get_dvb_firmware index e32f79e05..b4d306ae9 100755 --- a/linux/Documentation/dvb/get_dvb_firmware +++ b/linux/Documentation/dvb/get_dvb_firmware @@ -24,7 +24,8 @@ use IO::Handle; @components = ( "sp8870", "sp887x", "tda10045", "tda10046", "tda10046lifeview", "av7110", "dec2000t", "dec2540t", "dec3000s", "vp7041", "dibusb", "nxt2002", "nxt2004", - "or51211", "or51132_qam", "or51132_vsb", "bluebird"); + "or51211", "or51132_qam", "or51132_vsb", "bluebird", + "opera1"); # Check args syntax() if (scalar(@ARGV) != 1); @@ -210,6 +211,45 @@ sub dec3000s { $outfile; } +sub opera1{ + my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 0); + + checkstandard(); + my $fwfile1="dvb-usb-opera1-fpga-01.fw"; + my $fwfile2="dvb-usb-opera-01.fw"; + extract("2830SCap2.sys", 0x62e8, 55024, "$tmpdir/opera1-fpga.fw"); + extract("2830SLoad2.sys",0x3178,0x3685-0x3178,"$tmpdir/fw1part1"); + extract("2830SLoad2.sys",0x0980,0x3150-0x0980,"$tmpdir/fw1part2"); + delzero("$tmpdir/fw1part1","$tmpdir/fw1part1-1"); + delzero("$tmpdir/fw1part2","$tmpdir/fw1part2-1"); + verify("$tmpdir/fw1part1-1","5e0909858fdf0b5b09ad48b9fe622e70"); + verify("$tmpdir/fw1part2-1","d6e146f321427e931df2c6fcadac37a1"); + verify("$tmpdir/opera1-fpga.fw","0f8133f5e9051f5f3c1928f7e5a1b07d"); + + my $RES1="\x01\x92\x7f\x00\x01\x00"; + my $RES0="\x01\x92\x7f\x00\x00\x00"; + my $DAT1="\x01\x00\xe6\x00\x01\x00"; + my $DAT0="\x01\x00\xe6\x00\x00\x00"; + open FW,">$tmpdir/opera.fw"; + print FW "$RES1"; + print FW "$DAT1"; + print FW "$RES1"; + print FW "$DAT1"; + appendfile(FW,"$tmpdir/fw1part1-1"); + print FW "$RES0"; + print FW "$DAT0"; + print FW "$RES1"; + print FW "$DAT1"; + appendfile(FW,"$tmpdir/fw1part2-1"); + print FW "$RES1"; + print FW "$DAT1"; + print FW "$RES0"; + print FW "$DAT0"; + copy ("$tmpdir/opera1-fpga.fw",$fwfile1); + copy ("$tmpdir/opera.fw",$fwfile2); + + $fwfile1.",".$fwfile2; +} sub vp7041 { my $sourcefile = "2.422.zip"; @@ -440,6 +480,25 @@ sub appendfile { close(INFILE); } +sub delzero{ + my ($infile,$outfile) =@_; + + open INFILE,"<$infile"; + open OUTFILE,">$outfile"; + while (1){ + $rcount=sysread(INFILE,$buf,22); + $len=ord(substr($buf,0,1)); + print OUTFILE substr($buf,0,1); + print OUTFILE substr($buf,2,$len+3); + last if ($rcount<1); + printf OUTFILE "%c",0; +#print $len." ".length($buf)."\n"; + + } + close(INFILE); + close(OUTFILE); +} + sub syntax() { print STDERR "syntax: get_dvb_firmware \n"; print STDERR "Supported components:\n"; -- cgit v1.2.3 From 2bc24235b9f12fa355db7616769861d075052f81 Mon Sep 17 00:00:00 2001 From: Michael Krufky Date: Wed, 15 Aug 2007 16:37:16 -0400 Subject: get_dvb_firmware: update script for new location of tda10046 firmware From: Andreas Arens Update get_dvb_firmware script for the new location of the tda10046 firmware. The old location doesn't work anymore. Signed-off-by: Andreas Arens Signed-off-by: Michael Krufky --- linux/Documentation/dvb/get_dvb_firmware | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'linux/Documentation/dvb/get_dvb_firmware') diff --git a/linux/Documentation/dvb/get_dvb_firmware b/linux/Documentation/dvb/get_dvb_firmware index b4d306ae9..f2e908d7f 100755 --- a/linux/Documentation/dvb/get_dvb_firmware +++ b/linux/Documentation/dvb/get_dvb_firmware @@ -111,21 +111,21 @@ sub tda10045 { } 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); + my $sourcefile = "TT_PCI_2.19h_28_11_2006.zip"; + my $url = "http://technotrend-online.com/download/software/219/$sourcefile"; + my $hash = "6a7e1e2f2644b162ff0502367553c72d"; + my $outfile = "dvb-fe-tda10046.fw"; + my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); - checkstandard(); + 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); + wgetfile($sourcefile, $url); + unzip($sourcefile, $tmpdir); + extract("$tmpdir/TT_PCI_2.19h_28_11_2006/software/OEM/PCI/App/ttlcdacc.dll", 0x65389, 24478, "$tmpdir/fwtmp"); + verify("$tmpdir/fwtmp", $hash); + copy("$tmpdir/fwtmp", $outfile); - $outfile; + $outfile; } sub tda10046lifeview { -- cgit v1.2.3