168
Software Installation and Upgrade Guide January 2014 Document no. AM-000501-TC v112

Install Upgrade 112

Embed Size (px)

DESCRIPTION

Amino install-upgrade guide Set top box

Citation preview

  • Software Installation and Upgrade Guide

    January 2014

    Document no. AM-000501-TC v112

  • 2 CONTENTS INDEX Amino Communications Ltd. 2014 CONFIDENTIAL

  • Copyright

    Software Installation and Upgrade Guide

    January 2014

    Version 112

    Amino Communications Ltd. 2014

    Amino, AmiNET, and the Amino logo are trademarks of Amino Communications Ltd. All other trademarks are the property of their respective owners.

    This document contains information on a product under development. Amino Communications Ltd reserves the right to change or discontinue this product without notice.

    There may be visual deviations between graphics in the guide and the released software.

    Comments about the documentation are welcome. Please submit feedback to [email protected].

    For further information about Amino or Amino products, please e-mail [email protected].

    The generally available software versions at the time of issue are as follows:

    Platform Software version Notes

    x3x series STBsA130/A130M

    Software version 0.18.5 is an upgrade that runs on all set-top boxes listed under x3x series STBs

    A130HA132M132 0.18.11A530A532M532x4x series STBsA129

    Software version 3.2.1 is an upgrade that runs on all set-top boxes listed under x4x series STBs

    A140M140 3.2.1H140A540PVRM540

    127(This guide is to be used in conjunction with the Amino STBs and software versions listed above. It does not refer to older STBs, unless required for clarification of a particular instruction. Similarly, Amino now only supports the Opera browser version 11. This guide does not generally refer to older versions of Opera, unless required for clarification of a particular instruction. Amino Communications Ltd. 2014 CONFIDENTIAL INDEX CONTENTS 3

  • Operating SystemThe operating system required is a 32 bit x86 (ia32) Debian Lenny, or Debian Squeeze, with bash as the default shell and Linux kernel 2.6.

    It is possible to get the tools working on 64 bit Linux operating systems as long as the 32 bit compatibility libraries are installed (ia32-libs), however this is not a configuration supported by Amino.

    Likewise, it is possible to use variations of x86 Linux other than Debian and to use a virtual machine such as VMWare or VirtualBox. Again, these configurations are not officially supported by Amino. Distributions other than Debian may have different pre-requisites: they may require a certain cluster package or the addition of optional packages. Amino is currently unable to advise further on this subject.

    127(This is not the embedded operating system in the set-top box. 4 CONTENTS INDEX Amino Communications Ltd. 2014 CONFIDENTIAL

  • 2.2.1 Setting the time zone over DHCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302.3 Configuring the multicast server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    2.3.1 Example Filesystem sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312.3.2 DHCP and multicast server matching values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    2.4 Software images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .332.4.1 Creating a signed upgrade image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332.4.2 mc2 packet sizes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

    2.5 Starting the multicast server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362.6 DHCP options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36

    2.6.1 Standard DHCP options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36Contents

    Operating System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    About this guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11Document conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12Important: Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13Document history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13

    Chapter 1 The software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.1 Ax4x and Ax3x platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

    1.1.1 Ax4x platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.1.2 Ax3x platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.1.3 Ax4x and Ax3x release directory contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.1.4 Software images. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191.1.5 Making new software images available . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    1.1.5.1 Upgrade image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201.1.5.2 Bootstrap image (Ax3x platform only). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    1.2 What is the upgrade system? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201.3 Installation and upgrade prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211.4 Downloading the software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211.5 Setting up a multicast system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    Chapter 2 Installing the Ax4x software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.1 Starting the installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24

    2.1.1 Configuring the DHCP server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.2 Configuring the STB time zone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Amino Communications Ltd. 2014 CONFIDENTIAL INDEX CONTENTS 5

    2.6.2 Amino vendor options in DHCP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372.7 Software installation from a USB device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

  • 2.7.1 Method of operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402.7.2 File systems supported . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412.7.3 Software image location on the USB storage device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

    Chapter 3 Installing the Ax3x software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.1 Starting the installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44

    3.1.1 Configuring the DHCP server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453.2 Configuring the STB time zone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

    3.2.1 Setting the time zone over DHCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513.2.2 Setting the time zone in the netconf file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

    3.3 Configuring the multicast server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523.3.1 DHCP and multicast server matching values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

    3.4 Software images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .553.4.1 Creating a signed bootstrap image. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553.4.2 Creating a signed upgrade image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563.4.3 Bootstrap/mc2 packet sizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

    3.5 Starting the multicast server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583.6 DHCP options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59

    3.6.1 Standard DHCP options supported . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593.6.2 Amino vendor options in DHCP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603.6.3 Class IDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

    3.6.3.1 Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633.6.3.2 IntActOS - multicast versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633.6.3.3 IntActOS - TFTP versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

    3.7 Using symbolic links when adding new images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63Chapter 4 Upgrading Ax4x STBs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

    4.1 Upgrade mechanisms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684.1.1 Using STBremoteconf to upgrade software. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694.1.2 Using the Management pages to upgrade software. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694.1.3 Using the DHCP server to upgrade software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704.1.4 Summary of upgrade methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

    4.1.4.1 Source Specific Multicast . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704.2 Upgrading the software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

    4.2.1 Creating a signed upgrade image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714.2.2 Starting the multicast server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724.2.3 Additional information for upgrading x4x STBs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

    4.2.3.1 Release Structure Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724.2.3.2 Upgrading the STB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

    4.3 The STB operational state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734.4 The Reflash/Reset button . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

    4.4.1 The reflash sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 744.4.2 The reset sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784.4.3 Static DHCP settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784.4.4 DHCP request and response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 794.4.5 Download image. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 794.4.6 Assemble, verify and execute image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 804.4.7 DI and external instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

    4.5 STB configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .814.6 Automatic upgrading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81

    4.6.1 Testing automatic upgrading. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 6 CONTENTS INDEX Amino Communications Ltd. 2014 CONFIDENTIAL

  • 4.6.2 Static network and multicast upgrade settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 824.6.2.1 Setting static multicast upgrade values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 824.6.2.2 To set a static IP address. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 824.6.2.3 Example upgrade.sh script to set static multicast upgrade values . . . . . . . . . . . . . . . . . . 83

    4.7 Automating multicast server start-up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 834.8 Using the DI for automatic upgrade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

    4.8.1 How it works. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 854.8.2 DI and software versioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 854.8.3 Migrating from pre-DI to DI-capable software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 854.8.4 Setting up automatic upgrade to minimum DI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

    4.8.4.1 Resetting the DI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 864.9 Customising upgrade splashscreens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

    Chapter 5 Upgrading Ax3x STBs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 895.1 Upgrade mechanisms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

    5.1.1 Using STBremoteconf to upgrade software. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 915.1.2 Using the Management pages to upgrade software. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 915.1.3 Using the DHCP server to upgrade software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

    5.2 Upgrading the software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925.2.1 Creating a signed bootstrap image. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925.2.2 Create a signed upgrade image. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925.2.3 Starting the multicast server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

    5.3 About STB operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .935.3.1 Static DHCP settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

    5.4 Operational states . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .955.4.1 Bootstrap (mboot) state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

    5.4.1.1 Operation in the bootstrap (mboot) state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 955.4.1.2 Send DHCP request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 965.4.1.3 DHCP response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 965.4.1.4 Download image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 965.4.1.5 Assemble, verify and execute image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

    5.4.2 Upgrade (upgrd) state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 975.4.2.1 Operation in the upgrade (upgrd) state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 975.4.2.2 Send DHCP request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 985.4.2.3 DHCP response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 985.4.2.4 Download image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 985.4.2.5 Assemble, verify and execute image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

    5.4.3 Filesystem (fisys) state. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 995.4.3.1 Operation in the filesystem (fisys) state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 995.4.3.2 Send DHCP request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1005.4.3.3 DHCP response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

    5.4.4 Initiate upgrade or normal use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1005.5 STB configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1015.6 Automatic upgrading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .101

    5.6.1 To test automatic upgrading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1025.6.2 Static network and multicast upgrade settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

    5.6.2.1 To set static multicast upgrade values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1035.6.2.2 To set a static IP address. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

    5.7 Automating multicast server start-up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1045.8 Using the DI for automatic upgrade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105 Amino Communications Ltd. 2014 CONFIDENTIAL INDEX CONTENTS 7

  • 5.8.1 How it works. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1055.8.2 DI and software versioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1055.8.3 Migrating from pre-DI to DI-capable software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1065.8.4 Setting up automatic upgrade to minimum DI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

    5.8.4.1 Resetting the DI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1065.8.5 To implement automatic upgrading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

    Chapter 6 STB Security Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1096.1 Security keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .110

    6.1.1 Hierarchy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1106.1.1.1 Amino Master key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1116.1.1.2 Customer key. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1116.1.1.3 STBRC key. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

    6.1.2 Consequences of key compromises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1126.1.2.1 Amino Master key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1126.1.2.2 Customer key. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1126.1.2.3 STBRC key. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

    6.2 Distributing software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1126.3 Deployment Index (DI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .113

    6.3.1 How it works. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1136.3.2 How to use it. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

    6.4 Passwords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1146.4.1 Changing STB passwords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1146.4.2 Shadow file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1146.4.3 Changing passwords in the shadow file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

    Chapter 7 Upgrading using HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1177.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1187.2 HTTP installation and upgrade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1187.3 HTTP recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1197.4 JMACX API function ASTB.Upgrade() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .119

    Chapter 8 Postbuild packs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1218.1 Adding a postbuild pack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .122

    8.1.1 Using the customise script. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1228.1.2 Manually applying a postbuild pack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

    Appendix ALED flashing codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .123A.1 Major error groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .124

    A.1.1 List of LED flashing codes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125A.2 Ethernet monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .128

    Appendix BExample x4x DHCP configuration file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .131B.1 Ax4x DHCP configuration file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .132

    Appendix CExample x3x DHCP configuration file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .135C.1 Ax3x DHCP configuration file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .136

    Appendix DThe mcastbootd.conf file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .155D.1 mcastbootd.conf file components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .156

    D.1.1 File header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156D.1.2 [Server] section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156D.1.3 Bootstrap and mc2 filesystem section commonalities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156D.1.4 Bootstrap Section. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157D.1.5 mc2 Filesystem Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 8 CONTENTS INDEX Amino Communications Ltd. 2014 CONFIDENTIAL

  • D.2 Example mcastbootd.conf file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .157D.3 Troubleshooting and tips to measure and test bandwidth/MTU/TTL . . . . . . . . . . . . .158

    D.3.1 Common network monitoring/bandwidth measuring tools. . . . . . . . . . . . . . . . . . . . . . . . . . . 158D.3.2 dhcpd interaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

    D.3.2.1 Common problems/mistakes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159Appendix ESoftware builds: general information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .161

    E.1 Software builds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .162E.1.1 Build options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

    E.2 What is a software release? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .163E.2.1 Major core releases (0.X.0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163E.2.2 Release candidates (0.X.0-rcZ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163E.2.3 Minor core releases (0.X.Y) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164E.2.4 Patch core releases (0.X.Ycp) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164

    E.3 Software release designation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .164Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 Amino Communications Ltd. 2014 CONFIDENTIAL INDEX CONTENTS 9

  • 10 CONTENTS INDEX Amino Communications Ltd. 2014 CONFIDENTIAL

  • $SSHQGL['7KHPFDVWERRWG

    ILOH

    Figure 4.1 Plan of Installation and Upgrade Guide

    Many of the control and customisation options described in this guide can also be implemented using JavaScript Media Access Control Extensions (JMACX). For details refer to the Amino JMACX API specification .

    127(This guide describes the functionality available for the STBs listed on the Copyright page. For information on functionality that is no longer supported, refer to earlier versions of this guide.Introduction

    About this guideThis guide applies to all current Amino set-top boxes (STBs), but the installation and upgrade procedures are different between the Ax4x STBs and the Ax3x STBs. Figure 1.1 shows the path you must take through the guide depending on which STB you are installing:

    /('IODVKLQJFRGHV

    $SSHQGL['7KHPFDVWERRWG

    ILOH

    $SSHQGL[[['+&3FRQILJXUDWLRQ

    $SSHQGL[%[['+&3FRQILJXUDWLRQ

    &KDSWHU,QVWDOOLQJWKH[[VRIWZDUH

    &KDSWHU8SJUDGLQJ[[VHWWRSER[HV

    &KDSWHU,QVWDOOLQJWKH[[VRIWZDUH

    &KDSWHU8SJUDGLQJ[[VHWWRSER[HV

    [[VHWWRSER[HV$$0+$3950

    ,QWURGXFWLRQ

    &KDSWHU7KHVRIWZDUH

    &KDSWHU6HFXULW\IHDWXUHV

    $SSHQGL[$/('IODVKLQJFRGHV

    [[VHWWRSER[HV$0+$0$$0 Amino Communications Ltd. 2014 CONFIDENTIAL INDEX CONTENTS 11

  • Document conventionsThe following document conventions are in use:

    Formatting Usage

    < ...> Indicates a value that you need to replace with a system specific value (except where used in HTML or XML examples, where it is used in tags, as normal).

    [ ...] Indicates optional parameters - for example in commands or functions.... | ... Indicates choices - for example where an input can take one of a number of

    values.code font Indicates input and output values (for example, at a command line), as well as

    function, configuration, parameter and file names.bold text Used for emphasis and to indicate specific key presses. For example: Press the

    Esc key.grey text Commands or settings which are not in general use (for example, configuration

    settings that are reserved for Amino internal use).blue text Cross-reference to other sections and other documents (this is a clickable

    hyperlink if you are viewing the document electronically).

    Important: AudienceThis guide is intended for computer-literate people, who have a working knowledge of computing and networking principles. It assumes a prior knowledge of Linux commands and knowledge of how to configure a DHCP server in the Linux environment. 12 CONTENTS INDEX Amino Communications Ltd. 2014 CONFIDENTIAL

  • Structure

    Document history

    Chapter Outline

    Introduction General introduction.The software A description of software builds, and the

    upgrade system.Installing the Ax4x software A step-by-step guide to installing the software

    for Ax4x platforms.Installing the Ax3x software A step-by-step guide to installing the software

    for Ax3x platforms.Upgrading Ax4x STBs Methods of upgrading and updating the

    software for the Ax4x platform.Upgrading Ax3x STBs Methods of upgrading and updating the

    software for the Ax3x platform.STB Security Features Describes the use of the Amino security keys.Upgrading using HTTP Describes how to upgrade using HTTP,

    primarily for unmanaged networks.Postbuild packs How to add an Amino Postbuild pack to the

    installation.Appendix A, LED flashing codes Describes the sequence of short and long

    flashes of the STB LED which communicates general information and error details.

    Appendix B, Example x4x DHCP configuration file

    An example configuration of the complete dhcp.conf file for the Ax4x platform.

    Appendix C, Example x3x DHCP configuration file

    An example configuration of the complete dhcp.conf file for the Ax3x platform.

    Appendix D, The mcastbootd.conf file Details of mcastbootd configuration.Appendix E, Software builds: general information

    Supplementary information about Amino software builds.

    Version Date issued Changes

    112 January 2014 Changes and updates for x4x series STB releases 2.8.0 to 3.2.1.Changes and updates for x3x series STB release 0.18.11

    111 December 2012 Changes and updates for x4x series STB releases 2.5.0 to 2.7.2Changes and updates for x3x series STB releases 0.18.6 - 0.18.10

    110 October 2011 Changes and updates for x4x series STB releases 2.2.0 - 2.2.6, 2.3.0 - 2.3.5, 2.4.2 - 2.4.3 and 2.5.0 Changes and updates for x3x series STB releases 0.18.3 - 0.18.6. Amino Communications Ltd. 2014 CONFIDENTIAL INDEX CONTENTS 13

  • 109 June 2011 Changes and updates for version 2.2.0 (for Ax4x STBs) and version 0.18.0 (for Ax3x STBs) releases onwards. See relevant Release Notes and Technical Memos for changes made. Guide restructured to improve understanding for readers.

    108 December 2010 Changes and updates for version 0.17.5 and 0.17.6 (for Ax3x STBs) and version 2.0.0 and 2.1.0 (for Ax4x STBs) releases.

    107 November 2010 DHCP config entries for Mood030 and Mood032 added106 August 2010 Changes and updates for version 0.17.2 release.105 March 2010 Minor corrections and updates. Troubleshooting section

    removed.104 August 2009 Appendix C on mcastbootd.conf added.

    References to the AmiNET 120 and 124 removed. Customers requiring information on these platforms should consult previous versions of the guide.Updates for Opera9 based platforms

    103 June 2009 Removed confidentiality requirement. Password protection warnings.

    102 May 2009 Minor corrections. 101 February 2009 Document created. This document replaces parts of the

    Amino Set-Top Box Operations Guide v0.14.x Revision 2

    Version Date issued Changes 14 CONTENTS INDEX Amino Communications Ltd. 2014 CONFIDENTIAL

  • 1.5 Setting up a multicast systemIn this Chapter:

    Chapter 1The software

    1.1 Ax4x and Ax3x platforms

    1.2 What is the upgrade system?

    1.3 Installation and upgrade prerequisites

    1.4 Downloading the software Amino Communications Ltd. 2014 CONFIDENTIAL INDEX CONTENTS 15

  • THE SOFTWAREAmiNET STB operation is controlled by software installed on the STB. The Amino multicast upgrade system provides management, control and customisation for STBs. This guide describes how to install the software on your system: it assumes you have an STB and can obtain a suitable software release. It also assumes a basic understanding of the technologies involved, which includes Linux command line operation.

    1.1 Ax4x and Ax3x platforms

    1.1.1 Ax4x platformAmino software builds of 1.x.x and higher are released as Ax4x combined images to run on A140 and A540 (Opera10, Minerva and Espial EVO). Builds 2.1.1 and higher include the A129 and H140 STBs.

    Release 1.0.0 introduced a new primary boot loader and configuration options as well as new DHCP configuration. There is no separate bootstrap multicast or TFTP image - the recovery image is stored on the STB.

    For information on configuring your DHCP server for the Ax4x platform, see Configuring the DHCP server on page 25

    1.1.2 Ax3x platformAmino software builds of 0.17.2 and higher are released as Ax3x combined images to run on A130/A130M/A130H/A132/A530/A532 (Opera9 and Minerva) or A130(M)/A130H (Opera-gogi and Fresco).

    By using a combined image it is possible to rationalise the number of image streams being multicast by the server, as you no longer need to have specific images for each product.

    Depending on how you have your server configured, you could maintain different DHCP classes for the different hardware types. These could then all return the same bootstrap/mc2 multicast addresses. However you may find it easier to delete all the current class definitions and create a single set of Ax3x classes that can handle all these boxes. For information on configuring your DHCP server for the Ax3x platform, see Configuring the DHCP server on page 45.

    1.1.3 Ax4x and Ax3x release directory contentsA compressed standard release file supplied by Amino unzips to the directory structure shown in the table below. The actual contents of the directories depends upon the release for example, CA-specific files and browser-specific files will be included with some releases, while other releases may not include keys or the full set of management utilities. The table below shows the location of the main files described in the guide.

    Bold text indicates a directory.

    Ax3x

    File / subdirectory Description

    bootstrap Directory containing the components needed to create a signed bootstrap image.

    bootstrap.unsigned The unsigned bootstrap image. signbootstrap The script to use to create a signed bootstrap image.

    server Directory containing files for setting up the multicast cd ../upgrade system on the server. 16 CONTENTS INDEX Amino Communications Ltd. 2014 CONFIDENTIAL

  • THE SOFTWAREdhcpd.conf Configuration file containing settings that you need to edit and add to the your DHCP servers configuration file.

    mcastbootd Amino multicast server binary file.mcastbootd.conf Multicast server configuration file.

    upgradeimage Directory that contains the components needed to create a signed upgrade image.

    createtftpboot Takes the contents of the imagecomponents directory and creates a TFTP bootstrap in the same manner as signupgradeimage.

    flashcontents File that lists the files to use to create the software upgrade image (that is, the imagecomponents files).

    signupgradeimage The script to use to create a signed software upgrade image.

    mc2.mcfs Multicast upgrade image. This is created after the signupgradeimage script is run.

    imagecomponents Directory containing the files to be used as the contents of a software upgrade image. A selection is shown below.

    config.txt Browser configuration file (For Fresco browsers only, not required for Opera browsers).

    fkeys.conf Configuration file defining actions associated with IR remote control and keyboard keys. You are not recommended to edit this file directly.

    loading.gif Graphic shown on screen when the STB is loading a new software upgrade image.

    mcnfg.tar Tar file containing HTML used to display the STB Configuration pages.

    netconf Configuration file containing network settingsopera.ini Browser configuration file for Opera.settings Configuration file containing general STB settings.splash.gif Graphic shown on screen when the STB is booting.

    utils Directory containing management utilities.commands File containing commands used by STBremoteconf.customise Script used to merge custom resources and postbuild packs

    with your release.imgcfg A utility used by signupgradeimage to create signed

    bootstraps or mc2 configuration files.rsakey RSA key generating utility.STBremoteconf Utility that enables remote configuration of STBs.verifysignature Validates additional customer keys.keys Directory containing the private keys used to sign and

    verify software images and STBremoteconf commands.

    Ax3x

    File / subdirectory Description Amino Communications Ltd. 2014 CONFIDENTIAL INDEX CONTENTS 17

  • THE SOFTWAREamino The Amino engineering keys directory.For Minerva builds, this folder is named minerva

    127(.

    KEY.private The private customer key.KEY.public The public customer key.Master.public The public master key.STBrc-KEY.private

    The private configuration key.

    STBrc-KEY-public

    The public configuration key.

    Ax4x Opera 11 builds

    File / subdirectory Description

    server Directory containing files for setting up the multicast cd ../upgrade system on the server.

    dhcpd.conf Configuration file containing settings that you need to edit and add to the configuration file of your DHCP server.

    mcastbootd Amino multicast server binary file.mcastbootd.conf Multicast server configuration file.

    upgradeimage Directory that contains the components needed to create a signed upgrade image.

    flashcontents File that lists the files to use to create the software upgrade image (that is, the imagecomponents files).

    signupgradeimage The script to use to create a signed software upgrade image.

    mc2.mcfs Multicast upgrade image. This is created after the signupgradeimage script is run.

    imagecomponents Directory containing the files to be used as the contents of a software upgrade image. A selection is shown below.

    loading.gif Graphic shown on screen when the STB is loading a new software upgrade image.

    mcnfg.tar Tar file containing HTML used to display the STB Configuration pages.

    opera.ini Browser configuration file (Opera)opera_dir.tgz Tarball that extracts into /opera_dir. This tarball enables

    further configuration of Opera such as extra skins.opera_home.tgz Tarball that extracts into /opera_home. (This tarball was

    named ./opera in previous versions). The opera.ini file is in this tarball.

    settings Configuration file containing general STB settings.

    Ax3x

    File / subdirectory Description 18 CONTENTS INDEX Amino Communications Ltd. 2014 CONFIDENTIAL

  • THE SOFTWARE1.1.4 Software imagesThe STB NAND flash memory holds the signed software image:

    Bootstrap image (Ax3x platform only)The bootstrap image contains the software needed to manage the download of a multicast upgrade image. It is a combined Linux kernel and RAM disk image with an RSA digital signature. A signed bootstrap image is generated as a file called bootstrap.signed.

    Recovery image (Ax4x platform only)The recovery image is the software needed to recover the STB if it fails. This is already loaded on the STB in a separate NAND partition.

    splash.gif Graphic shown on screen when the STB is booting.binrecovery.image The recovery imagepbl.image The primary bootloader image

    utils Directory containing management utilities.commands File containing commands used by STBremoteconf.customise Script used to merge custom resources and postbuild packs

    with your release.imgcfg A utility used by signupgradeimage to create signed

    bootstraps or mc2 configuration files.rsakey RSA key generating utility.STBremoteconf Utility that enables remote configuration of STBs.verifysignature Validates additional customer keys.keys Directory containing the private keys used to sign and

    verify software images and STBremoteconf commands.amino The Amino engineering keys directory.

    For Minerva builds, this folder is named minerva127(

    .

    KEY.private The private customer key.KEY.public The public customer key.Master.public The public master key.STBrc-KEY.private

    The private configuration key.

    STBrc-KEY-public

    The public configuration key.

    Ax4x Opera 11 builds

    File / subdirectory Description Amino Communications Ltd. 2014 CONFIDENTIAL INDEX CONTENTS 19

  • THE SOFTWARE Upgrade imageThe upgrade image is a file that contains a complete software upgrade in the form of a file system image with an RSA digital signature. A signed upgrade image is normally generated as a file called mc2.mcfs.

    1.1.5 Making new software images availableWhen the STB is first connected, it inspects its NAND flash and if this contains no valid software, it connects to the multicast server and downloads a software release: for the Ax3x platform it loads the bootstrap image first, which enables the download of the upgrade image, whereas for the Ax4x platform the recovery image is already loaded onto the STB.

    If you have not been supplied with signed software images, you will need to create and sign your own. To do this, you will need the /bootstrap and/or /upgradeimage directories of a software release, and the customer key and its pass phrase. Keys are normally provided as part of a software release, but you can also generate and use your own keys, as long as they are in the STB ROM.

    1.1.5.1 Upgrade image

    Upgrade images must be created whenever you need to upgrade STBs with a new software release. The upgrade image is created from the contents of the imagecomponents directory specified in the flashcontents file, using the signupgradeimage script and the customer key.

    The upgrade image can be downloaded automatically by an STB (controlled by the deployment index mechanism, see Deployment Index (DI) on page 113) or you can initiate multicasting (or unicasting) the image manually from the DHCP server and Amino multicast server, for example, by using the STBremoteconf tool. If you have not been supplied with signed bootstrap and upgrade images, you need to create them yourself from the files supplied in the Amino software release.

    1.1.5.2 Bootstrap image (Ax3x platform only)

    You should normally only need to sign and load a bootstrap image when the STB is supplied with a blank NAND flash (for example, units shipped direct from manufacture). The bootstrap image is created from the bootstrap.unsigned file, using the signbootstrap script and the customer key.

    1.2 What is the upgrade system?The software can be specified and provided either by multicast streaming a new upgrade image to the STB, or via HTTP where a new software image is placed on an available web server.

    The Amino multicast upgrade system offers various means of instructing STBs to replace their software images:

    STBremoteconf Management pages DHCP server configuration JMACX API Reset button Upgrading using HTTP

    Information about these upgrade methods can be found in Chapter 4, Upgrading Ax4x STBs and Chapter 5, Upgrading Ax3x STBs . 20 CONTENTS INDEX Amino Communications Ltd. 2014 CONFIDENTIAL

  • THE SOFTWARE1.3 Installation and upgrade prerequisitesBefore using this guide you should be familiar with the following Linux usage and administration skills:

    Performing a SSH login. Contrasting full and relative pathnames. Understanding the file system hierarchy. Handling files with cp and mv. Making and navigating directories. Listing attributes with ls. Identifying multiple users and groups. Interpreting file and directory modes. Adjusting access permissions: chmod. Raising privilege with su, sudo and setuid. Extracting lines with GNU grep. Saving command output into files. Creating and modifying files with vi or emacs. Exporting variables to the environment. Calling scripts as a command. Monitoring processes with ps. Mounting storage devices. Measuring free space. Creating tar archives.

    1.4 Downloading the softwareAmino provides software updates to our corporate customers with a valid support account and the appropriate software can be downloaded from the Amino support site at http://stbsupport.aminocom.com. Sign in to the site and select Online support > Downloads. On the left hand side of the screen select Aminet STBs > Software releases. From the available downloads select the type of STB and browser you require.

    127(Only the software to which you have access will be displayed.

    A free 90 day sample account is available to all customers who have bought directly from Amino. After this period there are different paid support options to choose from. If you have received your STB from a 3rd party, you should contact them for software updates.

    1.5 Setting up a multicast systemThe instructions in the following chapters assume you have access to a compressed Amino release through the Amino support site and a computer with Linux and a DHCP server installed. They also assume familiarity with basic Linux command line functionality. If you intend to use STBremoteconf for remote control and communication with STBs, then you will need Perl on the PC on which you are installing these components. To complete the installation, you will also need to find out the settings for the network to which the STB is connected. Amino Communications Ltd. 2014 CONFIDENTIAL INDEX CONTENTS 21

  • THE SOFTWARE 22 CONTENTS INDEX Amino Communications Ltd. 2014 CONFIDENTIAL

  • 2.5 Starting the multicast server

    2.6 DHCP options

    2.7 Software installation from a USB deviceIn this Chapter:

    Chapter 2Installing the Ax4x software

    2.1 Starting the installation

    2.2 Configuring the STB time zone

    2.3 Configuring the multicast server

    2.4 Software images Amino Communications Ltd. 2014 CONFIDENTIAL INDEX CONTENTS 23

  • INSTALLING THE AX4X SOFTWAREThe steps in this chapter describe how to set up a basic multicast system for Ax4x STBs. Although it is not necessary to follow the installation methods exactly, Amino recommend that a similar directory structure is used in your installation to simplify any subsequent support issues that may arise.

    2.1 Starting the installation

    1. Open a terminal window and log on to your system as root, or change to root from a user using:su

    2. Using mkdir, create directories to contain the software, for example:mkdir /usr/local/amino

    mkdir /usr/local/amino/images

    this is where the multicast server will get the images to broadcast.

    Also use mkdir to create the directory /usr/local/amino/releases , this is where the downloaded files will be stored.

    3. Copy the required .tgz file to the /usr/local/amino/releases directory.

    4. Navigate to the releases directory /usr/local/amino/releases and unpack the Amino software release using:tar zxvf

    where

    for example:tar zxvf Ax4x-2.1.0-Opera10.tgz

    unpacks 2.1.0-Ax4x-opera10.tgz to 2.1.0-Ax4x-opera10

    In all the following instructions, indicates the full name of the software release image directory that contains your Amino software release.For example, Ax4x-3.2.1-Opera11 installs in 3.2.1-Ax4x-opera11, hence is 3.2.1-Ax4x-opera11.

    Ensure that you have the correct read/write permissions for each of these directories using:

    chmod 777

    If you require builds for different AmiNET models, it may be useful to create directories for each type, for example, /usr/local/amino/releases/A140.

    z Filter the archive through gzip

    x Extract files from an archive

    v Verbosely list files processed

    f Use the specified archive file.

    127(

    127(

    127( 24 CONTENTS INDEX Amino Communications Ltd. 2014 CONFIDENTIAL

  • INSTALLING THE AX4X SOFTWAREUHOHDVHQDPH

    XSJUDGHLPDJH VHUYHU XWLOLWLHV

    This will then contain the following sub-directories:

    upgradeimage Contains the files needed for signing an upgrade image.

    server Contains the files needed for the mcastbootd server, including a sample DHCP configuration file dhcpd.conf.

    utils Contains the generic Amino keys, the remote configuration utility (STBRemoteconf) and binaries required for all the above processes.

    5. Copy the multicast server binary mcastbootd to a directory in the system path, using:cp /server/mcastbootd /usr/local/bin

    6. Copy the contents of the utils directory to the same location, using:cp /utils/* /usr/local/bin

    7. Copy the multicast server configuration file to the /etc directory, using:cp /server/mcastbootd.conf /etc

    8. If you are using a dedicated DHCP server (only for this multicast system), then copy the sample configuration file dhcpd.conf from the software release to the /etc directory, using:cp /server/dhcpd.conf /etc

    If you are using a DHCP server that has already been set up with an existing installation, you will be able to copy the configuration options settings from the sample file (dhcpd.conf) to your existing DHCP configuration file when you set up your DHCP server for use with Amino products.

    All the files needed to run the multicast system have now been copied to the locations where they are needed. You will still need to access some of the other files in the software release directory.

    2.1.1 Configuring the DHCP serverFor a first configuration of a multicast system (for example, for trial purposes), you are recommended to configure a DHCP server that will only be used for this multicast system, in order to keep configuration simple while you are familiarising yourself with the system functionality.

    In many deployments it is likely that there will be more than one type of STB installed, each needing different software images. To implement this, you will need to change both the DHCP server and multicast server configuration, and ensure that software images for different STB types are uniquely identifiable (either give them different names or store them in separate directories).

    Amino recommends that you regularly copy the contents of the /utils folder to /usr/local/bin, as STBremoteconf and build configurations are occasionally updated.

    You may see a warning message about cp omitting the /utils/keys directory. This can be ignored safely.

    For Minerva builds, the /utils/keys/amino directory is named /utils/keys/minerva.

    127( Amino Communications Ltd. 2014 CONFIDENTIAL INDEX CONTENTS 25

  • INSTALLING THE AX4X SOFTWARE

    A sample configuration file is supplied with the software release, and you can either edit that file or copy the settings from that file to your existing DHCP servers configuration file.

    1. Open the sample DHCP server configuration file dhcpd.conf in a text editor.

    2. The following settings from the sample configuration file need to be copied to the DHCP server configuration file that you wish to use. ##########################################################################

    # Misc dhcp options #

    ##########################################################################

    allow bootp;

    ddns-update-style ad-hoc;

    filename="AMINET.txt";

    The only items that may need changing are as follows: option AMINO.software_uri "igmp://:"

    which are the multicast address and the port you are streaming the upgrade image on.

    ##########################################################################

    # Extra Options for AMINO option space (used for multicast) #

    ##########################################################################

    option space AMINO;

    option AMINO.address code 1 = ip-address;

    to option AMINO.MBC_SAP code 51 = text;

    For further information, see Amino vendor options in DHCP

    3. The Ax4x platform does not have separate classes for the mboot, upgrd and fisys states. This is because there are no longer multiple stages during boot and upgrade on these platforms.

    ##########################################################################

    # AMINOx4x Configuration Section #

    ##########################################################################

    # #

    # class "AMINOx4x" - state when requesting an upgrade (main/recovery) image

    # #

    If you copied the file over when you copied the binaries (step 8. above), then this is located in /etc. Otherwise, it is in the /server/ directory and you should complete step 8. above before continuing.If you are adding settings to an existing DHCP server configuration file (for example for another STB, or an additional type of set top box), you will also need to open the existing configuration file for your DHCP server, and modify the settings in that file, as per the changes below. For an example of an edited DHCP configuration file, see Appendix B, Example x4x DHCP configuration file

    If you change any of these options you must also make sure you make the appropriate changes to /etc/mcastbootd.conf.

    127(

    127( 26 CONTENTS INDEX Amino Communications Ltd. 2014 CONFIDENTIAL

  • INSTALLING THE AX4X SOFTWARE

    # The only items that may need changing are as follows: #

    # #

    # option AMINO.software_uri "igmp://:" the multicast #

    # address you are streaming the upgrade image on #

    # option AMINO.port 11111; - the port you are streaming on. #

    # #

    # Note that on x4x, there is no longer separate classes for mboot, upgrd and

    # fisys. This is primarily because there are no longer multiple stages during

    # boot and upgrade on these platforms. #

    # #

    # If you change any of these options you must also make sure you make the #

    # appropriate changes to /etc/mcastbootd.conf #

    # #

    # #

    ##########################################################################

    ##########################################################################

    # class "AMINOx4x" #

    # AMINOx4x - response to x4x family STBs during Main and Recovery image boot

    ##########################################################################

    class "AMINOx4x"

    {

    match if (substring( option vendor-class-identifier, 0, 8)="AMINOx4x");

    # vendor-option-space AMINO;

    # option AMINO.software_uri "igmp://:";

    }

    4. Make a note of the multicast IP addresses and ports you have specified, as you will need to use the same values when you set up the multicast server.

    5. Edit the following declarations with the settings for your network. You may need to edit the following lines:

    #############################################################

    # Subnet Declaration #

    #############################################################

    subnet 192.168.1.0 netmask 255.255.255.0 (

    This is optional, but if required replace the existing value with:

    subnet netmask

    For example:subnet 10.172.0.0 netmask 255.255.0.0 (

    #############################################################

    # Default Gateway - This MUST be set!! #

    ############################################################# Amino Communications Ltd. 2014 CONFIDENTIAL INDEX CONTENTS 27

  • INSTALLING THE AX4X SOFTWARE

    option routers 192.168.1.1;

    Replace this with option routers ;

    For example:option routers 10.172.0.1;

    #############################################################

    # Subnet Mask - This MUST be set!! #

    #############################################################

    option subnet-mask 255.255.255.0;

    Replace this with options subnet-mask ;

    For example:option subnet-mask 255.255.0.0;

    #############################################################

    # Domain Name - Optional #

    #############################################################

    option domain-name blahblah.com;

    This should be replaced with your DNS name.

    For example:option domain-name aminocom.com.

    #############################################################

    # DNS Servers - Optional #

    #############################################################

    option domain-name-servers 192.168.1.1,192,168.1.2;

    This is optional, but if required replace this with:

    option domain-name-servers ,;

    6. Edit the NTP server declarations to suit the time zone you are in (that is, uncomment the option ntp-servers europe.pool.ntp.org; line if you require that option):#####################################################################

    # NTP Servers - Optional #

    #####################################################################

    # option ntp-servers europe.pool.ntp.org; # example free NTP service

    #####################################################################

    # Time Offset - Optional #

    # #

    # This can be in one of three string formats e.g. #

    # UNIX style Region/City - "Europe/London" #

    # Commonly used alias - "GB-Eire" #

    # Fully-specified Posix 1003.1 timezone string - # 28 CONTENTS INDEX Amino Communications Ltd. 2014 CONFIDENTIAL

  • INSTALLING THE AX4X SOFTWARE

    # "GMT0BST-1,M3.5.0/01:00,M10.5.0/02:00" #

    # #

    # TZ info can be found in the following links: #

    # http://www.twinsun.com/tz/tz-link.htm #

    # http://h71000.www7.hp.com/doc/73final/6497/6497pro_007.html #

    # http://en.wikipedia.org/wiki/List_of_tz_zones_by_name #

    # #

    #####################################################################

    option AMINO.timezone "Europe/London";

    #############################################################

    # Time Offset - Optional #

    #############################################################

    #option time-offset -5; # Eastern Standard Time

    #option time-offset +8; # Eastern Standard Time

    #option time-offset -5; # Pacific Standard Time

    option time-offset 0; # Greenwich Mean Time

    7. Edit the address pool declarations so that the STB classes are given an address:#############################################################

    # Address Pool - This MUST be set!! #

    # #

    # In this address pool we list the classes which we wish #

    # to give addresses to, unless a device is in this list #

    # it will not be given an address! #

    #############################################################

    pool {

    range dynamic_bootp 192.168.1.50 192.168.1.100

    range 192.168.1.101 192.168.1.200

    ...

    }

    For a range of STBs:

    Replace the pool section of the dhcpd.conf file with:

    pool{ range 192.168.1.50 192.168.1.100;

    }

    where range is the range of the IP addresses for multicast booting and upgrades, in this case from 192.168.1.50 - 100.

    For individual STBs:

    In the case where you have a smaller number of STBs and wish to manage them individually, as in a development network, the pool information should be replaced with STB specific information similar to the following:

    host aminet140_001 {

    hardware ethernet 00:03:0A:0C:92:91; Amino Communications Ltd. 2014 CONFIDENTIAL INDEX CONTENTS 29

  • INSTALLING THE AX4X SOFTWARE fixed-address 10.172.227.64;

    }

    host aminet140_002 {

    hardware ethernet 00:02:0A:13:AA:61;

    fixed-address 10.172.227.65;

    }

    8. Make any further settings you require for your system.

    9. When you have added classes for each STB type that you are supporting, save your changes, then copy the edited dhcpd.conf file to the /etc/dhcp3 folder.cp dhcpd.conf /etc/dhcp3/

    10. Reboot the DHCP server with the following command:/etc/init.d/dhcp3-server restart

    The minimum DHCP server configuration for a multicast system is now complete.

    2.2 Configuring the STB time zoneSTBs support time zone handling through an NTP client, and the time zone can be set by using the DHCP server.

    Time zone strings can be in the following formats:

    Unix-style definition in the format Region/City (for example, Europe/London) Commonly used alias (for example, GB-Eire) Fully specified Posix 1003.1 time zone string (for example, GMT0BST-1, M3.5.0/01, M10.5.0/02:00)

    2.2.1 Setting the time zone over DHCPIf the STB retrieves its settings dynamically from the DHCP server, you can include the time zone in the settings that it retrieves.

    1. Open the DHCP server configuration file (dhcpd.conf) in a text editor. This file should be found in the following location:/etc

    2. Add the following to the list of Amino vendor extensions (if it is not already there):option AMINO.timezone code 16=text;

    3. In the subnet declaration in the configuration file, add a line that specifies the time zone you want to set.

    Example:

    option AMINO.timezone Europe/Stockholm;

    The subnet declaration will now look similar to the following:

    subnet 10.172.0.0 netmask 255.255.0.0 {

    option routers 10.172.0.1;

    From Ax4x version 1.0.0 onwards you can add User Class options to the configuration file if required, and they will be passed to the STB in the DHCP response.

    127( 30 CONTENTS INDEX Amino Communications Ltd. 2014 CONFIDENTIAL

  • INSTALLING THE AX4X SOFTWAREoption subnet-mask 255.255.0.0;

    option domain-name "aminocom.com";

    option domain-name-servers 10.171.22.7,10.171.22.9;

    option AMINO.timezone Europe/Stockholm;

    pool {

    range 10.172.230.50 10.172.230.100;

    }

    }

    4. Add an NTP Server if one is not already configured on your network (see paragraph 6. in section 2.1.1 above).

    5. Save your changes and restart the DHCP server.

    Next time the STB sends a DHCP request (for example, when it is rebooted), the time zone will be included in the information that the DHCP server sends.

    2.3 Configuring the multicast serverThe following instructions describe the minimum steps that you need to complete to configure a working multicast server that provides software images for a single type of STB (for example, as part of a trial system).

    The instructions that follow assume that you have already installed, configured and started your DHCP server, and that you have copied the files from your software release to the example locations given in Starting the installation.

    1. Navigate to the /etc directory, and open the following file in a text editor:mcastbootd.conf

    2. The [Image bootstrap.signed]does not have to be configured for Ax4x series boxes, so you only need to add a [Filesystem mc2] section for each type of STB. Each section must be named uniquely. The software image for each type of STB must be unique (they can either be stored in separate directories or named uniquely by renaming the image files you have created).

    3. In the [Filesystem mc2] section, edit the following settings to specify the IP address and port for multicasting the image.

    MulticastIPAddress=MulticastUDPPort=

    For example:

    MulticastIPAddress=239.255.200.2MulticastUDPPort=11111

    2.3.1 Example Filesystem sections [Filesystem mc140]

    MulticastIPAddress=239.255.230.53

  • INSTALLING THE AX4X SOFTWAREDataRate=256

    [Filesystem mc540]

    MulticastIPAddress=239.255.230.91

  • INSTALLING THE AX4X SOFTWAREequivalent settings for IP address and port in the example DHCP server and multicast server configuration files.:

    DHCP server configuration Multicast server configuration (example values)

    class "AMINOx4x

    option AMINO.software_uri

    "igmp://:";

    AMINOx4x

    MulticastIPAddress=239.255.230.53

    MulticastUDPPort=

    2.4 Software imagesThe Ax4x STB NAND flash memory holds two types of signed software image:

    Recovery imageThe recovery image is the software needed to recover the STB if it fails. This is already loaded on the STB in a separate NAND partition.

    Upgrade imageThe upgrade image is a file that contains a complete software upgrade in the form of a file system image with an RSA digital signature. A signed upgrade image is normally generated as a file called mc2.mcfs.

    2.4.1 Creating a signed upgrade image

    The following steps detail how to use the signupgradeimage script to create a signed software upgrade image. This image is normally called mc2.mcfs.

    Warning:mcastbootd.conf must already exist, and be populated, before you use signupgradeimage,otherwise the signupgradeimage script will fail saying that the filesystem directory mc2 does not exist.

    The steps outlined here assume that you have set up a multicast system and you have logged in as root. The Amino software release contains the engineering customer key that you will need for creating the signed software upgrade image. If you are using your own keys, then you will need to know the passphrase for your customer key.

    1. Configure the files that will form the release (for example you may want to change the default settings in the file settings or change the splash image) and add any extra files to the flashcontents file. remember to set the appropriate permissions for the extra files if necessary. If you are setting up a system to familiarise yourself with the components, then you will not need to perform this extra configuration at this stage.

    The flashcontents file lists the files that will be included in a software upgrade image, and defines permissions for those files.

    Example flashcontents fileThis shows a small part of a typical flashcontents file.

    VIDEO

    A video showing this installation procedure is available at:http://video.aminocom.com/

    Select:How to edit and modify Amino software images Amino Communications Ltd. 2014 CONFIDENTIAL INDEX CONTENTS 33

  • INSTALLING THE AX4X SOFTWARE# R == file must exist

    # must be read-only

    # must match the checksum in listfile.sig

    # W == file may exist

    # must not be executable

    # we don't care about the checksum

    # E == file may exist

    # if it does exist:

    # it must be read-only

    # must match the checksum in listfile.sig

    R AMINET.img

    R libm223.so

    R libc223.so

    R xfresco

    R xfresco.amem

    R mkfs.ext2

    R fsck.ext2

    R tune2fs

    R mkfs.xfs

    R font_opt.bin

    R texttvd

    R ttsub

    R bbsdk.cfg

    R irb_keys.txt

    W noformat

    W !poweron

    W cookies.txt

    W history.txt

    2. Set the CUSTOMER_KEY environment variable by entering a command in the following format:export CUSTOMER_KEY=/usr/local/amino/releases//utils/

    keys/amino/KEY.private

    3. Navigate to the upgradeimage directory:cd /usr/local/amino/releases//upgradeimage

    4. Run the signupgradeimage script by entering a command in the following format:./signupgradeimage [-hvz] [-s

  • INSTALLING THE AX4X SOFTWAREFor example (recommended for a trial installation):./signupgradeimage -h

    or./signupgradeimage -s 2048

    or./signupgradeimage

    You will be prompted to enter the passphrase for the key. For the Amino engineering key, the password is markskey.

    5. The script generates an upgrade image in the current directory. It is normally called mc2.mcfs. Copy this file to the images directory specified by the ImageName setting in the [Filesystem mc2] section of the multicast server configuration file (mcastbootd.conf).

    For example: cp mc2.mcfs /usr/local/amino/images/

    If you have multiple [Filesystem ] sections in the multicast server configuration file, you will need to change the name of the file to the for the appropriate section, and then copy the file, as above.

    When the multicast server is started, the new image will be multicast automatically and the STB will download the image next time it needs to upgrade its software. Alternatively, you can force the STB to upgrade to a specified version. If the multicast server is already running, you will need to restart it to transmit the new image.

    2.4.2 mc2 packet sizesWhen signing an mc2 image, for optimum performance the maximum transmission unit (MTUthe size in bytes of the largest protocol data unit that it can pass onwards) of each image should be equal to the maximum MTU size allowable on the network, allowing for ethernet, IP, UDP or any other overheads.

    Mcastbootd also adds a 16-byte header to each packet, so this must be taken into account in any calculations.

    For example, a DSL PPPoE link might have a frame size of 1518 bytes (say). After headers are taken into account, the maximum payload might be 1492 bytes.

    Assuming mcastbootd adds a 16-byte header, the maximum allowable packet size is therefore 1476 byes.

    Sets the deployment index (DI) for the image that is created. The default DI is 0 (zero). If you are not controlling upgrades with a DI (for example, in trial installations), then you can omit this argument. Otherwise, must be the same or greater than the software currently on the STBs that you want to upgrade with this upgrade image. The exception is for HTTP upgrades where the DI must always be greater than the previous DI (not the same). You are normally recommended to increment the DI by 1 for each upgrade image.

    -n Alternative mcfs file without the mcfs extension provided the mcfs file is matched within mcastbootd.conf.

    Argument Usage Amino Communications Ltd. 2014 CONFIDENTIAL INDEX CONTENTS 35

  • INSTALLING THE AX4X SOFTWAREFor the mc2 image, the packet size is defined when signing the image with the signupgradeimage script. The -s option defines the packet size. The default value is 4096 bytes, which will result in fragmentation on this network.

    signupgradeimage -s 1476

    It is worth checking that no packet fragmentation is occurring when running mcastbootd on an end-to-end connection. A packet capture tool such as Wireshark can be used for this (http://www.wireshark.org/).

    2.5 Starting the multicast serverThese instructions assume you have set up the DHCP and multicast servers, and that you have copied a signed software upgrade image to the location specified in the multicast server configuration file.

    1. Navigate to the directory in which software images are located.

    For example:cd /usr/local/amino/images

    2. To start the multicast server in normal mode, enter the following command:mcastbootd

    To start the multicast server in debug mode, entermcastbootd -D.

    In debug mode details of its operation are echoed to the terminal. This is useful to monitor its operation in a trial installation.

    The multicast server continuously transmits the software images as a carousel, and when an STB needs to install an upgrade image, it joins the carousel then retrieves and installs the required files.

    2.6 DHCP optionsThe DHCP options for configuration include both Standard DHCP options and Amino-specific DHCP options (derived from Standard DHCP option 43 - Vendor specific)

    2.6.1 Standard DHCP options The supported options are defined in the following table (options not listed here are ignored by the STB). The options shown in bold are requested by the STB in option 55 - Parameter List.

    TAG NAME MEANING Linux support Used by STB

    1 Subnet Mask Subnet Mask Value Y Y2 Time Offset Time Offset in seconds from UTC Y Y3 Router Router addresses Y Y6 Domain Server DNS Server Addresses Y Y12 Hostname Hostname string Y Y15 Domain Name The DNS domain name of the client Y Y17 Root Path Path name for root disk Y Y23 Default IP TTL Default IP Time To Live Y Y 36 CONTENTS INDEX Amino Communications Ltd. 2014 CONFIDENTIAL

  • INSTALLING THE AX4X SOFTWARE*Standard option 60 Class ID is included by the STB in all requests it sends. The value is Aminox4x for all x4x products.

    **Standard option 61 Client ID is included by the STB in all requests it sends. The value sent is the Ethernet MAC address of the STB.

    2.6.2 Amino vendor options in DHCPUsing these options, a system integrator can customise the STB, for example, setting the browser to a home page by adding option AMINO.homepage http://www.aminocom.com in the AMINOx4x class for the particular STB, and similarly for other options.

    Standard DHCP option 43 (Vendor Specific Information) is used to provide the following Amino specific options. These are not Standard DHCP Options

    127(Some of these options are specific to x4x boxes , for example code 25 software_di. Ensure you are using the correct code for the STBs you are installing.

    .

    28 Broadcast Address Broadcast Address Y Y29 Mask Discovery Perform Mask Discovery Y Y31 Router Discovery Perform Router Discovery Y Y33 Static Route Static Routing Table Y Y40 NIS Domain NIS Domain Name Y Y41 NIS Servers NIS Server Addresses Y Y42 NTP Servers NTP Server Addresses Y Y43 Vendor Specific Vendor Specific Information Y Y51 Address Time IP Address Lease Time Y Y53 DHCP Msg Type DHCP Message Type Y Y54 DHCP Server ID DHCP Server Identification Y Y55 Parameter List Parameter Request List Y Y57 DHCP Max Msg Size DHCP Maximum Message Size Y Y58 Renewal Time DHCP Renewal (T1) Time Y Y59 Rebinding Time DHCP Rebinding (T2) Time Y Y60 Class Id * Vendor Class Identifier Y Y61 Client Id ** Vendor Client Identifier Y Y77 User-Class User Class Information Y N90 DHCP Authentication DHCP Authentication Y Y125 TR-111 support Vendor-specific information Y Y

    Amino specific options

    TAG NAME TYPE MEANING

    1 address ip-address The multicast FS address, supplied as a 4-byte value.

    TAG NAME MEANING Linux support Used by STB Amino Communications Ltd. 2014 CONFIDENTIAL INDEX CONTENTS 37

  • INSTALLING THE AX4X SOFTWARE2 port 2 octet integer

    The port number for the group as a short.

    3 product string The product identifier, sent from the client to the server.

    4 option string Option string, sent from the client to the server. 5 version string Version number sent from the client to the

    server. 6 middleware ip-address The middleware multicast address, supplied as 4-

    byte value. 7 mw_port 2 octet

    integer The middleware port to use on that group (short).

    8 homepage string The browser homepage (string).9 dindex integer Deployment index (int). 10 dindex_min integer Deployment index minimum (int): Triggers an

    automatic upgrade if the deployment index on the box is less than this. If there is no minimum, never automatically update. .

    11 dindex_page string Deployment index upgrade page (string) where to get the upgrade from.

    12 STBrc_mcast_address ip-address STBremoteconf multicast group (4-byte value). 13 STBrc_mcast_port 2 octet

    integer STBremoteconf multicast port (short).

    14 STBrc_ucast_port 2 octet integer

    STBremoteconf unicast port (short).

    15 local_config string Local config URL (string) location of a config tarball that should be downloaded at boot.

    16 timezone string Timezone string (Either fully specified, for example "GMT0BST-1,M3.5.0/01:00,M10.5.0/02:00" or zoneinfo-style e.g. "Europe/London").

    17 middleware2 ip-address The alternative middleware multicast address, supplied as 4-byte value.

    18 mw_args string CLI arguments string to be passed to the middleware.

    19 AMINO INTERNAL TEST host machine IP-address.20 AMINO INTERNAL TEST directory path string.22 mirimon_args string Mirimon CLI arguments string.23 agama_args string Agama CLI arguments string.24 reserved testing text Reserved for Amino internal use.25 software_di 2 octet

    integer(Ax4x STBs only) As option 10.

    Amino specific options

    TAG NAME TYPE MEANING 38 CONTENTS INDEX Amino Communications Ltd. 2014 CONFIDENTIAL

  • INSTALLING THE AX4X SOFTWAREYou will find the following code listing the Amino vendor options in the dhcpd.conf file.

    option space AMINO;

    option AMINO.address code 1 = ip-address;

    option AMINO.port code 2 = integer 16;

    option AMINO.product code 3 = text;

    option AMINO.option code 4 = text;

    option AMINO.version code 5 = text;

    option AMINO.middleware code 6 = ip-address;

    option AMINO.mw_port code 7 = integer 16;

    option AMINO.homepage code 8 = text;

    option AMINO.dindex code 9 = integer 32;

    option AMINO.dindex_min code 10 = integer 32;

    option AMINO.dindex_page code 11 = text;

    option AMINO.STBrc-mcast-address code 12 = ip-address;

    26 recovery_ di 2 octet integer

    Not required.

    27 pbl_ di 2 octet integer

    Not required.

    28 software_uri string (Ax4x STBs only) The URI for an image when recovering the STB if there is no DHCP response.

    29 recovery_uri string Not required.30 pbl_uri string Not required.31 hw_options string (Ax4x STBs only) This is set to 4 spaces and can be

    used to signal hardware variants if required.32 extra_options text Allows customers or middleware suppliers to

    pass arbitrary configuration to the STB from DHCP. If you need to pass more than one option, the syntax is a space-separated list of tag=value pairs, for example: TESTSERVER=10.0.0.2_TESTVAL=5_ TESTURL=http://test.it/_ TESTNAME='Test 1'

    Tag names may only contain A-Z, digits and underscore. They will be converted to upper caseand prefixed with 'DHCP_EXTRA_OPTION_'.Values will be quoted and any extra quotes stripped, to avoid the possibility of this being used as a method of executing arbitrary commands.

    33 debug_options text Used by Amino to define debug settings.34 igmp_max_ver integer Sets the maximum IGMP version.

    Amino specific options

    TAG NAME TYPE MEANING Amino Communications Ltd. 2014 CONFIDENTIAL INDEX CONTENTS 39

  • INSTALLING THE AX4X SOFTWARE option AMINO.STBrc-mcast-port code 13 = integer 16;

    option AMINO.STBrc-unicast-port code 14 = integer 16;

    option AMINO.local-config code 15 = text;

    option AMINO.timezone code 16 = text;

    option AMINO.middleware2 code 17 = ip-address;

    option AMINO.mw_args code 18 = text;

    option AMINO.test_host code 19 = ip-address;

    option AMINO.test_dir code 20 = text;

    option AMINO.recovery_mode code 21 = integer 8;

    option AMINO.mirimon_args code 22 = text;

    option AMINO.agama_args code 23 = text;

    option AMINO.reserved_testing code 24 = text;

    option AMINO.software_di code 25 = integer 16;

    option AMINO.recovery_di code 26 = integer 16;

    option AMINO.pbl_di code 27 = integer 16;

    option AMINO.software_uri code 28 = text;

    option AMINO.recovery_uri code 29 = text;

    option AMINO.pbl_uri code 30 = text;

    option AMINO.hw_options code 31 = text;

    option AMINO.extra_options code 32 = text;

    option AMINO.debug_options code 33 = text;

    option AMINO.igmp_max_ver code 34 = integer 8;

    2.7 Software installation from a USB deviceA software image from a USB storage device can be installed onto an STB. This feature is available on Ax4x STBs with an installed recovery image of version 2.8.1 or higher.

    When you install a software image from a USB storage device, you can only reflash the STB: you cannot upgrade it.

    127(Due to the extensive range of USB storage devices available, Amino cannot guarantee satisfactory performance with every available device. Amino suggests that to ensure correct operation, you use a branded USB storage device from a major manufacturer.

    2.7.1 Method of operationTo enable installation of a software image from a USB storage device, you must first run the recovery image on the STB. You can run the recovery image by using the reflash button (see The reflash sequence) or by using the Management pages (see the Amino Set-Top Box Configuration Guide).

    When the recovery image runs, it will first check to see if restore to factory defaults has been requested. (For details about resetting to factory defaults, see The reset sequence.) If not, the recovery image attempts to install a new main image. It will check to see if a USB storage device is present, and if so, will try to mount it 40 CONTENTS INDEX Amino Communications Ltd. 2014 CONFIDENTIAL

  • INSTALLING THE AX4X SOFTWAREand examine the filesystem. This process takes precedence over installing a new main image using the network.

    127(The recovery image on the STB must be version 2.8.1 or higher. For older STBs it may be necessary to upgrade them to version 2.8.1 or higher before attempting installation from a USB storage device (You must perform an upgrade as a reflash does not update the recovery image).

    The recovery image will install the software image from the USB storage device if

    the software image is correctly encrypted and signed it is in the correct location it is compatible with the STB platform.

    If all these conditions are met, the recovery image does not need to check for a network upgrade and so installs the software image from the USB storage device in the same manner as a downloaded image.

    If any one of these conditions is not met then the recovery image will proceed to look for a software image on the network in the usual manner.

    2.7.2 File systems supportedThe USB drive must be formatted as FAT32 or EXT.

    2.7.3 Software image location on the USB storage device The recovery image will first look for a directory /Amino at the top level of the file system on the USB storage devi