projects
/
kinect-audio-setup.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
kinect_upload_fw: fix generating endian.h before compiling kinect_upload_fw
[kinect-audio-setup.git]
/
kinect_fetch_fw
diff --git
a/kinect_fetch_fw
b/kinect_fetch_fw
index
cde470c
..
6db228f
100755
(executable)
--- a/
kinect_fetch_fw
+++ b/
kinect_fetch_fw
@@
-1,6
+1,6
@@
#!/bin/sh
#
#!/bin/sh
#
-#
Fetch and install the firmware to get the kinect Audio working on linux
+#
kinect_fetch_fw - Fetch and install the Microsoft Kinect UAC firmware
#
# Copyright (C) 2011 Antonio Ospite <ospite@studenti.unina.it>
#
#
# Copyright (C) 2011 Antonio Ospite <ospite@studenti.unina.it>
#
@@
-16,27
+16,36
@@
set -e
SDK_URL=${SDK_URL:-"http://download.microsoft.com/download/8/4/C/84C9EF40-EE49-42C2-AE26-C6E30921182F/KinectSDK32.msi"}
set -e
SDK_URL=${SDK_URL:-"http://download.microsoft.com/download/8/4/C/84C9EF40-EE49-42C2-AE26-C6E30921182F/KinectSDK32.msi"}
+SDK_MD5="a043c40f35bf14a5139dfbf6cb14f687"
-[ $# -lt 1 ] && { echo "usage: $(basename "$0") <firmware destdir> [<path of kinect_upload_fw binary>]"; exit 1; }
-FW_DESTDIR=$
1
+[ $# -lt 1 ] && { echo "usage: $(basename "$0") <firmware destdir> [<path of kinect_upload_fw binary>]"
1>&2
; exit 1; }
+FW_DESTDIR=$
(readlink -f $1)
LOADER_PATH=${2:-"/usr/local/sbin/kinect_upload_fw"}
LOADER_PATH=${2:-"/usr/local/sbin/kinect_upload_fw"}
-command -v wget >/dev/null 2>&1 || { echo "$(basename "$0"): command 'wget' is needed." ; exit 1; }
-command -v 7z >/dev/null 2>&1 || { echo "$(basename "$0"): command '7z' is needed." ; exit 1; }
+command -v wget >/dev/null 2>&1 || { echo "$(basename "$0"): command 'wget' is needed."
1>&2
; exit 1; }
+command -v 7z >/dev/null 2>&1 || { echo "$(basename "$0"): command '7z' is needed."
1>&2
; exit 1; }
-TEMPDIR=
"$(mktemp -d)"
+TEMPDIR=
$(mktemp -d)
trap 'rm -rf "$TEMPDIR" >/dev/null 2>&1' 0
trap "exit 2" 1 2 3 15
cd "$TEMPDIR"
ARCHIVE_NAME=$(basename "$SDK_URL")
rm -f "$ARCHIVE_NAME" && wget "$SDK_URL" -O "$ARCHIVE_NAME"
trap 'rm -rf "$TEMPDIR" >/dev/null 2>&1' 0
trap "exit 2" 1 2 3 15
cd "$TEMPDIR"
ARCHIVE_NAME=$(basename "$SDK_URL")
rm -f "$ARCHIVE_NAME" && wget "$SDK_URL" -O "$ARCHIVE_NAME"
+
+ARCHIVE_MD5=$(md5sum "$ARCHIVE_NAME" | grep --only-matching -m 1 '^[0-9a-f]*')
+if [ "$ARCHIVE_MD5" != "$SDK_MD5" ];
+then
+ echo "$(basename "$0"): Invalid hash for file '$ARCHIVE_NAME'." 1>&2
+ exit 1
+fi
+
7z e -y -r "$ARCHIVE_NAME" "UACFirmware.*"
FW_FILE=$(ls UACFirmware.* | cut -d ' ' -f 1)
7z e -y -r "$ARCHIVE_NAME" "UACFirmware.*"
FW_FILE=$(ls UACFirmware.* | cut -d ' ' -f 1)
-install -d "$
DESTDIR/$FW_DESTDIR
"
-install -m 644 "$FW_FILE" "$
DESTDIR/$FW_DESTDIR
"
+install -d "$
{DESTDIR}${FW_DESTDIR}
"
+install -m 644 "$FW_FILE" "$
{DESTDIR}${FW_DESTDIR}
"
FIRMWARE_PATH=$FW_DESTDIR/$(basename "$FW_FILE")
FIRMWARE_PATH=$FW_DESTDIR/$(basename "$FW_FILE")