Commit 9ca72fa1 authored by Matthias Schwarzott's avatar Matthias Schwarzott Committed by Mauro Carvalho Chehab

[media] get_dvb_firmware: Add firmware extractor for si2165

We don't have license to redistribute this firmware, so extract
it from the driver, and add the needed headers.
Signed-off-by: default avatarMatthias Schwarzott <zzam@gentoo.org>
Tested-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
parent 52841e5e
...@@ -29,7 +29,7 @@ use IO::Handle; ...@@ -29,7 +29,7 @@ use IO::Handle;
"af9015", "ngene", "az6027", "lme2510_lg", "lme2510c_s7395", "af9015", "ngene", "az6027", "lme2510_lg", "lme2510c_s7395",
"lme2510c_s7395_old", "drxk", "drxk_terratec_h5", "lme2510c_s7395_old", "drxk", "drxk_terratec_h5",
"drxk_hauppauge_hvr930c", "tda10071", "it9135", "drxk_pctv", "drxk_hauppauge_hvr930c", "tda10071", "it9135", "drxk_pctv",
"drxk_terratec_htc_stick", "sms1xxx_hcw"); "drxk_terratec_htc_stick", "sms1xxx_hcw", "si2165");
# Check args # Check args
syntax() if (scalar(@ARGV) != 1); syntax() if (scalar(@ARGV) != 1);
...@@ -783,6 +783,37 @@ sub sms1xxx_hcw { ...@@ -783,6 +783,37 @@ sub sms1xxx_hcw {
$allfiles; $allfiles;
} }
sub si2165 {
my $sourcefile = "model_111xxx_122xxx_driver_6_0_119_31191_WHQL.zip";
my $url = "http://www.hauppauge.de/files/drivers/";
my $hash = "76633e7c76b0edee47c3ba18ded99336";
my $fwfile = "dvb-demod-si2165.fw";
my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1);
checkstandard();
wgetfile($sourcefile, $url . $sourcefile);
verify($sourcefile, $hash);
unzip($sourcefile, $tmpdir);
extract("$tmpdir/Driver10/Hcw10bda.sys", 0x80788, 0x81E08-0x80788, "$tmpdir/fw1");
delzero("$tmpdir/fw1","$tmpdir/fw1-1");
#verify("$tmpdir/fw1","5e0909858fdf0b5b09ad48b9fe622e70");
my $CRC="\x0A\xCC";
my $BLOCKS_MAIN="\x27";
open FW,">$fwfile";
print FW "\x01\x00"; # just a version id for the driver itself
print FW "\x9A"; # fw version
print FW "\x00"; # padding
print FW "$BLOCKS_MAIN"; # number of blocks of main part
print FW "\x00"; # padding
print FW "$CRC"; # 16bit crc value of main part
appendfile(FW,"$tmpdir/fw1");
"$fwfile";
}
# --------------------------------------------------------------- # ---------------------------------------------------------------
# Utilities # Utilities
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment