1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Customised HDF file released

Discussion in 'HD/HDR-FOX T2 Customised Firmware' started by af123, Apr 14, 2011.

  1. af123

    af123 Administrator Staff Member

    I've just uploaded a customised HDF file for the HDR Fox T2 & HD Fox T2.

    If you use them, then you do so entirely at your own risk.

    The latest files can always be found on the Wiki at http://wiki.hummy.tv/wiki/Firmware_Downloads. These are links to the latest files. Please use these in preference to any links found in this thread.

    I've kept the modifications down to a minimum but this image supports adding software via a package management system (opkg), and additional software is installed on to the hard disk straight from a software repository on the Internet.

    Our twitter feed automatically publishes details of new and updated packages.
    [​IMG]

    To install on the HDR Fox T2 (see further down for the HD variant as the instructions differ slightly):
    • Download HDR_FOX_T2_upgrade.hdf and put it on the root of a FAT32 formatted USB drive.
    • Turn off the Humax and wait until the disk stops spinning (there's a click as it powers down).
    • Plug the USB drive into the front USB port on the Humax.
    • Turn on the TV and set it to the Humax input.
    • Start up the Humax using the big button on the front.
    • The screen should show a software update being applied.
    • It is safe to unplug the USB drive once the downloading phase is finished and programming begins. Programming takes 2-3 minutes.
    To install on the HD Fox T2:
    • Download HD_FOX_T2_upgrade.hdf and put it on the root of a FAT32 formatted USB drive.
    • Turn off the Humax and wait until the disk stops spinning (there's a click as it powers down).
    • Plug the USB drive into the back USB port on the Humax (you'll have to unplug any disk you have in there already).
    • Turn on the TV and set it to the Humax input.
    • Unplug the Humax and, holding down the power button, plug it back in again.
    • The screen should show a software update being applied.
    After installation, the only visible difference will be that the FTP server (HDR Model) will now allow you to see the whole filesystem and not just the contents of the /media directory. (It still starts up in /media but you can change out of it back to / if you want). The telnet versions of the files will also have a telnet server running on them

    If you have used a non-telnet version, then to install a telnet server to enable remote access:
    • Download utelnetd_0.1.9_mipsel.opk
    • Place this file into the root of a FAT32 formatted USB drive and rename it to utelnetd_0.1.9_mipsel.opk.auto
    • With the Humax turned on and running, plug the USB drive into a USB port on the Humax.
    • The telnet package will install automatically and be renamed to utelnetd_0.1.9_mipsel.opk.done - an installation log file will also be created on the USB drive named utelnetd_0.1.9_mipsel.opk.log
    • At this point, if everything has worked properly, you will be able to telnet to the Humax on the standard telnet port (23).
    The package management system can now be used directly to install additional software if required, or additional packages can be downloaded directly http://hummypkg.org.uk/and installed via USB.

    An update will be required first to populate the local repository:

    Code:
    humax# opkg update
    Downloading http://hummypkg.org.uk/hdrfoxt2/base/Packages.gz.
    Inflating http://hummypkg.org.uk/hdrfoxt2/base/Packages.gz.
    Updated list of available packages in /mod/var/opkg/base.
    
    Installing a package is easy now:

    Code:
    humax# gzip
    -/bin/sh: gzip: not found
    humax# opkg install gzip
    Installing gzip (1.2.4) to root...
    Downloading http://hummypkg.org.uk/hdrfoxt2/base/gzip_1.2.4_mipsel.opk.
    Configuring gzip.
    humax# gzip
    gzip: compressed data not written to a terminal. Use -f to force compression.
    For help, type: gzip -h
    humax#
    
    The first package you will probably want to install is busybox. That adds a number of missing commands including a basic pager (more/less) and basic vi clone. If you want more functionality then other packages are available such as vim-tiny. Use opkg list to see what is available. The general rule is that if you don't know what a package does, then you probably don't need it.

    I've also created a test/play web interface which you can install as af123-webif. I'm not a web developer so don't expect miracles, but if you install it and point a browser (preferably FireFox) at your humax you will see a starting point. You'll notice that all required dependencies are also pulled in during installation.

    Code:
    humax# opkg install af123-webif
    Installing af123-webif (0.1) to root...
    Downloading http://hummypkg.org.uk/hdrfoxt2/base/af123-webif_0.1_mipsel.opk.
    Installing mongoose (2.11) to root...
    Downloading http://hummypkg.org.uk/hdrfoxt2/base/mongoose_2.11_mipsel.opk.
    Installing jim-sqlite3 (0.71) to root...
    Downloading http://hummypkg.org.uk/hdrfoxt2/base/jim-sqlite3_0.71_mipsel.opk.
    Installing jim (0.71) to root...
    Downloading http://hummypkg.org.uk/hdrfoxt2/base/jim_0.71_mipsel.opk.
    Installing sqlite3 (3.7.6) to root...
    Downloading http://hummypkg.org.uk/hdrfoxt2/base/sqlite3_3.7.6_mipsel.opk.
    Configuring sqlite3.
    Configuring mongoose.
    Configuring jim.
    Configuring jim-sqlite3.
    Configuring af123-webif.
    Loading config file /mod/etc/mongoose.conf
    Mongoose web server v.2.11 started on port(s) 80 with web root [/mod/var/mongoose/html,/media=/media,/cgi-bin=/mod/var/mongoose/cgi-bin,/images=/opt/share/images/blue]
    
    Have fun. Remember, the Humax doesn't have a lot of memory (128Mb) and running too much could prevent it from doing its real job properly. Having said that, I've selected all of these utilities and packages for their small footprint - for example the vim-tiny editor is only 588K
     
  2. James

    James Member

    Good work :) As soon as the HDF Tool is ready ill start work on the HD-FOX version as I don't have a HDR !
     
  3. mwillett

    mwillett New Member

    af123,

    This is very impressive and I'm not easily impressed. ;-)

    You say the only visible difference is the ftp server change. Could you tell us what the other changes are ?
    I'm guessing you've installed the package installer ?
    Have you recompiled the packages yourself ?

    What other packages are you thinking of next ? Perhaps I can help ? But it'll take a couple of weeks for me to catch up.
     
  4. af123

    af123 Administrator Staff Member

    Yes, and I was half tempted to do what Raydon and the others did for the FOXSAT which was to leave the stock FTP server intact and provide installable packages of alternatives..

    I've installed the following new files:
    • /bin/sed (stream editor - used by a couple of the other scripts.)
    • /bin/opkg (packaging tool)
    • /etc/opkg/opkg.conf
    • /etc/init.d/S89mdev (new startup script which enables the mdev framework via hotplug - for automatic installation of packages on USB - Thanks to Raydon for this bit as I took the idea from his FOXSAT mods)
    • /etc/init.d/S88mod (new startup script which creates a directory structure on the hard disk and runs any startup scripts installed by packages)
    and modified the following files:
    • /usr/bin/tinyftp (replacement binary with restrictions removed)
    • /etc/profile (the standard one isn't used anywhere and is a stock Linux profile. I've updated it to create a shell environment which better supports the Humax and allows for files installed as parts of packages tobe picked up automatically.
    • /etc/mdev/run-and-gun (This the script run via the hotplug framework when a USB disk is inserted. I've added automatic package installation to it)
    and that's all.

    Yes, I compiled all of the packages myself. Some of them are slightly modified to fix bugs (mongoose!) or properly load the user environment (utelnetd). The replacement tinyftp is based on Humax's version of the source code that can be downloaded from their web site; it still contains some bugs but it's functional.

    Initially, an SSH server, a telnet server that requires authentication and a couple of different FTP servers. Maybe samba if people want it. I might try for a native compiler just for fun... I'll also release a version of my HDF tool that runs on it because I can.

    On the FOXSAT they've also included a couple of DLNA servers, but with the HDR files being encrypted those are less relevant here at the moment. It's probably not hard to remove the encryption that's applied to recordings, either by patching the HUMAX binary to prevent it in the first place or by writing a utility to remove it retrospectively. The second option is an aim but would have to be done legally (i.e. not by reading the HUMAX code) before I'd publish a package to do it.

    The packages are in a standard format - opkg is a packaging framework used by a lot of embedded systems so it seemed logical to use it. Anyone can produce packages and I'll load them on to the repository if they're suitable, or you can make your own repository fairly easily (although it would be nice to keep everything centralised).
     
  5. neilleeds

    neilleeds Member

    Can these changes be undone by flashing a Humax HDF? Is it difficult to 'brick' the box ie likely that it will be recoverable with a simple flash? I presume the code to load the HDF is at a lower level than the filesystem.

    Thanks and great work.
     
  6. fjk3489tb

    fjk3489tb Member

    I downloaded the HDR_FOX_T2_upgrade.hdf and put onto formatted win32 flash stick and followed instructions but it wont load.

    Screen just displays HUMAX and hangs up, waited 5 mins and tried pressing buttons on remote, no response, tried main power button on hdr, nothing, had to disconnect mains power.

    ssh is what I'm really after.
     
  7. af123

    af123 Administrator Staff Member

    The short answer is yes.
    The Humax has several different areas of flash used for different things and the updated HDF file only writes to the area used for the root filesystem. Re-flashing with a stock HUMAX file will undo the changes, although the additional files created on the hard disk will remain.
     
  8. af123

    af123 Administrator Staff Member

    Ok - let's see if anyone else has any luck.. You could try loading a standard Humax upgrade image from their web site using the same method. Humax have said in the past that some memory sticks don't work.
     
  9. fjk3489tb

    fjk3489tb Member

    af123,

    Tried a sony flash disk, worked perfect, now have telnet & vim !

    humax# cat /proc/version
    Linux version 2.6.18-7.1 (hdrfoxt2@humax-ThinkPad-T61) (gcc version 4.2.0 20070124 (prerelease) - BRCM 11ts-20090508) #1 SMP Fri Jan 21 15:44:39 KST 2011

    Thanks, ssh ?
     
  10. fjk3489tb

    fjk3489tb Member

    another request: top ?
     
  11. fjk3489tb

    fjk3489tb Member

    Any chance of detailing your development environment ?

    Perhaps we could create a virtual appliance with all the tools required for easy development.
     
  12. fjk3489tb

    fjk3489tb Member

    Anybody know where the source code for linux version of HDTtool can be found ?
     
  13. raydon

    raydon Well-Known Member

    Great stuff af123, you didn't do all this overnight !
    B.T.W. I had problems on the Foxsat HDR with attaching ext3 formatted USB drives because the mdev script was trying to mount everything as vfat. Have since put a test in the script to check the format first, then mount it accordingly.
     
  14. Wallace

    Wallace Ancient Member

    Thanks for you hard work. One question (for now!). When OTA updates are released, won't this "update" be overwritten? AFAIK you cannot turn off OTA updates.
     
  15. neilleeds

    neilleeds Member

    Next task is turning off OTA's then! It wouldn't be then end of the world if one was applied I assume but it might be a pain.
     
  16. framedtoo

    framedtoo Member

    well done af123
     
  17. af123

    af123 Administrator Staff Member

    I think you can turn them off through the hidden settings screen, but I don't know how to get into that (yet). Otherwise you could use the sqlite3 client to tweak the settings database directly - there are some options in there related to OTA.

    Yes, an OTA would undo this work although it wouldn't remove the files from the hard disk so when a new modified HDF was created you could install and be back to where you were.
     
  18. af123

    af123 Administrator Staff Member

    Code:
    humax# opkg update && opkg install procps
    Downloading http://hummypkg.org.uk/hdrfoxt2/base/Packages.gz.
    Inflating http://hummypkg.org.uk/hdrfoxt2/base/Packages.gz.
    Updated list of available packages in /mod/var/opkg/base.
    Installing procps (3.2.8) to root...
    Downloading http://hummypkg.org.uk/hdrfoxt2/test/procps_3.2.8_mipsel.opk.
    Configuring procps.
    
    top and more.
     
  19. bixieupnorth

    bixieupnorth Member

    i dont have a clue what any of this means but it looks impressive nonetheless!! so well done from me too!
     
  20. rogdog

    rogdog Member

    So want to try this out but going on hols tomorrow so I ain't going to be messing about with the Humax just yet !

    Well done af123