summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--PKGBUILD28
-rw-r--r--extract.sh52
-rw-r--r--readme.txt10
3 files changed, 76 insertions, 14 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 8ffb3f5de1cd..c8dc5a52220e 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,4 +1,4 @@
-# Maintainer: M.Reynolds <blackboxnetworkproject@gmail.com>
+# Maintainer: M.Reynolds <blackboxnetworkproject@gmail.com>
pkgname=cx23885-firmware
pkgver=2016.04.16
@@ -9,23 +9,23 @@ url="http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/4
license=('custom')
depends=('linux-firmware')
source=('http://steventoth.net/linux/hvr1800/HVR-12x0-14x0-17x0_1_25_25271_WHQL.zip'
- 'http://steventoth.net/linux/hvr1800/extract.sh'
- 'http://steventoth.net/linux/hvr1800/readme.txt')
+ 'http://steventoth.net/linux/hvr1800/extract.sh'
+ 'http://steventoth.net/linux/hvr1800/readme.txt')
sha256sums=('ccbe3bc8b8545ecf00cf3fc47af1b33f312a6f2e873a3e29ce1e8b82adef49d9'
- '8c231e54c08920b144df44017db111835c557fca7c4082c412eb6fa9d413be5a'
- 'b6d27d2e6c6d1101556ede4539d672ba6b780462a171a2f9f445a09107228285')
+ '8c231e54c08920b144df44017db111835c557fca7c4082c412eb6fa9d413be5a'
+ 'b6d27d2e6c6d1101556ede4539d672ba6b780462a171a2f9f445a09107228285')
build() {
- cd "$srcdir"
- sh extract.sh
+ cd "$srcdir"
+ sh extract.sh
}
package() {
- cd "$srcdir"
-
- _systemdbasedir="$pkgdir/usr/lib/firmware"
- install -Dm644 v4l-cx23885-enc.fw "$_systemdbasedir/v4l-cx23885-enc.fw"
-
- # The below file is owned by the package linux-firmware and so should not be extracted
- # install -Dm644 v4l-cx23885-avcore-01.fw "$_systemdbasedir/v4l-cx23885-avcore-01.fw"
+ cd "$srcdir"
+
+ _systemdbasedir="$pkgdir/usr/lib/firmware"
+ install -Dm644 v4l-cx23885-enc.fw "$_systemdbasedir/v4l-cx23885-enc.fw"
+
+ # The below file is owned by the package linux-firmware and so should not be extracted
+ # install -Dm644 v4l-cx23885-avcore-01.fw "$_systemdbasedir/v4l-cx23885-avcore-01.fw"
}
diff --git a/extract.sh b/extract.sh
new file mode 100644
index 000000000000..15e01de29359
--- /dev/null
+++ b/extract.sh
@@ -0,0 +1,52 @@
+#!/bin/sh
+# HVR-12x0-14x0-17x0_1_25_25271_WHQL.zip
+# f26a8 (992936) = firmware offset
+
+SUM=`md5sum HVR-12x0-14x0-17x0_1_25_25271_WHQL.zip`
+if [ "$SUM" != "7fe395c1a398f079d98e416ee7be3777 HVR-12x0-14x0-17x0_1_25_25271_WHQL.zip" ]
+then
+ echo "Invalid zip archive, either corrupt or incorrect version"
+ exit
+fi
+
+echo "Extracting hcw85enc.rom from the windows zip file"
+unzip -jo HVR-12x0-14x0-17x0_1_25_25271_WHQL.zip Driver85/hcw85enc.rom
+if [ $? -ne 0 ]
+then
+ echo "Failed to extract file, aborting"
+ exit
+fi
+
+mv hcw85enc.rom v4l-cx23885-enc.fw
+
+echo "Extracting hcw85mlC.rom from the windows zip file"
+unzip -jo HVR-12x0-14x0-17x0_1_25_25271_WHQL.zip Driver85/hcw85mlC.rom
+if [ $? -ne 0 ]
+then
+ echo "Failed to extract file, aborting"
+ exit
+fi
+
+mv hcw85mlC.rom v4l-cx23885-avcore-01.fw
+
+SUM=`md5sum v4l-cx23885-enc.fw`
+if [ "$SUM" != "1cb3c48a6684126f5e503a434f2d636b v4l-cx23885-enc.fw" ]
+then
+ echo "Error extracting firmware, failed md5 check"
+ exit
+else
+ echo "Firmware extracted successfully"
+fi
+
+SUM=`md5sum v4l-cx23885-avcore-01.fw`
+if [ "$SUM" != "b3704908fd058485f3ef136941b2e513 v4l-cx23885-avcore-01.fw" ]
+then
+ echo "Error extracting firmware, failed md5 check"
+ exit
+else
+ echo "Firmware extracted successfully"
+fi
+
+echo "Now manually copy firmware into your firmware dir"
+echo " E.g. sudo cp v4l-cx23885-enc.fw /lib/firmware/`uname -r`"
+echo " E.g. sudo cp v4l-cx23885-avcore-01.fw /lib/firmware/`uname -r`"
diff --git a/readme.txt b/readme.txt
new file mode 100644
index 000000000000..0c5242755ab3
--- /dev/null
+++ b/readme.txt
@@ -0,0 +1,10 @@
+Linux HVR1800 driver.
+
+This is an official Hauppauge WHQL signed windows driver.
+It contains firmware for the cx23885/7/8, which is required for the Linux driver.
+# HVR-12x0-14x0-17x0_1_25_25271_WHQL.zip
+
+This is a script for extracting the firmware.
+# extract.sh
+
+Post all questions to the v4l/dvb mailing lists at linuxtv.org