MediaMVP - create-dongle-bin-ver

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(dongle.bin.ver per Skript erzeugen)
(Aufruf von create-dongle-bin-ver.sh)
 
(7 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
== Erzeugen einer dongle.bin.ver für MediaMVPs mit Flashspeicher ==
 
== Erzeugen einer dongle.bin.ver für MediaMVPs mit Flashspeicher ==
  
MediaMVPs mit Flashspeicher laden eine dongle.bin nur, wenn die Versionsnummer der dongle.bin.ver höher ist, als die in der MediaMVP gespeicherte Versionsnummer.
+
MediaMVPs mit Flashspeicher laden eine dongle.bin nur, wenn die Versionsnummer der dongle.bin.ver höher ist, als die in der MediaMVP gespeicherte Versionsnummer. Die höhere Versionsnummer kann [[MediaMVP - dongle.bin.ver|von Hand]] auf einen beliebigen Wert gesetzt werden. Hier wird gezeigt, wie sie per Skript erzeugt werden kann.
  
In einer fertigen dongle.bin.ver kann die Versionsnummer [[MediaMVP - dongle.bin.ver|von Hand]] auf einen beliebigen Wert gesetzt werden.
+
Zunächst zu den Gründen für die maximale Versionsnummer:
 
+
Mit dem Skript create-dongle.bin.ver.sh kann aus einer beliebigen vorhandenen dongle.bin eine dongle.bin.ver mit maximaler Versionsnummer erzeugt werden. Das Verfahren per Skript ist dem händischen Verfahren vorzuziehen.
+
 
+
== Gründe für eine maximale Versionsnummer in dongle.bin.ver ==
+
Die maximale Versionsnummer wurde aus zwei Gründen verwendet:
+
  
 
* Auch eine neue dongle.bin mit höherer Versionsnummer wird geladen ohne die dongle.bin.ver neu erstellen zu müssen.
 
* Auch eine neue dongle.bin mit höherer Versionsnummer wird geladen ohne die dongle.bin.ver neu erstellen zu müssen.
 
* Die maximale Versionsnummer vermeidet ggf. Problem mit Big/Little Endian, die für Laien schwer durchschaubar sind.
 
* Die maximale Versionsnummer vermeidet ggf. Problem mit Big/Little Endian, die für Laien schwer durchschaubar sind.
  
=== Aufruf von create-dongle-bin-ver.sh ===
+
== Aufruf von create-dongle-bin-ver.sh ==
 
Der Aufruf lautet:
 
Der Aufruf lautet:
  
 
  # create-dongle-bin-ver.sh dongle.bin dongle.bin.ver
 
  # create-dongle-bin-ver.sh dongle.bin dongle.bin.ver
  
Die dongle.bin kann die originale, von Hauppauge erstellte dongle.bin sein. Die dongle.bin.ver wird - mit maximaler Versionsnummer - neu erzeugt bzw. überschrieben.
+
Die dongle.bin kann die originale, von Hauppauge erstellte dongle.bin sein. Die dongle.bin.ver wird - mit maximaler Versionsnummer - neu erzeugt.
  
 
== Hinweise ==
 
== Hinweise ==
Zeile 40: Zeile 35:
 
  DONGLE_BIN=$1
 
  DONGLE_BIN=$1
 
  DONGLE_VER=$2
 
  DONGLE_VER=$2
 
+
 
  if [ $DONGLE_BIN == $DONGLE_VER ]; then
 
  if [ $DONGLE_BIN == $DONGLE_VER ]; then
 
     echo "Error: Inputfile and outputfile must be different."
 
     echo "Error: Inputfile and outputfile must be different."
 
     exit 1
 
     exit 1
 
  fi
 
  fi
 
+
 
  #
 
  #
 
  # Create dongle.bin.ver with maximum version number
 
  # Create dongle.bin.ver with maximum version number
 
  #
 
  #
  dd if=$DONGLE_BIN bs=1 skip=52 count=20  > $DONGLE_VER 2> /dev/nul
+
  dd if=$DONGLE_BIN bs=1 skip=52 count=20  > $DONGLE_VER 2> /dev/null
  printf "\x80\x80\xff\x03"              >> $DONGLE_VER 2> /dev/nul
+
  printf "\x80\x80\xff\x03"              >> $DONGLE_VER 2> /dev/null
  dd if=$DONGLE_BIN bs=1 skip=76 count=16 >> $DONGLE_VER 2> /dev/nul
+
  dd if=$DONGLE_BIN bs=1 skip=76 count=16 >> $DONGLE_VER 2> /dev/null
 
+
 
  #
 
  #
 
  # Show what we have done
 
  # Show what we have done
 
  #
 
  #
 
  echo "Contents of dongle.bin.ver with old version number"
 
  echo "Contents of dongle.bin.ver with old version number"
  dd if=$DONGLE_BIN bs=1 skip=52 count=40 2> /dev/nul | hd
+
  dd if=$DONGLE_BIN bs=1 skip=52 count=40 2> /dev/null | hd
+
 
 
  echo "Contents of dongle.bin.ver with new version number"
 
  echo "Contents of dongle.bin.ver with new version number"
 
  hd $DONGLE_VER
 
  hd $DONGLE_VER
 +
 +
[[Kategorie:MediaMvp]]

Aktuelle Version vom 12. April 2009, 10:56 Uhr

Inhaltsverzeichnis

[Bearbeiten] Erzeugen einer dongle.bin.ver für MediaMVPs mit Flashspeicher

MediaMVPs mit Flashspeicher laden eine dongle.bin nur, wenn die Versionsnummer der dongle.bin.ver höher ist, als die in der MediaMVP gespeicherte Versionsnummer. Die höhere Versionsnummer kann von Hand auf einen beliebigen Wert gesetzt werden. Hier wird gezeigt, wie sie per Skript erzeugt werden kann.

Zunächst zu den Gründen für die maximale Versionsnummer:

  • Auch eine neue dongle.bin mit höherer Versionsnummer wird geladen ohne die dongle.bin.ver neu erstellen zu müssen.
  • Die maximale Versionsnummer vermeidet ggf. Problem mit Big/Little Endian, die für Laien schwer durchschaubar sind.

[Bearbeiten] Aufruf von create-dongle-bin-ver.sh

Der Aufruf lautet:

# create-dongle-bin-ver.sh dongle.bin dongle.bin.ver

Die dongle.bin kann die originale, von Hauppauge erstellte dongle.bin sein. Die dongle.bin.ver wird - mit maximaler Versionsnummer - neu erzeugt.

[Bearbeiten] Hinweise

  • Das Skript kann z.B. in /usr/local/bin gestellt werden.
  • Es wird mit # chmod a+x /usr/local/bin/create-dongle-bin-ver.sh ausführbar markiert.

[Bearbeiten] Das Skript create-dongle-bin-ver.sh

#!/bin/sh
#
# Create dongle.bin.ver from dongle.bin.
# Use maximum Version number.
#
# Hints:
# The version number in dongle.bin.ver is set to maximum using
# direct hex input. The alternative - counting up the version
# number by one - would not be portable amoung different
# machines.
#
DONGLE_BIN=$1
DONGLE_VER=$2

if [ $DONGLE_BIN == $DONGLE_VER ]; then
    echo "Error: Inputfile and outputfile must be different."
    exit 1
fi

#
# Create dongle.bin.ver with maximum version number
#
dd if=$DONGLE_BIN bs=1 skip=52 count=20  > $DONGLE_VER 2> /dev/null
printf "\x80\x80\xff\x03"               >> $DONGLE_VER 2> /dev/null
dd if=$DONGLE_BIN bs=1 skip=76 count=16 >> $DONGLE_VER 2> /dev/null

#
# Show what we have done
#
echo "Contents of dongle.bin.ver with old version number"
dd if=$DONGLE_BIN bs=1 skip=52 count=40 2> /dev/null | hd
 
echo "Contents of dongle.bin.ver with new version number"
hd $DONGLE_VER