Decrypt recordings on the HD-FOX T2

From hummy.tv Wiki
Revision as of 13:15, 27 September 2011 by Drutt (talk | contribs)
Jump to: navigation, search

On the HD[R]-Fox T2 all recordings (including SD) are encrypted by default. The encryption means they will only play on the box they were recorded on. On the HDR, encryption can be removed by copying the recording to an external drive. This can be a USB drive, or by installing the modified firmware, a virtual drive or networked share also work.

On the HD-Fox T2 however this feature does not exist, and copied recordings remain encrypted.

Luckily the HD and HDR hardware is very similar (give or take a hard disk and tuner), and the HD can be persuaded to run the software for the HDR. This then allows recordings to be copied and decrypted.

Prerequisites: Modified firmware installed, with either Telnet or the web interface set up to install packages. An understanding that this is done at your own risk etc!

Package installation

UPDATE - There is now a package available (BootHDR) that installs the scripts for running the HDR software on the HD.

  • The package can be installed the via either telnet ("opkg install BootHDR") or the web interface. Note if using the web interface the text output is buffered until completion, and it takes time to download/extract the HDR firmware package, so please be patient.
  • The installer should extract the firmware if it finds it in /mod/hdr_fox_t2_upgrade.hdf, or will attempt to download from the Humax support site it using wget (the box obviously needs to be connected to the internet for this).
  • Once installed you should be able to boot the box into "HDR mode" by typing "bootHDRmode" at the telnet prompt.

WARNING If the box is recording anything, the recording will halt and may be corrupted. [TODO - make the script detect and warn].

  • The package also contains a startup script that checks for the existence of a "flag" directory on startup, to allow booting into HDR mode using only the remote control. A directory called "*ModSettings" is created on the root of the usb drive, containing a "flag directory". To boot in HDR mode using the remote simply copy the directory "Trigger-HDRModeNextBoot" to the root of the drive, then reboot. This is also safer than running the script as the box will not fully reboot if it is recording something.

After a few seconds, the box should reboot in HDR mode. You can confirm this is the case by looking at the system information in the settings menu, or by the fact the the "media" button takes you straight to the videos folder, and the "disk usage" pie chart is green rather than blue. Most functionality is there, other than the led lights on the front of the box, audio volume is lower, and recording does not work. [Future investigations - try and setup such that recording will work, which may also allow the built in DLNA server to function].

You can now copy recordings to other drives (real, virtual or networked) and they will be decrypted. Use the auto-unprotect package to remove the "encrypted" flag from HD content.

To return to normal just reboot.



Manual installation

  • Firstly download the firmware for the HDR-Fox T2. This can be either the package from Humax, or the modified version.
  • Using FTP, or a network share copy the downloaded file (hdr_fox_t2_upgrade.hdf) over to the box, and place it in the /mod/ directory.
  • Telnet to the box.
  • Install humidify and squshfs tools ("opkg install humidify" and "opkg install squashfs-tools")
  • Extract the HDR's root filesystem into the /mod folder on your hard drive with the following commands:
cd /mod
humidify -x -S1 hdr_fox_t2_upgrade.hdf
unsquashfs -d HDRfs 1.hdfbin-1-000000.raw
  • Now we just need a script to set up remap a couple of key folders to the HDR filesystem, set up some folders how the HDR expects, kill the running HD execuatable and launch the HDR version: Call the script bootHDRmode, and put it in /mod/bin. Its contents should be:

<syntaxhighlight lang='bash'>

  1. !/bin/sh
  1. Run this script to load the HDR ELF

exec >/tmp/loadhdr.log 2>&1 #output errors to this file mount -t ext3 /dev/sda1 /mnt/hd1/ mount -t ext3 /dev/sda1 /mnt/hd2/ mount -t ext3 /dev/sda1 /mnt/hd3/ mount -t ext3 /dev/sda1 /mnt/hd4/ ln -s /media/drive1/Video/ /media/drive1/My\ Video # link HD Video directory into "My Video" as HDR expects ln -s /media/drive1/Audio/ /media/drive1/My\ Music # link HD Audio directory into "My Music" as HDR expects

mount /mnt/hd2/mod/HDRfs/usr/ /usr/ # map HDR elf and key data over the root mount /mnt/hd2/mod/HDRfs/opt/ /opt/

rm -f /tmp/.humaxtv.running touch /tmp/.humaxtv.restart killall humaxtv #kill HD, will automatically restart but this time the HDR </syntaxhighlight>

  • Setup the permissions and execute flag on this script - in telnet type:
chmod 755 /mod/bin/bootHDRmode
  • If the script was created in a Windows editor, you may need to fix up the line endings for unix. This should do the trick:
dos2unix /mod/bin/bootHDRmode
  • Now whenever you need to switch to "HDR Mode" to decrypt some recordings, just telnet onto the box and type:
bootHDRmode


Further enhancement

If you frequently want to switch to "HDR mode" to decrypt recordings, it would be nice to be able to do this from the TV without having to telnet on. The method will allow this. Basically run a script that "polls" for the existence of a named folder, and when it finds it, runns the "bootHDRmode" script.

Two scripts are required - one to launch the polling script at startup, and the polling script itself.

Place this script in /mod/etc/init.d called something like S98polling:

<syntaxhighlight lang='bash'>

  1. !/bin/sh

case "$1" in

      start)
              /mod/sbin/polling &   # launch as new process
              ;;
      stop)
              killall polling 
              ;;
      *)
              exit 1
              ;;

esac

exit 0 </syntaxhighlight>

The polling script looks like this, and lives in /mod/sbin/polling

<syntaxhighlight lang='bash'>

  1. !/bin/sh

mkdir /media/drive1/settings mkdir /media/drive1/settings/bootHDR

while [ 1 ]; do

      if [ -d /media/drive1/bootHDR ]; then
              mv /media/drive1/bootHDR /media/drive1/settings
              /mod/bin/bootHDRmode
      fi
      sleep 11

done </syntaxhighlight>

Again, permissions and execute flag may need setting:

chmod 755 /mod/etc/init.d/S98polling
chmod 755 /mod/sbin/polling

This creates a folder called bootHDR on the root of the drive in a "settings" folder. To force the box to reboot in HDR mode, simply move this folder (using the "opt+" button on the remote) to the root of the drive. The script will detect this, move it back to settings for next time, and boot in HDR mode. Again check that no recordings are in progress when doing this!