12.01.2014 Views

OperationsGuide0.14r.. - hinditron

OperationsGuide0.14r.. - hinditron

OperationsGuide0.14r.. - hinditron

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Amino Set-Top Box<br />

Management (Multicast<br />

Upgrade System)<br />

Operations Guide<br />

Version 0.14.x Revision 2<br />

Access level: CONFIDENTIAL - NDA required<br />

Confidentiality: the information in this document is subject to non-disclosure agreements and must not be<br />

passed to other third parties without the express permission of Amino Communications Ltd.<br />

This document describes components that undergo continual development. The information in this document<br />

is subject to change without notice at any time.


About Amino<br />

Amino Communications (www.aminocom.com) supplies the AmiNET series of set-top boxes<br />

renowned for their low cost and reliability. The AmiNET range materially reduces service<br />

operators’ capital expenditure, whilst offering the full range of specification required; MPEG2<br />

and MPEG4 encoding standards, standard and high definition TV, personal video recording<br />

and home networking. The high performance coupled with the innovative design of Amino’s<br />

set-top boxes, have brought the series industry accolades and the company a leading position<br />

within the IPTV market.<br />

Approximately 700,000 AmiNET IPTV set-top boxes have been used in over 50 countries<br />

worldwide by more than 400 customers in commercial deployments and trials. The set-top<br />

boxes have also been sampled by another additional 700 customers. Amino Communications’<br />

principal customers are telecommunications, broadcast and hospitality service operators.<br />

Generally, AmiNET products are supplied with the IntAct IPTV software stack pre-loaded.<br />

Amino Communications is a wholly owned subsidiary of Amino Technologies plc. listed on the<br />

London Stock Exchange AIM, symbol AMO. Amino is based near Cambridge, UK, and has<br />

offices in Atlanta Georgia and Hong Kong.<br />

Contact<br />

Information: For further information about Amino or Amino products, email:<br />

info@aminocom.com<br />

Document feedback: If you have comments on this document, please submit feedback via<br />

the Customer area of the Amino support site.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 2


Contents<br />

About Amino ............................................................................................................................2<br />

Contact ....................................................................................................................................2<br />

Copyright and trademarks .......................................................................................................6<br />

Conventions ............................................................................................................................ 6<br />

1 Introduction ................................................................................................................. 7<br />

1.1 About this document ........................................................................................... 7<br />

1.2 About the Multicast upgrade system................................................................... 8<br />

1.3 About set-top box operation.............................................................................. 10<br />

1.4 About set-top box configuration ........................................................................ 11<br />

1.5 About software builds ....................................................................................... 11<br />

1.6 About software images ..................................................................................... 13<br />

1.7 About software security .................................................................................... 13<br />

1.8 More about operational states .......................................................................... 15<br />

2 Setting up a basic Multicast upgrade system ........................................................ 20<br />

2.1 Overview of procedure for setting up a Multicast system ................................. 20<br />

2.2 Release directory contents ............................................................................... 20<br />

2.3 Copying files ..................................................................................................... 22<br />

2.4 Setting up the DHCP server ............................................................................. 23<br />

2.5 Setting up the Multicast server ......................................................................... 24<br />

2.6 To set up the Multicast server........................................................................... 24<br />

2.7 Creating software images ................................................................................. 25<br />

2.8 Starting the Multicast server ............................................................................. 28<br />

3 Setting up an advanced Multicast upgrade system .............................................. 29<br />

3.1 Configuring the Multicast system for multiple set-top box types....................... 29<br />

3.2 Using deployment indexes for automatic upgrade............................................ 35<br />

3.3 Setting set-top boxes with static network and multicast upgrade settings........ 37<br />

3.4 Automating Multicast server start-up ................................................................ 39<br />

4 Upgrading set-top box software.............................................................................. 41<br />

4.1 Upgrade options ............................................................................................... 41<br />

4.2 Using STBremoteconf to upgrade software...................................................... 42<br />

4.3 Using the Management pages to upgrade software ......................................... 42<br />

4.4 Configuring the DHCP server for multicast upgrades....................................... 42<br />

4.5 Using JMACX to upgrade software................................................................... 42<br />

5 Configuring set-top boxes ....................................................................................... 43<br />

5.1 Configuration options........................................................................................ 43<br />

5.2 Configuration areas .......................................................................................... 45<br />

5.3 Configuring a large deployment........................................................................ 46<br />

5.4 Pairing an IR remote control with a set-top box................................................ 47<br />

5.5 Configuring how the set-top box responds to remote control keys................... 48<br />

5.6 Configuring the set-top box time zone .............................................................. 48<br />

6 Customising a software upgrade image................................................................. 50<br />

6.1 Configuring image components ........................................................................ 50<br />

6.2 Editing the flashcontents file ............................................................................. 51<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 3


6.3 Creating an upgrade script ............................................................................... 52<br />

6.4 Enabling remote log-in tools ............................................................................. 52<br />

6.5 Customising graphics ....................................................................................... 53<br />

6.6 Changing set-top box passwords ..................................................................... 54<br />

7 Using STBremoteconf .............................................................................................. 56<br />

7.1 STBremoteconf................................................................................................. 56<br />

7.2 Before you start ................................................................................................ 56<br />

7.3 Installing prerequisite Perl modules.................................................................. 56<br />

7.4 Sending commands with STBremoteconf......................................................... 57<br />

7.5 STBremoteconf command syntax..................................................................... 58<br />

7.6 STBremoteconf command options ................................................................... 60<br />

8 Using the HTML Configuration pages..................................................................... 69<br />

8.1 Configuration pages.......................................................................................... 69<br />

8.2 Getting started .................................................................................................. 69<br />

8.3 Using the Management pages.......................................................................... 70<br />

8.4 Using the Preferences pages ........................................................................... 73<br />

9 Using libconfig .......................................................................................................... 75<br />

9.1 Before you start ................................................................................................ 75<br />

9.2 libconfig command syntax ................................................................................ 75<br />

9.3 Sending commands with libconfig .................................................................... 76<br />

9.4 libconfig configuration areas ............................................................................. 76<br />

10 Set-top box configuration settings ......................................................................... 79<br />

10.1 settings file contents ......................................................................................... 79<br />

10.2 netconf file contents.......................................................................................... 85<br />

10.3 NOR flash - list of settings ................................................................................ 85<br />

10.4 Channels file contents ...................................................................................... 91<br />

10.5 Trusted domains file contents........................................................................... 91<br />

10.6 Usersettings file contents.................................................................................. 91<br />

10.7 Hostname file contents ..................................................................................... 92<br />

10.8 HTML Configuration pages - settings used ...................................................... 92<br />

11 Troubleshooting........................................................................................................ 98<br />

11.1 Set-top box LED flashing codes ....................................................................... 98<br />

11.2 STBremoteconf errors .................................................................................... 101<br />

11.3 Browser display issues ................................................................................... 101<br />

Appendix A:Configuration example: DHCP server and Multicast server for multiple<br />

types of set-top box 102<br />

A.1 DHCP server configuration file ....................................................................... 102<br />

A.2 Multicast server configuration file ................................................................... 107<br />

A.3 DHCP and Multicast server matching values ................................................. 108<br />

Appendix B:Changing from TFTP to Multicast upgrade ............................................... 110<br />

B.1 To change a TFTP booting set-top box to Multicast upgrade......................... 110<br />

Appendix C:Video output formats................................................................................... 111<br />

C.1 AmiNET103 .................................................................................................... 111<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 4


C.2 AmiNET110, 110H.......................................................................................... 111<br />

C.3 AmiNET120 .................................................................................................... 112<br />

C.4 AmiNET124 .................................................................................................... 112<br />

C.5 AmiNET125 .................................................................................................... 112<br />

C.6 AmiNET130, 130H.......................................................................................... 113<br />

C.7 AmiNET500 .................................................................................................... 113<br />

Index ...................................................................................................................................115<br />

Document history ................................................................................................................121<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 5


Conventions<br />

Copyright and trademarks<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007<br />

Amino, AmiNET and the Amino logo are trademarks of Amino Communications Ltd.<br />

All other trademarks are the property of their respective owners.<br />

Conventions<br />

The following table describes common formatting conventions used in this document. Where<br />

other conventions apply to a particular section, they are described in the section they are used<br />

in.<br />

Formatting Usage<br />

< ...> Indicates a value that you need to replace with a systemspecific<br />

value (except where used in HTML or XML<br />

examples, where it is used in tags, as normal).<br />

[ ...] Indicates optional parameters - for example in commands<br />

or functions.<br />

... | ... Indicates choices - for example where an input can take<br />

one of a number of values.<br />

code font Indicates input and output values (for example, at a<br />

command line), as well as function, configuration,<br />

parameter and file names.<br />

bold text Used for emphasis and for cross-references to other<br />

sections and other documents.<br />

grey text Commands or settings which are not in general use (for<br />

example, configuration settings that are reserved for<br />

Amino internal use).<br />

underlined blue<br />

text<br />

Cross-reference (this is a “clickable” hyperlink if you are<br />

vewing the document electronically).<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 6


1 Introduction<br />

1.1 About this document<br />

AmiNET set-top box operation is controlled by software installed on the set-top box. This<br />

document describes how to set up the Multicast system for managing the software on the<br />

boxes, and how to customise the software for the needs of your system. It assumes you<br />

have a set-top box and software release. It also assumes a basic understanding of the<br />

technologies involved, including Linux command line.<br />

Many of the control and customisation options described in this document can also be<br />

implemented using the JMACX Javascript extensions. JMACX is not covered in this<br />

document - see the JMACX API Specification for details.<br />

Structure<br />

This document consists of the following chapters:<br />

Chapter<br />

Introduction<br />

Setting up a basic<br />

Multicast upgrade<br />

system<br />

Setting up an advanced<br />

Multicast upgrade<br />

system<br />

Upgrading set-top box<br />

software<br />

Configuring set-top<br />

boxes<br />

Customising a software<br />

upgrade image<br />

Using STBremoteconf<br />

Using the HTML<br />

Configuration pages<br />

Using libconfig<br />

Set-top box<br />

configuration settings<br />

Outline<br />

This chapter continues by introducing the<br />

Multicast system and giving an overview of how<br />

it works.<br />

Details how to use a software release to set up<br />

the Multicast system components and install<br />

software on a set-top box for the first time.<br />

Details how to set up more complex Multicast<br />

upgrade systems, such as configuring<br />

upgrades for multiple types of set-top box.<br />

Introduces the options available for upgrading<br />

the software on set-top boxes.<br />

Introduces the options available for configuring<br />

set-top boxes, and details how to configure<br />

certain configuration areas.<br />

Describes how to customise the software<br />

upgrade before it is signed and loaded to the<br />

set-top box.<br />

Introduces STBremoteconf and details how to<br />

use it to configure and control a set-top box.<br />

Introduces the Management pages and<br />

Preferences pages and details how to use them<br />

to configure and control a set-top box.<br />

Introduces libconfig and details how to construct<br />

commands to view and edit set-top box<br />

configuration.<br />

Lists some of the main set-top box configuration<br />

settings.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 7


Introduction<br />

Chapter<br />

Troubleshooting<br />

Appendices<br />

Outline<br />

Covers LED flashing codes that set-top boxes<br />

use to indicate errors during booting and<br />

upgrading software;also covers troubleshooting<br />

for other Multicast system components.<br />

Provide configuration examples and other<br />

supporting information.<br />

Quick start<br />

If you are already familiar with the technologies and concepts in an Amino Multicast<br />

system and just want to get the system running, you can proceed with Setting up a basic<br />

Multicast upgrade system on page 20.<br />

If you have already installed the Multicast system components, and want information on<br />

how to configure them or upgrade software, go to Configuring set-top boxes on page 43<br />

or Upgrading set-top box software on page 41.<br />

1.2 About the Multicast upgrade system<br />

System overview<br />

The Amino Multicast upgrade system provides management, control and customisation<br />

for set-top boxes. It works alongside other networked IPTV components such as media<br />

server and conditional access (CA) server.<br />

Remote management components<br />

DHCP server<br />

The 3rd party DHCP server handles providing an IP address and other network settings<br />

to the set-top boxes, and Amino vendor extensions enable booting and software upgrade<br />

functionality.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 8


Introduction<br />

Multicast server<br />

The Amino Multicast server transmits signed bootstrap and software upgrade images that<br />

set-top boxes can download. It works as a carousel, continually serving the images in its<br />

configuration. The server can transmit multiple images at once, so that a mix of set-top<br />

box types can be upgraded from a single Multicast server.<br />

STBremoteconf<br />

STBremoteconf provides a mechanism for remotely configuring and controlling a local<br />

network of AmiNET set-top boxes. It can be run on the command line by sending<br />

commands individually to one or more set-top boxes, or commands can be collected into<br />

a script to save time. Commands are signed when they are created, so that the set-top<br />

box can check that the command has been sent by an authorised source.<br />

Example functions include rebooting, modifying output modes or updating software, as<br />

well as viewing information about the set-top box.<br />

Telnet/SSH<br />

If required, the set-top box software can include Telnetand in some cases SSH or<br />

Dropbear, which enable administrators to connect directly to a set-top box and perform<br />

operations such as using libconfig to view and change configuration settings. This<br />

functionality enables administrators to trial new software configurations, and is normally<br />

disabled for live systems, for security reasons.<br />

Local management components<br />

How it works<br />

Configuration pages<br />

Set-top boxes with browsers include HTML configuration pages, displayed on the<br />

television screen, that enable local access and editing of configuration areas. The pages<br />

are divided into an administrator area (Management pages) and user area (Preferences<br />

pages).<br />

Preferences pages<br />

The set-top box Preferences pages are a simple interface that enables users to change<br />

basic set-top box configuration areas such as language, subtitle and keyboard set-up.<br />

The pages are accessed locally via an Amino IR remote control (or keyboard). The<br />

Preferences pages are designed for use by end-users.<br />

Management pages<br />

The set-top box Management pages are a simple interface that enables administrators to<br />

change set-top box configuration areas such as networking, channel list and browser setup,<br />

as well as initiate basic operations such as rebooting and updating software. In<br />

addition, read-only access is available to areas such as version and set-top box identity<br />

settings. The pages are password-protected and accessed locally via an Amino IR<br />

keyboard (limited functionality is also supported via the remote control). Management<br />

pages allow access to advanced configuration functions and are designed for use by<br />

administrators rather than end-users.<br />

Once the components of the system are installed and configured, a network of set-top<br />

boxes can be supported and managed. For details of everyday operation as part of the<br />

Multicast upgrade system, see About set-top box operation on page 10 and More about<br />

operational states on page 15.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 9


Introduction<br />

1.3 About set-top box operation<br />

Overview of operational states<br />

Set-top box operation is driven by a defined set of states: how a set-top box operates<br />

depends on its current state. The state a set-top box is in depends on the existence of a<br />

current software image in its NAND flash, or whether it can load that software<br />

successfully. Each time a set-top box enters a new state, it sends a DHCP request that<br />

includes an appropriate string to identify its current state, as defined by Amino vendor<br />

extensions added to the DHCP server’s configuration file. Note that operation when the<br />

NAND flash doesn’t contain valid software is enabled by the bootloader stored<br />

permanently in the NOR flash.<br />

Bootstrap (mboot) state<br />

When the set-top box is first powered, it inspects its NAND flash for valid software. If it<br />

doesn’t find any, it enters the Multicast bootstrap state. In this state, it can securely<br />

download a bootstrap image from the Multicast server. When a set-top box is in bootstrap<br />

state, it includes mboot state in the message it uses to communicate with a DHCP server.<br />

Upgrade (upgrd) state<br />

Once the set-top box has found and executed a valid bootstrap image, it enters the<br />

upgrade state. The set-top box will also enter this state in response to a manual upgrade<br />

request (e.g. initiated via STBremoteconf). In this state, all non-essential applications are<br />

closed, and the set-top box can download and execute a new software upgrade image.<br />

When a set-top box is in upgrade state, it includes upgrd state in the message it uses to<br />

communicate with a DHCP server.<br />

Filesystem (fisys) state<br />

Once the set-top box has found and executed a valid software image from the NAND<br />

flash, it enters the filesystem state. In this state, the set-top box is running and available<br />

for normal use. An administrator can initiate a software upgrade using one of the<br />

management tools (e.g. STBremoteconf). When a set-top box is in filesystem state, it<br />

includes fisys state in the message it uses to communicate with a DHCP server.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 10


Introduction<br />

Dataflow diagram: Operational states (overview)<br />

When a set-top box is powered, it attempts to execute software from its NAND flash. If<br />

this is successful, the set-top box enters its normal running state (filesystem state - see<br />

below); otherwise, the set-top box enters its bootstrap state.<br />

See also:<br />

About software images on page 13<br />

More about operational states on page 15<br />

1.4 About set-top box configuration<br />

The Multicast system offers a range of tools for configuring set-top boxes, depending on<br />

factors such as whether you are trialling new settings or rolling out configuration for a<br />

software upgrade and whether you are configuring the box remotely or locally. For an<br />

overview of configuration methods, see Configuring set-top boxes on page 43. For details<br />

of some of the configuration possibilities, see Set-top box configuration settings on page<br />

79.<br />

1.5 About software builds<br />

AmiNET set-top boxes can support a wide range of functionalities and platforms. The<br />

software enables as much user-customisation as possible, but in order to minimise the<br />

size of the software image loaded on a set-top box, it is built to support a particular set of<br />

functionalities. Once a build has been created, it is possible to customise it with customerspecific<br />

security keys, additional files and configuration settings, but it is not possible to<br />

enable some functionality that has not been compiled into the software build. For this<br />

reason, it can be useful to understand what is included in a software build, and what can<br />

be added later.<br />

Diagram: Software build and customisation stages<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 11


Introduction<br />

Note that the Build stage shown in this diagram is internal to Amino.<br />

The following table shows the stage at which some of the key functionality can generally<br />

be added or changed:<br />

Stage<br />

Build<br />

Customise<br />

Configure<br />

Options<br />

browser and middleware support<br />

hardware platform<br />

subtitles<br />

bitband support<br />

some CA system support<br />

some language support<br />

RSA security keys<br />

enable/disable Telnet/SSH<br />

graphic shown during upgrade<br />

some CA system support<br />

some language support<br />

packet size and file format for<br />

multicast software images<br />

configuration settings - e.g. browser<br />

display, language choice, output<br />

format<br />

See also:<br />

Configuring set-top boxes on page 43<br />

About software images on page 13<br />

Customising a software upgrade image on page 50<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 12


Introduction<br />

1.6 About software images<br />

The set-top box NAND flash holds two types of signed software image:<br />

Bootstrap image<br />

The bootstrap image contains the software needed to manage the download of a<br />

multicast upgrade image. It is a combined Linux kernel and RAM disk image with an RSA<br />

digital signature.<br />

A signed bootstrap image is generated as file called: bootstrap.signed.<br />

Upgrade image<br />

The upgrade image is a file that contains a complete software upgrade in the form of a<br />

file system image with an RSA digital signature.<br />

A signed upgrade image is normally generated as file called: mc2.mcfs.<br />

Making new software images available<br />

When the set-top box is first connected, it inspects its NAND flash, and if this contains no<br />

valid software, it connects to the Multicast server and downloads a software release: first<br />

the bootstrap image, and then the upgrade image.<br />

If you have not been supplied with signed software images, you will need to create and<br />

sign your own. To do this, you will need the bootstrap and/or upgradeimage directories<br />

of a software release, and the customer key and its pass phrase. Keys are normally<br />

provided as part of a software release, but you can also generate and use your own keys,<br />

as long as they are in the set-top box ROM.<br />

Bootstrap image: You should normally only need to sign and load a bootstrap image<br />

when the set-top box is supplied with a blank NAND flash (e.g. units shipped direct from<br />

manufacture). The bootstrap image is created from the bootstrap.unsigned file, using<br />

the signbootstrap script and the customer key.<br />

Upgrade image: Upgrade images need to be created whenever you need to upgrade settop<br />

boxes with a new software release. The upgrade image is created from the contents<br />

of the imagecomponents directory specified in the flashcontents file, using the<br />

signupgradeimage script and the customer key.<br />

The upgrade image can be downloaded automatically by a set-top box (controlled by<br />

deployment index mechanism) or you can initiate multicasting (or unicasting) the image<br />

manually from the DHCP server and Amino Multicast server, - e.g. using the<br />

STBremoteconf tool. If you have not been supplied with signed bootstrap and upgrade<br />

images, you need to create them yourself from the files supplied in the Amino software<br />

release.<br />

See also:<br />

About software builds on page 11<br />

Overview of operational states on page 10<br />

1.7 About software security<br />

The software on a set-top box is protected by a combination of security measures:<br />

RSA security keys<br />

software deployment index (DI)<br />

password-protected access to management tools<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 13


Introduction<br />

<br />

software build options<br />

Security keys<br />

Software is protected by cryptographic public-private keys and digital signatures; this<br />

extends from initial booting through to uploading of new software images. Images and<br />

commands are digitally signed when they are sent to a set-top box, and the set-top box<br />

checks for this signature before it loads the new software or completes the operation<br />

requested.<br />

Software distributions include public keys (used by the set-top box to verify images and<br />

commands) and private keys (used to sign new images and commands) for the customer<br />

key and configuration key. The public keys are kept on the set-top box, and the private<br />

keys are stored off the set-top box, usually on the PC used to sign new images. The keys<br />

used can be either the Amino engineering keys - used for trial purposes - or customerspecific<br />

keys, depending on customer requirements. In some cases, the customer may<br />

generate their own keys if required.<br />

Master key<br />

The master key is used only by Amino, to validate the customer key. It is held securely<br />

and is only available to Amino.<br />

Customer key<br />

The customer key is used to verify that bootstrap and upgrade images have been signed<br />

by a trusted source.<br />

The Amino engineering customer key (KEY.private) is normally provided with a release.<br />

The passphrase for this Amino engineering key is markskey.<br />

Configuration key<br />

The configuration key is used to verify the validity of remote management commands sent<br />

to the set-top box.<br />

The Amino engineering configuration key (STBrc-KEY.private) is normally provided with<br />

a release. The passphrase for this Amino engineering key is stbrckey.<br />

Deployment indexes (DI)<br />

The deployment index or DI is a mechanism used in the Multicast upgrade system to<br />

ensure that set-top boxes are using the correct versions of software. An index number is<br />

assigned when the signed software upgrade image is created, and when a set-top box is<br />

instructed to upgrade, it checks the deployment index of its current software image, and<br />

will only upgrade if the new software image has the same or a higher deployment index<br />

number. Note that the deployment index in an image is signed so that it cannot be<br />

tampered with.<br />

All set-top boxes are manufactured with an initial deployment index of 0.<br />

Example:<br />

A service provider is currently running with software version 0.9.2 on all their set-top<br />

boxes, which include the CA vendor’s software. Software version 0.9.2 is multicast across<br />

the network so that set-top boxes can upgrade to it or recover their software image at any<br />

time. This version 0.9.2 has a deployment index of 1. During this time, a user makes an<br />

unauthorised copy of version 0.9.2 on their hard drive.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 14


Introduction<br />

The CA vendor discovers a fault in version 0.9.2 that allows free access to subscription<br />

channels. The CA vendor issues version 0.9.4 to fix this fault, and the service provider<br />

upgrades all their set-top boxes to this new version. This version has a deployment index<br />

of 2.<br />

Without the deployment index mechanism, the user could potentially downgrade to their<br />

unauthorised copy of 0.9.2, and continue to receive free channels. The deployment index<br />

prevents this, though: the set-top box will not downgrade to 0.9.2, because this version<br />

has a lower index number than 0.9.4.<br />

Passwords<br />

Access to management functionality is assigned to password-controlled users.<br />

The following table outlines the main password-controlled user levels and their defaults:<br />

User name Description<br />

root<br />

mngread<br />

mngwrite<br />

Used for Telnet / serial console access on<br />

development builds.<br />

Used for access to the set-top box management<br />

pages.<br />

Used to write back changes from the set-top box<br />

management pages.<br />

Default<br />

password<br />

root2root<br />

leaves<br />

snake<br />

Build options<br />

Various set-top box functionality is locked or disabled during a hardware build, to protect<br />

the set-top box from interference. This includes identity settings such as MAC address<br />

and serial number. Set-top boxes with this functionality enabled are referred to in this<br />

documentation as “development” builds (these are sometimes also called “production” -<br />

see note that follows); set-top boxes with the functionality locked are known as “live”<br />

builds. Note that software releases designed to support functionality only available during<br />

development include production in the name of the release version.<br />

1.8 More about operational states<br />

The sections that follow provide detail about the stset-top box operation states, including<br />

how set-top box operation is affected if one of the actions that the set-top box executes<br />

is not successful. Information about operational errors is indicated by flashing codes used<br />

by the LED on the set-top box. See the separate LED flashing codes section for a list of<br />

these errors.<br />

Static DHCP settings: The descriptions that follow outline operation where the set-top<br />

box relies on the DHCP server for its network and other settings. Where these are defined<br />

statically in the set-top box’s configuration, they can either be used as a fall-back - if<br />

communication with the DHCP server fails - or they can be used in place of DHCP<br />

communication. How these static settings are used depends on configuration.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 15


Introduction<br />

Operation in bootstrap (mboot) state<br />

During bootstrap state, the default boot logo is displayed on the screen. If this hasn’t been<br />

customised, it will be similar to this:<br />

The operational sequence on entering this state is as follows:<br />

If there is a failure during this state, a sequence of flashes of the LED on the set-top box<br />

indicates the reason.<br />

Send DHCP request: The set-top box sends a message to the DHCP server, including<br />

mboot state and a string identifying the hardware platform. The DHCP server compares<br />

the state and the platform string against classes defined in its configuration file. If it<br />

doesn’t find a class, then it can’t provide the information that the set-top box needs.<br />

DHCP response: When the DHCP server identifies an appropriate class, it responds to<br />

the set-top box with network settings and the vendor extensions defined in that class.<br />

These vendor extensions are normally an IP address and port for retrieving a bootstrap<br />

image that is being transmitted by the Multicast server.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 16


Introduction<br />

If the set-top box doesn’t receive a response from the DHCP server, it retries sending the<br />

DHCP request a number of times (the number of retries is specified in the code). If this is<br />

still not successful, it either uses values from its configuration (if these have been set) or<br />

reboots itself, returning to the initial powered state.<br />

Download image: The set-top box connects to the multicast carousel with the details it<br />

has received and downloads the packets for a bootstrap image. If the set-top box doesn’t<br />

manage to download an image from the Multicast server within a defined timeout, it<br />

reboots itself, returning to the initial powered state.<br />

Assemble, verify and execute image: The set-top box verifies the new bootstrap image<br />

by using the public customer key it holds to check the digital signature that the image is<br />

signed with. If the software is successfully verified, the set-top box executes it and stores<br />

it in its NAND flash.<br />

If the set-top box can’t verify or execute the software it has downloaded, the software is<br />

reset and the set-top box reboots itself<br />

Operation in upgrade (upgrd) state<br />

During upgrade state, the loading screen is displayed, which contains just the word<br />

Loading....<br />

The operational sequence on entering this state is as follows:<br />

If there is a failure during this state, a sequence of flashes of the LED on the set-top box<br />

indicates the reason.<br />

Send DHCP request: Once the set-top box has successfully loaded a bootstrap image,<br />

it enters the upgrade state.The set-top box also enters this state if a manual upgrade<br />

request is initiated (e.g. via STBremoteconf). The set-top box sends a message to the<br />

DHCP server, including upgrd state and a string identifying the hardware platform.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 17


Introduction<br />

DHCP response: The DHCP server compares the state and the platform string against<br />

classes defined in its configuration file. When the DHCP server identifies an appropriate<br />

class, it responds to the set-top box with network settings and the vendor extensions<br />

defined in that class. These vendor extensions are normally an IP address and port for<br />

retrieving an upgrade image that is being transmitted by the Multicast server. If it doesn’t<br />

find a class, then it can’t provide the information that the set-top box needs.<br />

If the set-top box doesn’t receive a response from the DHCP server after a number of<br />

retries, it tries to move to the next stage using the settings in its configuration (i.e. using<br />

null values for the multicast IP address and port, if these have not been set in the<br />

configuration - so the download will not succeed).<br />

Download image: The set-top box connects to the multicast carousel with the details it<br />

has received and downloads the packets for an upgrade image. If it doesn’t manage to<br />

download the image within a defined timeout, it reboots, and returns to the initial powered<br />

state.<br />

Assemble, verify and execute image: The set-top box verifies the new image by using<br />

the public customer key it holds to check the digital signature that the image is signed<br />

with. It also compares the deployment index (DI) of the software against its current index.<br />

If the software is successfully verified, the set-top box stores it in its NAND flash and<br />

executes it.<br />

If the software is not successfully verified and executed, then the set-top box resets itself.<br />

How it behaves at this stage, depends on what stage of the verification process it failed<br />

at: it can either reboot or re-enter the upgrade state.<br />

Note that at this point the NAND flash could potentially be corrupted by a power outage<br />

or other failure. If this happens, the set-top box will detect it and return to the bootstrap<br />

state.<br />

Operation in filesystem (fisys) state<br />

In filesystem state, normal operation is enabled. When the set-top box first enters this<br />

state, it shows the page defined as the default home page. For example, for a standard<br />

Amino build with the ANT Fresco browser, a screen similar to the following is displayed:<br />

The operational sequence on entering this state is as follows. If there is a failure during<br />

this state, a sequence of flashes of the LED on the set-top box indicates the reason.<br />

Send DHCP request: When the set-top box successfully loads both a bootstrap and<br />

software upgrade image, it enters the filesystem state. The set-top box sends a message<br />

to the DHCP server, including fisys state and a string identifying the hardware platform.<br />

The DHCP server compares the state and the platform string against classes defined in<br />

its configuration file. If it doesn’t find a class, then it is unable to supply the information<br />

that the set-top box needs.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 18


Introduction<br />

DHCP response: When the DHCP server identifies an appropriate class, it responds to<br />

the set-top box, with network settings and any vendor extensions defined in that class.<br />

For the filesystem state, vendor extensions are optional, but they can include an IP<br />

address and port for retrieving an upgrade image that is being transmitted by the Multicast<br />

server as well as other options such as middleware server details and minimum software<br />

deployment index (DI) that the set-top box must be running.<br />

If the set-top box doesn’t receive a response from the DHCP server after a number of<br />

retries, it reboots, returning to its initial powered state.<br />

Initiate upgrade or Normal use: If the minimum deployment index supplied is greater<br />

than the set-top box’s current index, the set-top box enters the upgrade state, to<br />

download a new software version. The set-top box must have been supplied with<br />

multicast IP address and port in order for this upgrade to be successful. If the upgrade<br />

fails, then the set-top box returns to normal operation, using its current software version.<br />

If the set-top box receives an upgrade instruction from an external application, the set-top<br />

box enters the upgrade state, using the multicast IP address and port supplied in the<br />

upgrade instruction. Again, if the upgrade fails, the set-top box returns to normal<br />

operation without upgrading its software.<br />

Otherwise, the set-top box is available for normal operation.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 19


2 Setting up a basic Multicast upgrade<br />

system<br />

The instructions in this section describe how to set up a basic Multicast system on your<br />

machine for the first time - for example, to connect to a single set-top box as a trial or to<br />

familiarise yourself with the components. These sections detail the minimum set-up and<br />

configuration required; for information on setting up equipment for more complex<br />

systems, see Setting up an advanced Multicast upgrade system on page 29.<br />

2.1 Overview of procedure for setting up a Multicast system<br />

Prerequisites<br />

The instructions here assume you have a compressed Amino release and a computer<br />

with Linux and a DHCP server installed. They also assume familiarity with basic Linux<br />

command line functionality. If you intend to use STBremoteconf for remote control and<br />

communication with set-top boxes, then you will need Perl on the PC you are installing<br />

these components on. To complete the installation, you will also need to be able to find<br />

out settings for the network that the set-top box is connected to.<br />

Note: You must log in as root in order to complete the Multicast system set-up and use<br />

the remote configuration tools.<br />

Steps<br />

To set up a Multicast system for the first time, you need to complete the following steps:<br />

1. Copy files.<br />

2. Set up the DHCP server.<br />

3. Set up the Multicast server.<br />

4. Create software images.<br />

5. Start the Multicast server.<br />

Once you have completed these steps, your set-top box will be able to automatically<br />

connect and download software.<br />

2.2 Release directory contents<br />

The compressed standard release file supplied by Amino unzips to the following directory<br />

structure shown in the table below. The actual contents of the directories vary depending<br />

on the release - for example, CA-specific files and browser-specific files will be included<br />

with some releases; certain releases may not include keys or the full set of management<br />

utilities. The table below shows the location of the main files described in the<br />

documentation.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 20


Setting up a basic Multicast upgrade system<br />

Note: In the following table, bold text indicates a directory.<br />

File / subdirectory<br />

bootstrap<br />

bootstrap.unsigned<br />

signbootstrap<br />

romupgrade<br />

tftpboot<br />

server<br />

dhcpd.conf<br />

mcastbootd<br />

mcastbootd.conf<br />

upgradeimage<br />

flashcontents<br />

signupgradeimage<br />

imagecomponents<br />

config.txt<br />

fkeys.conf<br />

loading.gif<br />

mcnfg.tar<br />

netconf<br />

opera.ini<br />

settings<br />

splash.gif<br />

bin<br />

utils<br />

commands<br />

imgcfg<br />

STBremoteconf<br />

keys<br />

amino<br />

KEY.private<br />

KEY.public<br />

Description<br />

Directory containing the components needed to create a<br />

signed bootstrap image.<br />

The unsigned bootstrap image.<br />

The script to use to create a signed bootstrap image.<br />

Directory containing files needed to upgrade a TFTP booting<br />

set-top box to use the Multicast upgrade system.<br />

TFTP to Multicast upgrade files.<br />

Directory containing files for setting up the Multicast upgrade<br />

system on the server.<br />

Configuration file containing settings that you need to edit<br />

and add to your DHCP server’s configuration file.<br />

Amino Multicast server binary file.<br />

Multicast server configuration file.<br />

Directory that contains the components needed to create a<br />

signed upgrade image.<br />

File that lists the files to use to create the software upgrade<br />

image (i.e. the imagecomponents files).<br />

The script to use to create a signed software upgrade image.<br />

Directory containing the files to be used as the contents of a<br />

software upgrade image.<br />

Browser configuration file (Fresco).<br />

Configuration file defining actions associated with IR remote<br />

control and keyboard keys. You are not recommended to edit<br />

this file directly.<br />

Graphic shown on screen when the set-top box is loading a<br />

new software upgrade image via TFTP (not used for<br />

Multicast upgrade).<br />

Tar file containing HTML used to display the set-top box<br />

Configuration pages.<br />

Configuration file containing network settings.<br />

Browser configuration file (Opera).<br />

Configuration file containing general set-top box settings.<br />

Graphic shown on screen when the set-top box is booting.<br />

Directory containing set-top box software binary files.<br />

Directory containing management utilities.<br />

File containing commands used by STBremoteconf.<br />

Utility that enables remote configuration of set-top boxes.<br />

Directory containing the private keys used to sign and verify<br />

software images and STBremoteconf commands.<br />

The Amino engineering keys.<br />

The private customer key.<br />

The public customer key.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 21


Setting up a basic Multicast upgrade system<br />

File / subdirectory<br />

Master.public<br />

STBrc-<br />

KEY.private<br />

STBrc-KEYpublic<br />

Description<br />

The public master key.<br />

The private configuration key.<br />

The public configuration key.<br />

2.3 Copying files<br />

The steps here detail what you need to do to set up a basic Multicast system for the first<br />

time.<br />

To copy files<br />

In the following instructions, stands for the full path to the directory that<br />

contains your Amino software release. If you follow the example instructions below, this<br />

is: /usr/local/amino/releases/<br />

1. Create an amino directory, with two subdirectories, called releases and<br />

images.<br />

For example:<br />

cd /usr/local<br />

mkdir amino<br />

cd amino<br />

mkdir releases<br />

mkdir images<br />

2. Unzip the Amino software release to the releases directory.<br />

For example:<br />

tar xvfs <br />

/usr/local/amino/releases/<br />

3. Copy the Multicast server binary to a directory in the system path.<br />

For example:<br />

cp /server/mcastbootd /usr/local/bin<br />

4. Copy the contents of the utils directory to the same location.<br />

For example:<br />

cp /utils/* /usr/local/bin<br />

Note that the keys subdirectory isn’t copied over by this command (it is not<br />

needed here).<br />

5. Copy the Multicast server configuration file to the /etc directory.<br />

For example:<br />

cp /server/mcastbootd.conf /etc<br />

6. If you are using a dedicated DHCP server (only for this Multicast system), then<br />

copy the sample configuration file from the software release to the etc directory.<br />

For example:<br />

cp /server/dhcpd.conf /etc<br />

If you are using a DHCP server that is already set up, then you will be able to<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 22


Setting up a basic Multicast upgrade system<br />

copy settings from the sample file to your existing file when you set up the<br />

DHCP server.<br />

All the files needed to run the Multicast system have now been copied to the locations<br />

they are needed in. You will also still need to access some of the other files in the software<br />

release directory.<br />

2.4 Setting up the DHCP server<br />

For a first set-up of a Multicast system (e.g. for trial purposes), you are recommended to<br />

set up a DHCP server that will only be used for this Multicast system, in order to keep<br />

configuration simple while you are getting to know the system’s functionality. A sample<br />

configuration file is supplied with the software release, and you can either edit this file or<br />

copy the settings from this file to your DHCP server’s configuration file.<br />

To set up the DHCP server<br />

1. Open the sample DHCP server configuration file dhcpd.conf in a text editor. If<br />

you copied the file over when you copied the binaries, then this is located in<br />

/etc. Otherwise, it is in the /server/ directory. If you are adding<br />

settings to an existing DHCP server configuration file, you will also need to open<br />

the configuration file for your DHCP server, and in the following instructions you<br />

will need to copy the settings from the sample file to you DHCP server’s<br />

configuration file, before editing them.<br />

2. The following settings from the sample configuration file need to be in the DHCP<br />

server configuration file that you want to use. If you are copying files from the<br />

sample file to your existing DHCP configuration file, then you should copy these<br />

unchanged:<br />

Misc dhcp options<br />

allow bootp;<br />

ddns-update-style ad-hoc;<br />

filename=”AMINET.txt”;<br />

Extra Options for Amino option space<br />

option space AMINO;<br />

option AMINO.address code 1 = ip-address;<br />

...<br />

option AMINO.middleware2 code 17 = ip-address;<br />

3. For each set-top box type that you want to multicast to, you will need classes<br />

that specify how set-top boxes can get software images when they are in boot<br />

state mboot class), upgrade state (upgrd class) and normal boot state (fisys<br />

class). These are as follows in the sample file:<br />

AmiNET Configuration section(s)<br />

class “AmiNET mboot” ...<br />

class “AmiNET upgrd” ...<br />

class “AmiNET fisys” ...<br />

Use these classes exactly as they are shown in the sample file, and edit just the<br />

following options in the mboot and upgrd classes, to use a unique IP address<br />

for each class.<br />

option AMINO.address ;<br />

option AMINO.port ;<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 23


Setting up a basic Multicast upgrade system<br />

4. You will also see the following lines in the fisys classes in the file:<br />

option AMINO.middleware ;<br />

option AMINO.mw_port ;<br />

If you have Minerva middleware on the set-top box type, edit these lines with IP<br />

address and port values for the middleware server. For all other sections,<br />

comment out these lines by adding a # character to the start of each line.<br />

5. Make a note of the multicast IP addresses and ports you have specified for each<br />

set-top box type, as you will need to use the same values when you set up the<br />

Multicast server.<br />

6. Edit the subnet declaration with settings for your network. As a minimum, you<br />

will need to edit the following lines:<br />

subnet netmask {<br />

option routers ;<br />

options subnet-mask ;<br />

pool{<br />

range dynamic-bootp 192.168.1.50 192.168.1.100;<br />

range 192.168.1.101 192.168.1.200; <br />

}<br />

Note that in the pool declaration, range dynamic-bootp is the range for TFTPbooting<br />

set-top boxes; the other range (just range) is the range of IP addresses<br />

for multicast booting and upgrades.<br />

7. Make any further settings you require for your system. Note that from 0.13.0 you<br />

can add User Class options to the configuration file if required, and they will be<br />

passed to the set-top box in the DHCP response. Refer to your DHCP server’s<br />

documentation for general configuration information.<br />

8. Save your changes, then reboot the DHCP server with the following command:<br />

/etc/init.d/dhcpd restart<br />

The minimum DHCP server set-up for a Multicast system is now complete.<br />

2.5 Setting up the Multicast server<br />

The following instructions describe the minimum steps that you need to complete to set<br />

up a working Multicast server that provides software images for a single type of set-top<br />

box (for example, as part of a trial system).<br />

2.6 To set up the Multicast server<br />

The instructions that follow assume that you have already installed, configured and<br />

started your DHCP server, and that you have copied the files from your software release<br />

to the example locations.<br />

9. Open the Multicast server configuration file mcastbootd.conf in a text editor.<br />

This is normally located in the /etc directory.<br />

10. In the [Image bootstrap.signed] section, edit the following settings to specify<br />

the IP address and port for multicasting the bootstrap image.<br />

MulticastIPAddress<br />

MulticastUDPPort<br />

These must be the same values as specified in the DHCP server configuration<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 24


Setting up a basic Multicast upgrade system<br />

file’s mboot class.<br />

11. In the same section, check that the FileName setting lists the directory that you<br />

will be copying signed bootstrap images to and has the correct file name. If you<br />

have used the recommended settings, this is<br />

/usr/local/amino/images/bootstrap.signed.<br />

12. In the [Filesystem mc2] section, edit the following settings to specify the IP<br />

address and port for multicasting the bootstrap image.<br />

MulticastIPAddress<br />

MulticastUDPPort<br />

These must be the same values as specified in the DHCP server configuration<br />

file’s upgrd class.<br />

13. In the same section, check that the ImageName setting lists the directory that you<br />

will be copying signed software upgrade images to and has the correct name for<br />

the image. If you have used the recommended settings, this is<br />

/usr/local/amino/images.<br />

14. If you are setting up the Multicast server to transmit software for multiple set-top<br />

box types, you will need to add separate [Image ] and<br />

[Filesystem ] sections for each of the types of set-top box. The<br />

and must be unique, and must match the name of the<br />

bootstrap and upgrade images for that type of set-top box. (To set this up, you<br />

will also need to rename the software images you create, so that the image<br />

name for each type of set-top box is unique.) This is not necessary if you have<br />

only configured the DHCP server for a single type of set-top box.<br />

The Multicast server is now set up. You should now create software images and copy<br />

them to the directory specified in the configuration file before you start the Multicast<br />

server.<br />

2.7 Creating software images<br />

About software images<br />

The set-top box NAND flash holds two types of signed software image:<br />

Bootstrap image<br />

The bootstrap image contains the software needed to manage the download of a<br />

multicast upgrade image. It is a combined Linux kernel and RAM disk image with an RSA<br />

digital signature.<br />

A signed bootstrap image is generated as file called: bootstrap.signed.<br />

Upgrade image<br />

The upgrade image is a file that contains a complete software upgrade in the form of a<br />

file system image with an RSA digital signature.<br />

A signed upgrade image is normally generated as file called: mc2.mcfs.<br />

Making new software images available<br />

When the set-top box is first connected, it inspects its NAND flash, and if this contains no<br />

valid software, it connects to the Multicast server and downloads a software release: first<br />

the bootstrap image, and then the upgrade image.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 25


Setting up a basic Multicast upgrade system<br />

If you have not been supplied with signed software images, you will need to create and<br />

sign your own. To do this, you will need the bootstrap and/or upgradeimage directories<br />

of a software release, and the customer key and its pass phrase. Keys are normally<br />

provided as part of a software release, but you can also generate and use your own keys,<br />

as long as they are in the set-top box ROM.<br />

Bootstrap image: You should normally only need to sign and load a bootstrap image<br />

when the set-top box is supplied with a blank NAND flash (e.g. units shipped direct from<br />

manufacture). The bootstrap image is created from the bootstrap.unsigned file, using<br />

the signbootstrap script and the customer key.<br />

Upgrade image: Upgrade images need to be created whenever you need to upgrade settop<br />

boxes with a new software release. The upgrade image is created from the contents<br />

of the imagecomponents directory specified in the flashcontents file, using the<br />

signupgradeimage script and the customer key.<br />

The upgrade image can be downloaded automatically by a set-top box (controlled by<br />

deployment index mechanism) or you can initiate multicasting (or unicasting) the image<br />

manually from the DHCP server and Amino Multicast server, - e.g. using the<br />

STBremoteconf tool. If you have not been supplied with signed bootstrap and upgrade<br />

images, you need to create them yourself from the files supplied in the Amino software<br />

release.<br />

Creating a signed bootstrap image<br />

The following steps detail how to create a signed bootstrap image. This is generated as<br />

a file called bootstrap.signed.<br />

To create a signed bootstrap image<br />

The steps outlined here assume that you have set up a Multicast server and you have<br />

logged in as root. The Amino software release normally contains the engineering<br />

customer key that you will need for creating the bootstrap image. If you are using your<br />

own keys, then you will need to know the pass phrase for your key.<br />

Note: In the following steps, stands for the full path to the directory that<br />

contains your Amino software release. If you used example settings when you copied the<br />

files to your machine, this is: /usr/local/amino/releases/.<br />

1. Set the CUSTOMER_KEY environment variable by entering a command in the<br />

following format:<br />

export CUSTOMER_KEY=/utils/keys/amino/KEY.private<br />

2. Navigate to the bootstrap directory:<br />

cd /bootstrap<br />

3. Run the signbootstrap script by entering the following command:<br />

./signbootstrap<br />

You will be prompted to enter the pass phrase for the key. For the Amino<br />

engineering key, the pass phrase is markskey<br />

4. The script generates a bootstrap.signed file in the bootstrap directory. Copy<br />

this file to the images directory specified by the FileName setting in the [Image<br />

] section of the Multicast server configuration file<br />

(mcastbootd.conf).<br />

For example:<br />

cp bootstrap.signed /usr/local/amino/images<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 26


Setting up a basic Multicast upgrade system<br />

When the Multicast server is started, the new image will be multicast automatically and<br />

the set-top box will download it next time it needs to upgrade its software. If the Multicast<br />

server is already running, you will need to restart it in order for it to transmit the new<br />

image.<br />

Creating a signed upgrade image<br />

The following steps detail how to use the signupgradeimage script to create a signed<br />

software upgrade image. This is image is normally called mc2.mcfs.<br />

To create a signed upgrade image<br />

The steps outlined here assume that you have set up a Multicast system and you have<br />

logged in as root. The Amino software release contains the engineering customer key that<br />

you will need for creating the signed software upgrade image. If you are using your own<br />

keys, then you will need to know the pass phrase for your customer key.<br />

Note: In the following steps, stands for the directory that contains your Amino<br />

software release. If you used example settings when you copied the files to your machine,<br />

this is: /usr/local/amino/releases/.<br />

1. Configure the files that will form the release and add any extra files to the<br />

flashcontents file. If you are setting up a system to familiarise yourself with the<br />

components, then you don’t need to perform any configuration at this stage.<br />

2. Set the CUSTOMER_KEY environment variable by entering a command in the<br />

following format:<br />

export CUSTOMER_KEY=/utils/keys/amino/KEY.private<br />

3. Navigate to the upgradeimage directory:<br />

cd //upgradeimage<br />

4. Run the signupgradeimage script by entering a command in the following<br />

format:<br />

./signupgradeimage [-hvwz] [-s


Setting up a basic Multicast upgrade system<br />

Example command (recommended for a trial installation):<br />

./signupgradeimage -z 0<br />

You will be prompted to enter the pass phrase for the key. For the Amino<br />

engineering key, the pass phrase is markskey.<br />

5. The script generates an upgrade image in the current directory. It is normally<br />

called mc2.mcfs (or mc2.tgz if you ran the script with the -w argument). Copy<br />

this file to the images directory specified by the ImageName setting in the<br />

[Filesystem mc2] section of the Multicast server configuration file<br />

(mcastbootd.conf).<br />

For example:<br />

cp mc2.mcfs /usr/local/amino/images<br />

If you have multiple [Filesystem ] sections in the Multicast server<br />

configuration file, you will need to change the name of the file to the <br />

for the appropriate section, and then copy the file, as above.<br />

When the Multicast server is started, the new image will be multicast automatically and<br />

the set-top box will download it next time it needs to upgrade its software. Alternatively,<br />

you can force the set-top box to upgrade to a specified version. If the Multicast server is<br />

already running, you will need to restart it in order for it to transmit the new image.<br />

2.8 Starting the Multicast server<br />

These instructions assume you have set up and configured the DHCP server and<br />

Multicast server, and copied signed bootstrap and software upgrade images to the<br />

location specified in the Multicast server configuration file.<br />

To start the Multicast server<br />

1. Navigate to the directory in which software images are located.<br />

For example:<br />

cd /usr/local/amino/images<br />

2. Enter the following command:<br />

mcastbootd -D<br />

The Multicast server starts in debug mode, and details of its operation are<br />

echoed to the console. This is useful to monitor its operation in a trial<br />

installation. (Run the command without -D to start the Multicast server in normal<br />

mode.)<br />

The Multicast server continuously transmits the software images as a carousel, and when<br />

a set-top box needs to install a bootstrap or upgrade image, it joins the carousel and<br />

retrieves and installs the files it needs.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 28


3 Setting up an advanced Multicast<br />

upgrade system<br />

The instructions in Setting up a basic Multicast upgrade system detail how to set up a<br />

simple Multicast upgrade system that enables you to familiarise yourself with the<br />

available functionality using a single type of set-top box. The sections in this chapter<br />

provide additional recommendations on how to expand this simple implementation to<br />

handle multiple types of set-top box and to automate some of the steps.<br />

See also:<br />

<br />

<br />

for information about further configuration options for set-top boxes, see<br />

Configuring set-top boxes on page 43<br />

for information about how to control software upgrades, see Upgrading set-top<br />

box software on page 41<br />

3.1 Configuring the Multicast system for multiple set-top box types<br />

The sample configuration file supplied with a software release only contains sections to<br />

define a single bootstrap and upgrade image to transmit. In many deployments, it is likely<br />

that there will be more than one type of set-top box installed, each needing different<br />

software images. To implement this, you need to change the DHCP server and Multicast<br />

server configuration, and ensure that software images for different set-top box types are<br />

uniquely identifiable (either give them different names or store them in separate<br />

directories).<br />

To configure the DHCP server for multiple set-top box types<br />

The sample configuration file supplied with a software release includes examples of these<br />

classes for all the set-top box types. You can copy these sections into your configuration<br />

file for the set-top box types you want to support or add the classes yourself.<br />

The steps that follow assume you already have a DHCP server configuration file that<br />

contains configuration for a single type of set-top box.<br />

1. Navigate to the /etc directory, and open the following file in a text editor:<br />

dhcpd.conf<br />

2. For each set-top box type that you want to support, add an mcast, upgrd and<br />

fisys class. (See example after step 3.) Note that the name of the set-top box<br />

type that the class matches must be the same as is sent by the set-top box when<br />

it sends its DHCP request.<br />

3. Add Amino vendor options to each class, as required. As a minimum, you will<br />

normally need AMINO address and AMINO port in the mcast and upgrd<br />

classes; if you are setting up automatic upgrade with the deployment index<br />

mechanism, you will also need the following settings in the fisys class: AMINO<br />

address, AMINO port, AMINO dindex_min .<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 29


Setting up an advanced Multicast upgrade system<br />

Example of completed classes for the AmiNET 110:<br />

class "AmiNET110 mboot"<br />

{<br />

match if (option vendor-classidentifier="aminoAMINET11xmboot1.31")<br />

or ((substring(option vendor-encapsulated-options, 2,<br />

9)="AMINET11x")<br />

and (substring(option vendor-encapsulated-options, 13,<br />

5)="mboot"));<br />

}<br />

vendor-option-space AMINO;<br />

option AMINO.address 225.50.50.52;<br />

option AMINO.port 11111;<br />

class "AmiNET110 upgrd"<br />

{ match if (option vendor-classidentifier="Aminoaminet110upgrd")<br />

or ((substring( option vendor-encapsulatedoptions,2,9)="aminet110")<br />

and (substring( option vendor-encapsulatedoptions,13,5)="upgrd"));<br />

}<br />

vendor-option-space AMINO;<br />

option AMINO.address 225.50.50.53;<br />

option AMINO.port 11111;<br />

class "AmiNET110 fisys"<br />

{ match if (option vendor-classidentifier="Aminoaminet110fisys")<br />

or ((substring( option vendor-encapsulated-options, 2,<br />

9)="aminet110")<br />

and (substring(option vendor-encapsulated-options, 13,<br />

5)="fisys"));<br />

vendor-option-space AMINO;<br />

}<br />

4. When you have added all three classes for each set-top box type that you are<br />

supporting, save your changes then reboot the DHCP server with the following<br />

command:<br />

/etc/init.d/dhcpd restart<br />

For full configuration file examples, see Configuration example: DHCP server and<br />

Multicast server for multiple types of set-top box on page 102, which shows a DHCP server<br />

server configuration file for several types of set-top box. The example also includes a<br />

table that shows the settings that need to correspond in the Multicast server and DHCP<br />

server configuration files.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 30


Setting up an advanced Multicast upgrade system<br />

To configure the Multicast server for multiple set-top box types<br />

The sample Multicast server configuration file supplied with a software release defines<br />

one bootstrap and upgrade image.<br />

The steps that follow assume you have already set up the Multicast server as detailed in<br />

Setting up a basic Multicast upgrade system on page 20, and the configuration files<br />

contains settings for a single set-top box, with the specified software images stored in the<br />

specified directories.<br />

1. Navigate to the /etc directory, and open the following file in a text editor:<br />

mcastbootd.conf<br />

2. Add the Image and Filesystem sections for each type of set-top box. Note that<br />

each section must be named uniquely. The software images for each set-top<br />

box type must be unique (they can either be stored in separate directories or<br />

named uniquely by renaming the image files you have created).<br />

Example Image sections (contains two Image sections that specify bootstrap<br />

images for two platforms; note that the images are named uniquely -<br />

bootstrap.110 and bootstrap.130):<br />

[Image bootstrap.110]<br />

MulticastIPAddress=239.255.230.52<br />

MulticastUDPPort=11111<br />

FileName=bootstrap.110<br />

Description=Linux bootstrap image<br />

ImageType=1<br />

SerialNumber=1<br />

PacketSize=1456<br />

CycleTime=0<br />

[Image bootstrap.130]<br />

MulticastIPAddress=239.255.230.90<br />

MulticastUDPPort=11111<br />

FileName=bootstrap.130<br />

Description=Linux bootstrap image<br />

ImageType=1<br />

SerialNumber=1<br />

PacketSize=1456<br />

CycleTime=0<br />

See To use symbolic links to reduce Multicast server configuration when you add<br />

new images on page 33 for details of how to set up an image directory structure<br />

that identifies current images directly without the need to keep updating the<br />

Multicast server’s configuration.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 31


Setting up an advanced Multicast upgrade system<br />

Example Filesystem sections (for transmitting software upgrade images for<br />

the same platforms as in the Image section examples above; again the upgrade<br />

images are named uniquely - mc110 and mc130):<br />

[Filesystem mc110]<br />

MulticastIPAddress=239.255.230.53<br />

MulticastUDPPort=11111<br />

ImageName=mc110<br />

Description=upgrade filesystem<br />

SerialNumber=8<br />

DirsPerCycle=128<br />

DataRate=256<br />

[Filesystem mc130]<br />

MulticastIPAddress=239.255.230.91<br />

MulticastUDPPort=11111<br />

ImageName=mc130<br />

Description=upgrade filesystem<br />

SerialNumber=5<br />

DirsPerCycle=128<br />

DataRate=256<br />

Important: The Multicast server configuration file must contain a Filesystem<br />

section called mc2. If this section is removed, the signupgradeimage script can’t<br />

create new software upgrade images successfully. If you want to name sections<br />

appropriately for each set-top box type, then you should leave this section in the<br />

file as a dummy section, and add new sections for each of the set-top box types<br />

that you want to support. If there is no software upgrade image at the location<br />

specified in this dummy section, the Multicast server will generate errors on<br />

start-up, but will still run.<br />

Example [Filesystem mc2] section (this can be a dummy section, as described<br />

above):<br />

[Filesystem mc2]<br />

MulticastIPAddress=239.255.230.100<br />

MulticastUDPPort=11111<br />

ImageName=mc2<br />

Description=upgrade filesystem<br />

SerialNumber=73<br />

DirsPerCycle=128<br />

DataRate=256<br />

For full configuration file examples, see Configuration example: DHCP server and<br />

Multicast server for multiple types of set-top box on page 102, which shows a Multicast<br />

server configuration file that transmits images for several types of set-top box. The<br />

example also includes a table that shows the settings that need to correspond in the<br />

Multicast server and DHCP server files.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 32


Setting up an advanced Multicast upgrade system<br />

To use symbolic links to reduce Multicast server configuration when you add new images<br />

If you are implementing a system in which you will be updating the software image that a<br />

set-top box needs to download (e.g. to provide images that use new software versions),<br />

it can be useful to put in place an image directory structure that uses symbolic links, so<br />

that you don’t need to edit the Multicast server configuration file for every new software<br />

image. The following instructions outline how to put this in place.<br />

The steps that follow assume you have already set up the Multicast server as detailed in<br />

Setting up a basic Multicast upgrade system on page 20.<br />

1. Create a directory structure with a separate directory for each type of set-top<br />

box that you are supporting, each with a subdirectory for the current version.<br />

For example, if you’re supporting the AmiNET110 and AmiNET500, and you are<br />

currently using software version 0.13.0 for both, create the following directories:<br />

/A110/0.13.0<br />

/A500/0.13.0<br />

2. Create the bootstrap and upgrade images for each software version, and copy<br />

them into the appropriate directories. Note that there is no need for the images<br />

for each set-top box type to have different names from each other, as they are<br />

already uniquely identified by their directory location. The configuration<br />

example below assumes both bootstrap images are called bootstrap.signed,<br />

and both upgrade images are called mc2.<br />

3. Create symbolic links called current for each of these directories.<br />

Example:<br />

ln -s /A110/0.13.0 /A110/current<br />

ln -s /A500/0.13.0 /A500/current<br />

4. Edit the Multicast server configuration file to include sections for each image,<br />

using the same Multicast IP addresses and ports as specified in the DHCP<br />

server configuration. Instead of giving the image location directory by version<br />

number, use the current symbolic links that you just created. Note that you’ll<br />

also need to keep the original mc2 section with dummy settings.<br />

Example configuration file:<br />

# Configuration file: Tue Sep 19 10:25:51 2006<br />

[Server]<br />

LogLevel=4<br />

MulticastTTL=5<br />

ImageDir=/usr/local/amino/images<br />

[Image A110Bootstrap]<br />

MulticastIPAddress=225.50.50.50<br />

MulticastUDPPort=11111<br />

FileName=110/current/bootstrap.signed<br />

Description=Linux bootstrap image<br />

ImageType=1<br />

SerialNumber=1<br />

PacketSize=1456<br />

CycleTime=0<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 33


Setting up an advanced Multicast upgrade system<br />

[Image A500Bootstrap]<br />

MulticastIPAddress=225.50.50.52<br />

MulticastUDPPort=11111<br />

FileName=A500/current/bootstrap.signed<br />

Description=Linux bootstrap image<br />

ImageType=1<br />

SerialNumber=1<br />

PacketSize=1456<br />

CycleTime=0<br />

[Filesystem mc2]<br />

MulticastIPAddress=225.50.50.45<br />

MulticastUDPPort=11111<br />

ImageName=mc2<br />

Description=DUMMY upgrade filesystem<br />

SerialNumber=149<br />

DirsPerCycle=128<br />

DataRate=512<br />

[Filesystem A110Upgrade]<br />

MulticastIPAddress=225.50.50.51<br />

MulticastUDPPort=11111<br />

ImageName=A110/current/mc2<br />

Description=upgrade filesystem<br />

SerialNumber=6<br />

DirsPerCycle=128<br />

DataRate=512<br />

[Filesystem A500Upgrade]<br />

MulticastIPAddress=225.50.50.53<br />

MulticastUDPPort=11111<br />

ImageName=A500/current/mc2<br />

Description=upgrade filesystem<br />

SerialNumber=6<br />

DirsPerCycle=128<br />

DataRate=512<br />

5. Save your changes and restart the Multicast server.<br />

Next time you need to add a new software image for the platforms you’ve set up:<br />

6. Create a subdirectory with the new version number.<br />

For example, if you’re adding images for version 0.13.8, for the AmiNET110,<br />

create the following directory:<br />

/A110/0.13.8<br />

7. Change the current symbolic link to this new directory instead of the 0.13.0<br />

one:<br />

ln -s /A110/0.13.8 /bootstrap/A110/current<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 34


Setting up an advanced Multicast upgrade system<br />

8. The Multicast server configuration sections already point to the current<br />

directory, so all you need to do to start transmitting the new images is restart the<br />

Multicast server.<br />

3.2 Using deployment indexes for automatic upgrade<br />

In normal operation, the set-top box downloads new software from the Multicast server<br />

when there is a problem with its current software or when an upgrade command instructs<br />

it to (e.g. from STBremoteconf, the Management pages or a JMACX call). Using the<br />

deployment index, it is also possible to configure the Multicast upgrade system to force<br />

set-top boxes to upgrade to a particular software version (as identified by the software’s<br />

deployment index).<br />

How it works<br />

The set-top box stores the deployment index of its current software version in the NOR<br />

flash.<br />

A new deployment index is specified when a new signed software upgrade image is<br />

created (with the signupgradeimage script). The deployment index is an integer between<br />

0 and 65535.<br />

When the set-top box receives the new software version, it checks the deployment index<br />

against the number in its NOR flash, and accepts the software upgrade if the new number<br />

is the same or greater, and changes the deployment index in its NOR flash accordingly.<br />

Otherwise it rejects it.<br />

For trial versions and for early stages of a project, we recommend you use a deployment<br />

index of 0 all the time. This means that you don’t need to specify the deployment index<br />

when you create a new upgrade image. Once the deployment is live, the service provider<br />

should increase the deployment index by 1 when asked to produce a new version by the<br />

software provider (e.g. the CA or middleware vendor).<br />

Deployment indexes and software versioning<br />

The deployment index mechanism is completely separate from software version<br />

numbers. This means that if necessary a service provider can downgrade from a current<br />

software version to an older one, as long as they create a software upgrade image with<br />

a higher deployment index than the current software version has.<br />

Migrating from pre-DI to DI-capable software<br />

All set-top boxes are manufactured with an initial deployment index of 0 in their NOR<br />

flash. All you need to do to start using the deployment index mechanism in a system that<br />

currently doesn’t implement this control, is to increase the deployment index to 1 in the<br />

next software upgrade image that you create.<br />

Setting up automatic upgrade to minimum deployment index<br />

The deployment index mechanism can be used to force set-top boxes to upgrade to a<br />

specified minimum deployment index, using Amino DHCP vendor extensions. The<br />

minimum index number is added to the DHCP configuration. When the set-top box boots<br />

up and contacts the DHCP server, the DHCP server includes this deployment index in its<br />

response, along with the multicast upgrade address and port for the upgrade image. The<br />

set-top box checks this index against the deployment index in its NOR flash, and<br />

upgrades immediately if its index is lower than the specified value.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 35


Setting up an advanced Multicast upgrade system<br />

To implement automatic upgrading<br />

Automatic upgrading to a specified minimum deployment index is set up in the DHCP<br />

server. The following steps outline how to implement this system.<br />

Note: The following steps assume you have already set up a Multicast upgrade system<br />

and the software image is in the location specified in the Multicast server’s configuration.<br />

1. Open the DHCP server configuration file (dhcpd.conf).<br />

2. Find the Amino options (under option space AMINO;) and ensure that the<br />

following line is included (add it if it is not there already):<br />

option AMINO.dindex_min code 10=integer 32;<br />

3. Find the fisys class for the set-top box type that you want to force to upgrade,<br />

and under vendor-option-space AMINO; add a line in the following format:<br />

option AMINO.dindex_min ;<br />

For example, if you want set-top boxes to be running software with the minimum<br />

deployment index of 5, the line should be as follows:<br />

option AMINO.dindex_min 5;<br />

4. Also ensure that the following lines are present, and specify the correct<br />

multicast IP address and port:<br />

option AMINO.address ;<br />

option AMINO.port ;<br />

The fisys class you are editing should now look similar to the following:<br />

class “110 normal”<br />

{<br />

match if (substring( option vendor-encapsulated-options, 2,<br />

9)=”aminet110”) and (substring( option vendorencapsulated-options,<br />

13, 5)=”fisys”);<br />

vendor-option-space AMINO;<br />

option AMINO.dindex_min 5;<br />

option AMINO.address 123.4.5.67;<br />

option AMINO.port 11111;<br />

}<br />

5. Save your changes and restart the DHCP server. Also ensure the Multicast<br />

server is running.<br />

The system is now set up. Next time a set-top box of the configured type boots, it will<br />

compare its current deployment index with the one you specified, and will upgrade to the<br />

specified software image if its current deployment index is lower than the one in the DHCP<br />

server configuration.<br />

To test automatic upgrading<br />

Once you have implemented automatic upgrading using a specified minimum deployment<br />

index to force upgrades, you can test the system. The following steps assume that Telnet<br />

(or other remote log-in client) is enabled in the set-top box.<br />

1. Check the deployment index number of set-top box you’re going to test with.<br />

You can do this from the command line by Telnetting to the set-top box and<br />

entering the following command (the current number must be lower than the one<br />

you want to upgrade to):<br />

libconfig-get NORFLASH.DI<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 36


Setting up an advanced Multicast upgrade system<br />

2. Power up (or reboot) the set-top box.<br />

The loading screen is displayed (the default image has Loading followed by<br />

Upgrading, do not unplug!<br />

3. When the upgrade is finished, you can check that the set-top box is now running<br />

the new software version and you can check the deployment index, as in step<br />

1 (it should now have the deployment index specified in the DHCP server<br />

configuration file).<br />

See also:<br />

Using libconfig on page 75<br />

Enabling remote log-in tools on page 52<br />

3.3 Setting set-top boxes with static network and multicast upgrade<br />

settings<br />

Some DHCP servers don’t support the addition of the vendor extensions that this<br />

Multicast upgrade system uses to tell set-top boxes the IP address and port to use for<br />

booting and retrieving software images (e.g. AMINO.address and AMINO.port). In these<br />

cases, the DHCP server can be used just to assign an IP address to the set-top box, and<br />

you can configure the addresses and ports to use for software upgrades as static values<br />

in the set-top box’s configuration.<br />

In other installations, it may be useful to set all network settings statically, rather than<br />

retrieving them from the DHCP server.<br />

In both cases, the static values are normally defined in the NOR flash, which you can edit<br />

in the following ways:<br />

libconfig commands in upgrade script (recommended method)<br />

libconfig commands via remote log-in tool (e.g. Telnet)<br />

via the Management pages (Network Configuration page)<br />

JMACX calls in HTML page (not generally recommended, for security reasons)<br />

In some cases, the settings may be defined in the netconf file. See the Set-Top Box<br />

Configuration Guide for more information.<br />

The recommended way to set static multicast upgrade and network values for multiple<br />

set-top boxes is to add libconfig commands to the upgrade script that is included as part<br />

of a software image. The script executes automatically when the new software image is<br />

loaded to the set-top box, and is then deleted.<br />

Network and multicast upgrade configuration settings<br />

To set static network and multicast upgrade settings, you need to edit settings in the NOR<br />

flash. These settings can be accessed via various configuration tools (e.g. libconfig<br />

commands in an upgrade.sh script or over Telnet, JMACX calls, Management pages).<br />

For more information on these settings, see Set-Top Box Configuration Guide. For<br />

details of how to use the tools available to change settings, see the JMACX API<br />

Specification and Set-Top Box Configuration Pages Administrator Guide.<br />

The NOR flash settings that configure static network and multicast upgrade values are<br />

listed in the following sections.<br />

Note: In some cases, these settings may be defined in the netconf file. See the Set-Top<br />

Box Management Configuration Guide for more information.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 37


Setting up an advanced Multicast upgrade system<br />

To configure whether the set-top box uses static network values by default:<br />

DHCP<br />

Set this to “N” (i.e. disable), to configure set-top boxes to always use static network<br />

values.<br />

To set static multicast upgrade values:<br />

MULTICAST_BOOTSTRAP_GROUP<br />

MULTICAST_BOOTSTRAP_PORT<br />

MULTICAST_UPGRADE_GROUP<br />

MULTICAST_UPGRADE_PORT<br />

MULTICAST_FILESYSTEM_GROUP<br />

MULTICAST_FILESYSTEM_PORT<br />

Note: The bootstrap, upgrade and filesystem groups must be set with a valid multicast<br />

addresses in order for multicast upgrades to work. From version 0.14.4, if an address is<br />

invalid, the set-top box tries to retrieve an IP address via DHCP; if this is not successful<br />

- or if the address that the set-top box retrieves via DHCP is also invalid - the set-top box<br />

reboots.<br />

To set a static IP address:<br />

IPADDR<br />

Other network settings:<br />

NETMASK<br />

GATEWAY<br />

DNS<br />

TIME_SERVER<br />

Required vs. optional settings<br />

The list of values that must be defined statically depends on what functionality your DHCP<br />

server supports. The following guidelines apply:<br />

<br />

<br />

Required multicast upgrade settings: If the DHCP server is being used to<br />

provide network settings, but not the multicast upgrade settings (i.e. the DHCP<br />

server doesn’t support the Amino vendor extensions), the bootstrap and<br />

upgrade settings are required. The filesystem settings are normally optional,<br />

although this will depend on the functionality you want to enable in the system.<br />

Required network settings: If the DHCP server is not being used to provide<br />

network settings, then most of the values listed are required; only DNS and<br />

TIME_SERVER are optional.<br />

Example upgrade.sh script to set static multicast upgrade values<br />

The recommended way to set static network and multicast upgrade values for multiple<br />

set-top boxes is to add libconfig commands to the upgrade script that is added to the<br />

image components used to create a software upgrade image. When the new upgrade<br />

image is loaded to the set-top box, the script executes automatically, and is then deleted.<br />

Important: The software image containing this upgrade script must be installed on the<br />

set-top boxes before they are installed on a network that requires the static settings. This<br />

is because the set-top box requires these network settings in order to retrieve the new<br />

software image.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 38


Setting up an advanced Multicast upgrade system<br />

The following script uses libconfig commands to set values for some of the multicast<br />

upgrade settings (bootstrap and upgrade ports and IP addresses) in the NOR flash:<br />

#!/bin/sh<br />

libconfig-set NOFLASH.MULTICAST_BOOTSTRAP_GROUP 239.255.1.1<br />

libconfig-set NORFLASH.MULTICAST_BOOTSTRAP_PORT 11111<br />

libconfig-set NOFLASH.MULTICAST_UPGRADE_GROUP 239.255.1.2<br />

libconfig-set NORFLASH.MULTICAST_UPGRADE_PORT 11111<br />

For more information on the libconfig-set command, the NOR flash settings and upgrade<br />

script, see the Set-Top Box Configuration Guide.<br />

See also:<br />

Using libconfig on page 75<br />

Creating an upgrade script on page 52<br />

Set-top box configuration settings on page 79<br />

3.4 Automating Multicast server start-up<br />

By default, the Multicast server doesn’t start when you start the server it is installed on.<br />

You can enable automatic start-up by creating an mcastbootd script in /etc/init.d, and<br />

running the following command to start the service:chkconfig mcastbootd on. The<br />

Multicast server will be started automatically on the next reboot.<br />

The following example start script works with Redhat Linux.<br />

#!/bin/bash<br />

#<br />

# chkconfig: 2345 55 25<br />

# description: Amino Multicast Daemon<br />

# processname: mcastbootd<br />

# config: /etc/mcastbootd.conf<br />

# Source function library.<br />

[ -f /etc/rc.d/init.d/functions ] || exit 0<br />

. /etc/rc.d/init.d/functions<br />

# getting the Mcastbootd options<br />

. /etc/sysconfig/mcastbootd<br />

RETVAL=0<br />

start() {<br />

echo -n $"Starting Mcastbootd server services: "<br />

mcastbootd $MCASTBOOTD_ARGS<br />

RETVAL=$?<br />

echo<br />

[ $RETVAL -eq 0 ] && touch /var/lock/subsys/mcastbootd<br />

return $RETVAL<br />

}<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 39


Setting up an advanced Multicast upgrade system<br />

stop() {<br />

echo -n $"Stopping Mcastbootd server services: "<br />

killproc mcastbootd<br />

RETVAL=$?<br />

[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/mcastbootd echo<br />

return $RETVAL<br />

}<br />

# See how we were called.<br />

case "$1" in<br />

start)<br />

start ;;<br />

stop)<br />

stop ;;<br />

status)<br />

status mcastbootd ;;<br />

restart|reload)<br />

stop start ;;<br />

condrestart)<br />

if [ -f /var/lock/subsys/mcastbootd ]; then<br />

stop<br />

start<br />

fi<br />

;;<br />

*)<br />

echo $"Usage: $0<br />

{start|stop|status|restart|reload|condrestart}"<br />

exit 1<br />

esac<br />

exit $RETVAL<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 40


4 Upgrading set-top box software<br />

4.1 Upgrade options<br />

The Amino Multicast upgrade system offers various means of instructing set-top boxes to<br />

replace their software images:<br />

<br />

<br />

STBremoteconf - remote configuration tool that enables you to send<br />

commands such as changing basic configuration settings or initiating software<br />

upgrade.<br />

Management pages - local configuration pages, using an Amino IR keyboard<br />

and television display to change configuration settings and simple commands<br />

such as rebooting and initiating software upgrades.<br />

DHCP server configuration - DHCP server configuration specifies where settop<br />

boxes “go” to retrieve software images transmitted by the Multicast server;<br />

it can also be configured to force upgrades by specifying minimum deployment<br />

index numbers for software versions that the set-top box must be running.<br />

DHCP server and Multicast server together also enable the set-top box to<br />

connect and retrieve new software images when required (e.g. if the software<br />

on the set-top box is corrupted).<br />

In addition to these means, the JMACX API offers functions for controlling a range of settop<br />

box operational areas, including software upgrades. See the JMACX API<br />

Specification for more information.<br />

As detailed in the table below, the various upgrade mechanisms are each suited to<br />

particular circumstances and contexts. For example, making images available by defining<br />

upgrade groups and ports in the DHCP server configuration enables automatic upgrades<br />

when the set-top box requires them, but STBremoteconf can be used to force an upgrade<br />

at a required time.<br />

Note: In the table, “reflash” refers to deleting all the contents of the NAND flash and<br />

replacing both the bootstrap and the main software image, “upgrade” refers to replacing<br />

just the main software image.<br />

STBremoteconf<br />

Management<br />

pages<br />

Contexts<br />

remote y y<br />

local<br />

y<br />

single STB y y<br />

large deployment<br />

y (not<br />

recommended:<br />

requires all STBs<br />

to be powered)<br />

y<br />

test set-up y y<br />

automatic<br />

manual y y<br />

DHCP server<br />

config.<br />

y<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 41


Upgrading set-top box software<br />

STBremoteconf<br />

Management<br />

pages<br />

DHCP server<br />

config.<br />

Operations<br />

upgrade y y y<br />

reflash y y<br />

upgrade to min. DI number<br />

(min. version 0.12.0 on<br />

A110/A500 platforms)<br />

y<br />

upgrade to min. version<br />

number<br />

.<br />

y<br />

4.2 Using STBremoteconf to upgrade software<br />

The UPGRADEMCAST and UPGRADEMCAST_VER commands enable you to instruct a set-top<br />

box to upgrade. See Using STBremoteconf on page 56 for details.<br />

4.3 Using the Management pages to upgrade software<br />

You can instruct a set-top box to upgrade or reflash from the Update Software<br />

Management page. See Using the HTML Configuration pages on page 69 for details.<br />

4.4 Configuring the DHCP server for multicast upgrades<br />

The DHCP server and Multicast server enable the set-top box to retrieve software<br />

upgrades when it needs them. You can also configure the DHCP server so that the settop<br />

box automatically upgrades to a specific software version, even if its current software<br />

is running normally. See Setting up a basic Multicast upgrade system on page 20 and<br />

Setting up automatic upgrade to minimum deployment index on page 35 for details of how<br />

to enable automatic upgrades.<br />

4.5 Using JMACX to upgrade software<br />

You can call the following JMACX function to instruct a set-top box to upgrade or reflash:<br />

ASTB.Upgrade<br />

See the JMACX API Specification for details.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 42


5 Configuring set-top boxes<br />

5.1 Configuration options<br />

Amino set-top box management offers various means of editing/reading configuration<br />

and controlling basic set-top box operation (e.g. initiate software upgrade or reboot):<br />

<br />

<br />

<br />

STBremoteconf - remote configuration tool that enables you to commands<br />

such as changing basic configuration settings or initiating software upgrade.<br />

Configuration pages - local configuration pages, using an Amino IR keyboard<br />

and television display to change configuration settings and simple commands<br />

such as rebooting and initiating software upgrades. This includes both the<br />

Management pages and the User Preferences pages.<br />

image components - set of files that a software upgrade image is built from;<br />

these include configuration files and graphics files (e.g. used in the display to<br />

show that the set-top box is loading new software). In the table below, changing<br />

image components means editing the contents of the image components<br />

directory before creating and signing a new upgrade image.<br />

Telnet/SSH/Dropbear - remote log-in tools enable you to interact with set-top<br />

box configuration remotely, using libconfig commands; note that these are<br />

usually disabled during manufacture to improve security, so they will need to be<br />

added to the software image installed on the set-top box if you want to use them.<br />

In addition to these means, the JMACX API offers a full set of functions for controlling a<br />

range of set-top box operational areas via Javascript embedded in web pages. See the<br />

JMACX documentation for more information.<br />

As detailed in the table below, the various configuration mechanisms are each suited to<br />

particular circumstances and contexts. For example, the Configuration pages offer local<br />

configuration, while STBremoteconf enables remote configuration; editing image<br />

component files before the software is upgraded enables the same configuration to be set<br />

on multiple set-top boxes, whereas changes via Telnet can only apply to a single set-top<br />

box.<br />

STBremote<br />

conf<br />

Config.<br />

pages<br />

image<br />

components<br />

Contexts<br />

before software loaded<br />

y<br />

after software loaded y y y<br />

remote y y y<br />

local<br />

y<br />

Telnet/SSH/<br />

Dropbear +<br />

libconfig<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 43


Configuring set-top boxes<br />

single STB y y y (not generally<br />

recommended:<br />

unless<br />

performing<br />

operation that<br />

can’t be done in<br />

another way -<br />

e.g. adding a<br />

client program)<br />

large deployment<br />

STBremote<br />

conf<br />

y (not<br />

recommended:<br />

settings only<br />

received if STB<br />

is powered)<br />

Config.<br />

pages<br />

image<br />

components<br />

test settings y y y<br />

y<br />

Telnet/SSH/<br />

Dropbear +<br />

libconfig<br />

y<br />

Operations<br />

read configuration y y y y<br />

write configuration y y y y<br />

reboot y y<br />

upgrade software (see<br />

upgrading comparison<br />

table)<br />

y<br />

y<br />

reflash (see upgrading<br />

comparison table)<br />

y<br />

y<br />

Configuration areas<br />

general STB settings<br />

(e.g. language, volume<br />

ranges, keyboard<br />

settings)<br />

y y y<br />

channels list y y y<br />

network configuration y y y<br />

IR remote key functions<br />

y<br />

NOR flash settings y y y y<br />

browser configuration<br />

y<br />

graphics displayed<br />

during loading<br />

y<br />

include additional files<br />

(e.g. to enable Telnet)<br />

pre-OTP STBs<br />

only<br />

See also:<br />

Using STBremoteconf on page 56<br />

Using the HTML Configuration pages on page 69<br />

Using libconfig on page 75 (for information on using Telnet/SSH/Dropbear)<br />

y<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 44


Configuring set-top boxes<br />

<br />

<br />

<br />

Customising a software upgrade image on page 50 (for information on how to<br />

configure a set-top box by editing the image components)<br />

Enabling remote log-in tools on page 52 (for information on how to enable<br />

Telnet/SSH/Dropbear)<br />

Set-top box configuration settings on page 79 (for a list of the main configuration<br />

settings and their allowed values)<br />

5.2 Configuration areas<br />

Configuration that persists through set-top box reboots is generally stored in configuration<br />

files that can be read or edited either directly or via the administration tools; the exception<br />

is the NOR flash, which can only be configured via the administration tools.<br />

settings file<br />

The settings file contains various set-top box settings, such as languages, volume<br />

ranges and keyboard configuration.<br />

netconf file<br />

The netconf file contains network configuration settings. In some cases, the set-top box<br />

reads these settings from the NOR flash instead of from this file.<br />

HOSTNAME file<br />

The HOSTNAME file contains just a single setting, that specifies the name of the set-top box.<br />

usersettings file<br />

The usersettings file contains settings that the set-top box user controls (i.e. through<br />

the Preferences pages). These override the values specified for the same settings in the<br />

settings file.<br />

NOR flash configuration<br />

The NOR flash contains settings required by the ROM. In some cases, this can include<br />

static network settings (these would otherwise be set in the netconf file).<br />

fkeys.conf file<br />

The fkeys.conf file sets the default actions associated with the buttons on the IR remote<br />

control. This file should not normally be edited directly (use JMACX functions instead).<br />

chnls.txt file<br />

The chnls.txt file contains a list of channel numbers and the media stream URL for the<br />

channel.<br />

trsdmns.txt file<br />

The trsdmns.txt file defines trusted domains and specfies whether Javascript and<br />

Macrovision are enabled for each.<br />

config.txt and opera.ini files<br />

Software releases will normally include the configuration file for the browser. For Fresco,<br />

this is called config.txt; for Opera it is opera.ini. In some builds, the set-top box reads<br />

some of its settings from these files.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 45


Configuring set-top boxes<br />

DHCPC settings<br />

The dynamic network and multicast upgrade settings retrieved from the DHCP server are<br />

stored in a file called dhcpcd-eth0.info. These values are only set if the set-top box uses<br />

dynamic network and Multicast upgrade settings; otherwise, the static values are defined<br />

in the NOR flash or the netconf file. The DHCPC values are read-only.<br />

5.3 Configuring a large deployment<br />

It is possible to configure software before deploying it to a large number of set-top boxes.<br />

The following steps describe recommendations on how this can be done for both the<br />

initial set-top box configuration and for future upgrade images.<br />

Prerequisites<br />

The configuration procedure outlined here assumes you already have a set-top box with<br />

a valid software image installed. This must include one of the remote log-in tools<br />

(Telnet/SSH/Dropbear).<br />

Steps<br />

1. Configure the software on the box (e.g. via the Management pages), and test<br />

the configuration to ensure the set-top box now operates as intended.<br />

2. When you are happy with the configuration, use the remote log-in tool to<br />

connect to the set-top box.<br />

3. Copy the contents of the files that have been modified. The configuration files<br />

are in /mnt/nv, and you will need to copy them to the<br />

/upgradeimage/imagecomponents directory on your PC. If you’re<br />

not sure which files have been modified, then copy all the contents of the<br />

directory.<br />

4. If you’ve added any new files that need to be included in the upgrade image,<br />

add them to the flashcontents file in the /upgradeimage/<br />

directory.<br />

5. Create a new signed upgrade image (and add it to the directory specified in the<br />

Multicast server’s configuration file). Ensure that the new image has an<br />

incremented deployment index, if you are using deployment indexes to control<br />

software versions installed on the set-top box (not recommended for a trial<br />

system).<br />

6. Upgrade the software on a single set-top box with this new upgrade image (e.g.<br />

by using STBremoteconf).<br />

7. Check that the new software loads and works as expected. If changes need to<br />

be made, repeat steps 1 - 6 until the configuration is correct.<br />

8. Instruct all set-top boxes on your network to upgrade to this new image. (e.g.<br />

use deployment index mechanism to force automatic upgrade).<br />

See also:<br />

Configuring image components on page 50<br />

Editing the flashcontents file on page 51<br />

Setting up an advanced Multicast upgrade system on page 29<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 46


Configuring set-top boxes<br />

5.4 Pairing an IR remote control with a set-top box<br />

You can program an Amino IR remote control so that it can only control a set-top box that<br />

is configured to respond to it.<br />

How it works<br />

The Amino IR remote control prefixes a number to each set-top box command. This<br />

number is set to 0 by default, but you can program it to be another number in the range<br />

1 - 15.<br />

All AmiNET set-top boxes respond to commands prefixed with 0 but you can configure<br />

them to respond to commands prefixed with another number as well.<br />

For example, a remote control is set to prefix commands with 3, and a set-top box is<br />

configured to respond to commands prefixed with 3.<br />

<br />

<br />

The remote control can only control set-top boxes that expect 3 as a command<br />

prefix.<br />

The set-top box will respond to commands prefixed with 3 and also continues to<br />

respond to commands prefixed with 0 (so that all set-top boxes respond to the<br />

default Amino remote control.<br />

To pair a remote control with a set-top box<br />

The following steps use the HTML Configuration pages to set the IR brand code. See the<br />

Configuration pages documentation for more information. This can also be set with the<br />

other configuration tools. See the Configuration pages and other separate documentation<br />

for details.<br />

On the Amino remote control:<br />

1. Hold down the STB and OK buttons until the STB button lights up permanently.<br />

2. Enter the number that you want to set as the prefix code for this remote control.<br />

This must be a three-digit number in the range 000 - 015.<br />

For example:<br />

008<br />

The remote control will now prefix all set-top box commands with this code.<br />

Note: To revert to the default code (i.e. to unpair the remote control and set-top box),<br />

repeat these steps and set the code to 000.<br />

To configure the set-top box:<br />

3. From the IR keyboard, press Alt-M and then enter the Management password<br />

(leaves by default), to access the Management pages.<br />

4. Open the Infra-Red Configuration page.<br />

5. Enter the same three-digit code as you programmed the remote control with.<br />

6. Save the changes (the default password here is snake).<br />

The remote control is now paired to the set-top box.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 47


Configuring set-top boxes<br />

5.5 Configuring how the set-top box responds to remote control keys<br />

The fkeys.conf file specifies how the set-top box responds to remote control keys. If<br />

you want to change the configuration, you are not recommended to edit this file directly.<br />

Instead, you should use the JMACX SetKeyFunction and SaveKeyFunction commands.<br />

See the JMACX API Specification for details of how to use these commands.<br />

5.6 Configuring the set-top box time zone<br />

Time zone support<br />

Set-top boxes support time zone handling through an NTP client.<br />

The time zone can be set in one of the following ways:<br />

Dynamic configuration, using the DHCP server<br />

Static configuration, in the netconf file<br />

In both cases, time zone strings can be in the following formats:<br />

<br />

<br />

<br />

Fully specified Posix 1003.1 time zone string (e.g. GMT0BST-1, M3.5.0/01,<br />

M10.5.0/02:00<br />

Unix-style definition in the format Region/City (e.g. Europe/London)<br />

Commonly used alias (e.g. GB-Eire)<br />

To set the time zone over DHCP<br />

If the set-top box retrieves its settings dynamically from the DHCP server, you can include<br />

the time zone in the settings that it retrieves.<br />

1. Open the DHCP server configuration file (dhcpd.conf) in a text editor. This file<br />

should be stored in the following location:<br />

/etc<br />

2. Add the following to the list of Amino vendor extensions (if it isn’t already there):<br />

option AMINO.timezone code 16=text;<br />

3. In the subnet declaration in the configuration file, add a line that specifies the<br />

time zone you want to set.<br />

Example:<br />

option AMINO.timezone “Europe/Stockholm”;<br />

The subnet declaration will now look something like the following:<br />

subnet 10.172.0.0 netmask 255.255.0.0 {<br />

option routers 10.172.0.1;<br />

option subnet-mask 255.255.0.0;<br />

option domain-name "aminocom.com";<br />

option domain-name-servers 10.171.22.7,10.171.22.9;<br />

option AMINO.timezone “Europe/Stockholm”;<br />

pool {<br />

range 10.172.230.50 10.172.230.100;<br />

}<br />

}<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 48


Configuring set-top boxes<br />

4. Save your changes and restart the DHCP server.<br />

Next time the set-top box sends a DHCP request (e.g. when it is rebooted), the time zone<br />

will be included in the information that the DHCP server sends.<br />

To set the time zone in the netconf file<br />

If you want to set the set-top box’s time zone statically, you can do it with the following<br />

setting in the netconf file:<br />

TIME_ZONE<br />

See for details of the options for editing network configuration settings.<br />

Note: If the set-top box receives a time zone value from the DHCP server, it uses this<br />

value in preference to the one in the netconf file.<br />

See also:<br />

<br />

<br />

<br />

for options for editing network configuration settings, including the time zone,<br />

see Configuration options on page 43<br />

for details of the main settings in the netconf file, see netconf file contents on<br />

page 85<br />

for more information on configuring set-top boxes to use static network settings,<br />

see Setting set-top boxes with static network and multicast upgrade settings on<br />

page 37<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 49


6 Customising a software upgrade image<br />

You can customise software before it is loaded to a set-top box by configuring the image<br />

components used to create the software upgrade image. The sections in this chapter<br />

describe how to configure the image components and provide additional information on<br />

some of the important image components that you may need to use.<br />

6.1 Configuring image components<br />

Configuring image components enables you to customise the files used to create a<br />

software upgrade image. When the signupgradeimage script creates a new image, it<br />

includes the files that are listed in the flashcontents file and stored in the<br />

imagecomponents subdirectory of the software release. You can edit these files or add<br />

new ones in order to customise the software upgrade image to your requirements.<br />

For example, you can:<br />

edit configuration files before they are made available to set-top boxes<br />

add files needed to enable Telnet, SSH or Dropbear<br />

add/edit an upgrade.sh script file that the set-top box will execute when it<br />

installs the new software upgrade image<br />

replace graphics (displayed during the boot stages) with customised versions -<br />

e.g. the “splash.gif” graphic<br />

Note: All files in the imagecomponents directory must be listed in the flashcontents file;<br />

otherwise, the signupgradeimage script will fail.<br />

To configure image components<br />

The general procedure for editing image components is as follows:<br />

Note: In the following instructions, stands for the full path of the directory that<br />

contains your Amino software release. If you used example settings during installation,<br />

this is: /usr/local/amino/releases/<br />

1. Open the file that you want to edit. The image component files are in the<br />

following location:<br />

/upgradeimage/imagecomponents<br />

Alternatively, you can add a new file to this location - such as a chnls.txt file<br />

you have copied from a pre-configured set-top box or an upgrade.sh file that<br />

contains libconfig commands to set NOR flash values.<br />

2. Edit the file, and save your changes.<br />

3. Open the flashcontents file, and ensure that the file you have added/edited<br />

is listed there. This file is in the following location:<br />

/upgradeimage<br />

The flashcontents file lists the files that will be included in a software upgrade<br />

image, and defines permissions for the file.<br />

4. Use the signupgradeimage script to create the software image, as usual.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 50


Customising a software upgrade image<br />

The new software upgrade image includes your new or edited files, and you can use it to<br />

upgrade your set-top boxes.<br />

See also:<br />

To create a signed upgrade image on page 27<br />

Upgrading set-top box software on page 41<br />

Configuration areas on page 45 for a list of the configuration that can be edited<br />

Release directory contents on page 20 for a list of the main files included in the<br />

imagecomponents directory<br />

Editing the flashcontents file on page 51<br />

6.2 Editing the flashcontents file<br />

You are only recommended to edit the flashcontents file if you are adding new files to<br />

the image components used to create a software image, and the files are not currently<br />

listed in the flashcontents file. It is supplied in the following location in a software<br />

release /upgradeimage<br />

flashcontents file<br />

The flashcontents file lists the files that can be included in a software upgrade image,<br />

and defines the permissions associated with these files when the software image is<br />

installed on the set-top box.<br />

flashcontents file contents<br />

The file contains a list of file names and the permission associated with them, in the<br />

following format:<br />

Example:<br />

<br />

R AMINET.img<br />

Permissions. The permissions are as follows:<br />

Permission<br />

R<br />

W<br />

E<br />

File cannot be altered by the set-top box (e.g. kernel<br />

module, application). If files with R permission are deleted,<br />

the set-top box detects an error and reboots.<br />

File can be altered by the set-top box (e.g. configuration<br />

file). If these files are deleted from the set-top box, it will<br />

not cause an error.<br />

File is read-only and can be deleted after it is executed<br />

without affecting set-top box operation (e.g. upgrade.sh<br />

script).<br />

<br />

Executable image component files must be listed as either R or E, otherwise the<br />

signupgradeimage script will fail to create the software upgrade image.<br />

All files in the imagecomponents directory must be listed in the flashcontents<br />

file; otherwise, the signupgradeimage script will fail. If a file is listed in the<br />

flashcontents file but is not present in the imagecomponents directory, it will<br />

not affect the signupgradeimage script.<br />

Note: The E permission was introduced in version 0.12.0.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 51


Customising a software upgrade image<br />

File naming. Files names must not be longer than 12 characters.<br />

6.3 Creating an upgrade script<br />

upgrade.sh<br />

An upgrade script upgrade.sh contains commands that the set-top box executes when a<br />

new software upgrade image is installed. The script is created and installed on the settop<br />

box as part of a software image, and is only executed once, then deleted.<br />

To use an upgrade script<br />

The upgrade.sh script is not normally supplied as part of a software release, but you can<br />

create you own and add the commands you want the set-top box to execute. For example<br />

you can add libconfig commands to set static multicast values. Add the file to the image<br />

components used to create a software upgrade image; ensure that the script is listed in<br />

the flashcontents file, with its permission set to E.<br />

The script is executed automatically when this software image is installed on the set-top<br />

box.<br />

See also:<br />

Editing the flashcontents file on page 51 for details of how to add the files<br />

required to the imagecomponents<br />

To create a signed upgrade image on page 27<br />

Upgrading set-top box software on page 41<br />

Using libconfig on page 75 for details of libconfig commands you can add to the<br />

script<br />

6.4 Enabling remote log-in tools<br />

Telnet, SSH or Dropbear can be included in the software installed on a set-top box (the<br />

tool available depends on the platform), in order to enable remote log-in - e.g. to access<br />

configuration via libconfig commands.<br />

Remote log-in tool availability<br />

The remote log-in tools (Telnet/SSH/Dropbear) are not included as part of a standard<br />

software build or software image (version 0.13.0 onwards), for security reasons. If you<br />

want to enable these on the set-top box, you can do so by adding them to the image<br />

components used to create a new software upgrade image.<br />

For the following platforms, Telnet, SSH and Dropbear are all available:<br />

A103<br />

A110<br />

A110H<br />

A210<br />

A500<br />

For other platforms, only Telnet is available.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 52


Customising a software upgrade image<br />

To add Telnet/SSH/Dropbear to a software image<br />

To complete these steps, you will need a copy of the files required for the applications you<br />

want to enable. The files can then be added to the image components used to create a<br />

software upgrade image, and then installed on the set-top box by upgrading its software<br />

with this new image.<br />

See also:<br />

Configuring image components on page 50 for details of how to add the files<br />

required to the imagecomponents<br />

To create a signed upgrade image on page 27<br />

Upgrading set-top box software on page 41<br />

6.5 Customising graphics<br />

You can replace the graphic displayed during set-top box booting. For TFTP booting settop<br />

boxes, it is also possible to replace the graphic shown during software upgrades.<br />

Graphics used by set-top box<br />

The following default graphics are supplied with a software release:<br />

splash.gif This is the graphic shown on screen when the set-top box is booting.<br />

loading.gif This is the graphic shown on screen when the set-top box is upgrading via<br />

TFTP. Note that Multicast upgrades shows a graphic with just the word Loading... at this<br />

stage, which is part of IntactOS rather than part of the image components supplied with<br />

a software release.<br />

To replace default graphics with your own<br />

You can replace the default graphics with your own by replacing the GIF files in the image<br />

components used to build a new software upgrade image, then upgrading the software<br />

on a set-top box to use this new software image.<br />

Note: The loading graphic shown during Multicast upgrades (“Loading...”) is part of<br />

IntactOS, and can’t be customised.<br />

Each graphic must be a GIF with the same name as the file you are replacing. Other<br />

recommendations are:<br />

Animated GIFs are not supported (using an animated GIF will prevent the settop<br />

box from booting)<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 53


Customising a software upgrade image<br />

Recommended size for GIFs is 640 x 400 pixels. If the GIF is larger than the<br />

screen dimensions, it will not be displayed.<br />

Transparent GIFs are not supported, but if you set the transparent colour to 0,<br />

the background colour will be undefined.<br />

Note that the graphic is always centred on the screen when it is displayed.<br />

See also:<br />

Configuring image components on page 50 for details of how to add the files<br />

required to the imagecomponents used to create a software upgrade image<br />

To create a signed upgrade image on page 27<br />

Upgrading set-top box software on page 41<br />

6.6 Changing set-top box passwords<br />

You can customise the passwords used to access to a set-top box by editing the shadow<br />

file supplied with a software release, and then generating a new software upgrade image<br />

that includes the updated shadow file. In some builds it is also possible to customise<br />

passwords once software is installed on a set-top box, using STBremoteconf. See the<br />

STBremoteconf documentation for more information on this.<br />

Passwords<br />

Access to management functionality is assigned to password-controlled users.<br />

The following table outlines the main password-controlled user levels and their defaults:<br />

User name Description<br />

root<br />

mngread<br />

mngwrite<br />

Used for Telnet / serial console access on<br />

development builds.<br />

Used for access to the set-top box management<br />

pages.<br />

Used to write back changes from the set-top box<br />

management pages.<br />

Default<br />

password<br />

root2root<br />

leaves<br />

snake<br />

shadow file<br />

The shadow file defines the passwords for set-top box management users. Each line in<br />

the file specifies password information for a user, beginning with the user name.<br />

To change passwords in the shadow file<br />

Note: The following steps assume you have already set up a Multicast upgrade system<br />

and the software release is in the location specified in the set-up instructions.<br />

1. At a Linux command line, generate a new password hash with a command in<br />

the following format:<br />

perl -e ‘print crypt(“”, )’<br />

( is the new password you want to set, and is any two<br />

alphabetical characters.)<br />

Example:<br />

perl -e ‘print crypt(“admin”, Ap)’<br />

The command returns a hash for the password admin (for example<br />

ApC4fVgseQ63w).<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 54


Customising a software upgrade image<br />

2. Open the shadow file. If you used the recommended settings when you set up<br />

the Multicast upgrade system, you will find the file in the following location:<br />

/usr/local/amino/releases//upgradeimage/imagecompone<br />

nts<br />

3. The shadow file has a line for each password that can be changed. Find the line<br />

for the password you want to change, and replace the current password hash<br />

with your new one. The password hash is the string between colons after the<br />

user name.<br />

For example, if you want to change the password for root, find the line that<br />

looks similar to the following:<br />

root:kUCfiRdXdzJSM:10596:0:99999:7:-1:-1:0<br />

Replace the password hash string, so that the line now looks like this:<br />

root:ApC4fVgseQ63w:10596:0:99999:7:-1:-1:0<br />

4. Repeat these steps for any other passwords you want to change, then save your<br />

changes.<br />

Once you have changed the passwords as required, you will need to create a new<br />

software upgrade image that includes the edited shadow file, and load it to your set-top<br />

boxes.<br />

See also:<br />

To create a signed upgrade image on page 27<br />

Upgrading set-top box software on page 41<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 55


7 Using STBremoteconf<br />

7.1 STBremoteconf<br />

7.2 Before you start<br />

This section describes how to use the main STBremoteconf commands. For full<br />

information, see the separate STBremoteconf Administration Guide.<br />

STBremoteconf provides a mechanism for remotely configuring and controlling a local<br />

network of AmiNET set-top boxes. It can be run on the command line by sending<br />

commands individually to one or more set-top boxes, or commands can be collected into<br />

a script to save time. Commands are signed when they are created, so that the set-top<br />

box can check that the command has been sent by an authorised source.<br />

Example functions include rebooting, modifying output modes or updating software, as<br />

well as viewing information about the set-top box.<br />

The instructions in this section assume that STBremoteconf and other components are<br />

installed as part of a Multicast system. You will need the following:<br />

<br />

<br />

<br />

You will need to know the pass phrase for the configuration key that you will be<br />

using to sign commands. For the Amino engineering key this is stbrckey.<br />

To send commands via STBremoteconf, you will need to know the IP address<br />

of individual set-top boxes, or the address for a multicast group. Set-top boxes<br />

must be powered and connected to the network.<br />

For some of the commands (e.g. Multicasting commands), the DHCP server<br />

and Multicast server must be running, and appropriate upgrade images must be<br />

available.<br />

You will need to log in as root or have sudo rights to send commands via<br />

STBremoteconf.<br />

Note: STBremoteconf commands are time-stamped, and the set-top box will reject<br />

commands that are more than 30 seconds old. (This prevents encrypted commands<br />

being snooped and recorded, then re-sent to the set-top box at a later time.) For this<br />

reason, the set-top box and the PC that the STBremoteconf client is installed on must use<br />

the same date and time settings.<br />

7.3 Installing prerequisite Perl modules<br />

The STBremoteconf client has dependencies on various external Perl modules. You can<br />

either install these before you start installing STBremoteconf, or try using STBremoteconf<br />

and then install the Perl modules required only if errors are reported.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 56


Using STBremoteconf<br />

To install Perl modules required by STBremoteconf:<br />

The following procedure assumes that you have the Perl CPAN module installed and<br />

have internet connectivity. You must be logged in as root or have sudo rights.<br />

1. Enter the following command:<br />

sudo perl -MCPAN -e shell<br />

2. If the cpan> prompt isn’t displayed, then you are asked to manually<br />

configure it. Answer no to force an auto-configuration for CPAN.<br />

3. If you are prompted to install any modules, enter yes.<br />

4. Enter the following command:<br />

install Bundle::CPAN<br />

If you are prompted to install dependencies, enter yes.<br />

5. Enter the following command:<br />

install Date::Manip<br />

If you are prompted to install dependencies, enter yes.<br />

6. Enter the following command:<br />

install MIME::Base64<br />

If you are prompted to install dependencies, enter yes.<br />

7. Enter the following command:<br />

install File::Copy<br />

If you are prompted to install dependencies, enter yes.<br />

8. Enter the following command:<br />

install IO::Socket::Multicast<br />

If you are prompted to install dependencies, enter yes.<br />

9. Enter the following command:<br />

quit<br />

You now have all of the required Perl modules installed and your STBremoteconf client<br />

should now work.<br />

7.4 Sending commands with STBremoteconf<br />

The following steps outline an example command line interaction with STBremoteconf.<br />

STBremoteconf commands can alternatively be embedded in a script so that a group of<br />

commands can be sent together.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 57


Using STBremoteconf<br />

To send a command at the command line:<br />

In the following steps, stands for the full path for the directory that contains<br />

your Amino software release. If you have used the example settings during set-up of the<br />

Multicast system, this is: /usr/local/amino/releases/. The steps<br />

assume you have not copied the STBremoteconf files to a directory in the system path<br />

(e.g. /usr/local/bin); if you have done this, you don’t need to navigate to the directory<br />

that the STBremoteconf file is stored in, and you don’t need to enter ./ at the start of each<br />

command.<br />

1. Set the STBKEY environment variable by entering a command in the following<br />

format:<br />

export STBKEY=/utils/keys/amino/STBrc-KEY.private<br />

2. Navigate to the directory that the STBremoteconf file is located in.<br />

For example:<br />

cd /utils<br />

3. Enter a command in the following format:<br />

./STBremoteconf [] <br />

For example, enter the following command to find out the software version on<br />

the set-top box with the IP address 123.4.5.67:<br />

./STBremoteconf -p 110,120 123.4.5.67 GETVERSION<br />

4. You are prompted to enter the pass phrase for the configuration key. For the<br />

Amino engineering configuration key this is stbrckey.<br />

If the command syntax and IP address(es) entered are valid, the client<br />

command is sent, and for non-multicast operations (i.e. commands sent to a<br />

single set-top box) a confirmation message is displayed which includes a status<br />

code returned by the set-top box. For multicast operations there is no return<br />

channel so confirmation is not sent.<br />

You can now enter further commands, as required.<br />

7.5 STBremoteconf command syntax<br />

STBremoteconf is operated by entering commands with the following syntax:<br />

./STBremoteconf [-p ] [-e ] [-t<br />

] [-P ] <br />

Argument<br />

Usage<br />

-p A comma-separated list of product codes that you<br />

want the command to apply to. For example:<br />

-p 110,120,110h<br />

-e Length of time to message expiry (in seconds). If you<br />

don’t include this argument, it defaults to 30 seconds.<br />

-t Network time-to-live value for the message.<br />

-P Port to send the command on.<br />

<br />

The host argument that specifies where the command<br />

will be sent or enables you to save the command for<br />

use later. See below for more information.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 58


Using STBremoteconf<br />

Argument<br />

<br />

Usage<br />

The command that will be executed.<br />

Alternatively, you can enter the command ./STBremoteconf without any arguments to<br />

display help at the command line.<br />

Note: If you have copied the STBremoteconf to a directory in the system path (e.g.<br />

/usr/bin), you can enter the commands without the ./ at the start.<br />

argument<br />

The argument must be included in all commands. It can be set with one of the<br />

following types of value, depending on where you want the command to be sent:<br />

<br />

To send the command to all set-top boxes listening on a particular multicast group, enter<br />

the IP address of the group (for example, as defined in the DHCP server configuration or<br />

in the set-top box’s configuration).f no group has been configured on the set-top box, the<br />

default address 225.10.10.10 is used.<br />

Note that there is no return channel for status messages to be returned when<br />

multicasting, so no confirmation will be received, and many commands that request<br />

information such as version or status cannot be sent to a multicast group.<br />

<br />

To send the command to a single set-top box listening on the network, enter the IP<br />

address for the box. Alternatively, you can enter a valid name (which has a DNS entry).<br />

You should send commands to a single box in this way if you want to configure settings<br />

for a single box, or if the command returns information such as status or version.<br />

If the IP address is invalid, then the following error is returned:<br />

Couldn’t convert to internet address: Resource temporarily<br />

unavailable.<br />

If the IP address is valid, but the set-top box doesn’t respond to the command (e.g. the<br />

set-top box is not connected or the address has not been allocated by the DHCP server),<br />

then the following error is returned:<br />

SAVE<br />

Couldn’t connect: Connection refused<br />

To sign a command and save it for multicasting or unicasting later, replace with<br />

SAVE. This is useful as it allows you to collect multiple signed commands together to be<br />

transmitted altogether later, or to give a signed command to a third party that it is not<br />

appropriate to give keys to.<br />

STBremoteconf saves the signed command to a SAVEFILE.msg file in the current<br />

directory, and you can send it later using the SIGNEDCMD command option.<br />

argument<br />

The argument must be included in all commands, and specifies the<br />

operation you want to execute. Some options also require additional parameters. See the<br />

command options overview for a list of available options.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 59


Using STBremoteconf<br />

7.6 STBremoteconf command options<br />

STBremoteconf commands enable you to configure or control a single or multiple set-top<br />

boxes and to request current configuration and status information from a single set-top<br />

box. In addition, you can view help and version information about STBremoteconf itself.<br />

Overview of command options<br />

You can add one of the following to the STBremoteconf command. Alternatively, enter the<br />

command without adding any options to view STBremoteconf version information and a<br />

full list of available commands at the command line. In the following table, commands<br />

marked in grey are not for general use (see the full command list for details of when they<br />

should be used), and you should only use these if you are fully aware of the implications<br />

on your set-top box.<br />

Command<br />

ACAPS_CS_IP_SET <br />

ACAPS_CS_PORT_SET <br />

ACAPS_ENABLE <br />

CHANGEPAGE <br />

CHANGE-PWORD <br />

CHANNEL <br />

DEFAULT_VOLUME <br />

DELETECUSTKEY<br />

EAS <br />

ETHERNET <br />

FETCHFILE <br />

<br />

GETVERSION<br />

HWINFO<br />

LOADKEY-CONF <br />

LOADKEY-CUSTOMER <br />

LOADKEY-OPERATOR <br />

LOCK<br />

LOGREAD<br />

MACADDRESS <br />

MCASTADDR <br />

OUTFMT <br />

Usage<br />

Development use only.<br />

Development use only.<br />

Development use only.<br />

Displays the page specified on the set-top box<br />

browser. (Set-top boxes running Fresco web<br />

browser only.)<br />

Changes set-top box user passwords.<br />

Changes the channel of one or more set-top boxes.<br />

Sets the default volume level on a set-top box.<br />

Deletes the customer key on a set-top box.<br />

Sends an EAS (Emergency Alert System)<br />

message.<br />

Sets the Ethernet speed.<br />

Retrieves a file from the set-top box and stores it on<br />

a local PC.<br />

Returns the current software version on the set-top<br />

box.<br />

Returns information about the set-top box<br />

hardware.<br />

Uploads a new public configuration key to the settop<br />

box.<br />

Uploads new public customer key to the set-top<br />

box.<br />

Uploads new operator key to the set-top box.<br />

Locks the NOR flash.<br />

Returns last few entries from syslog.<br />

Sets the set-top box’s MAC address.<br />

Changes the Multicast address that the set-top box<br />

listens on.<br />

Sets the output format of the set-top box.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 60


Using STBremoteconf<br />

Command<br />

PING <br />

<br />

PROC <br />

REBOOT<br />

REFLASH<br />

RFMODE <br />

SAVEFILE <br />

<br />

SERIALID <br />

SIGNEDCMD <br />

STATS<br />

SYSLOG <br />

TVSYSTEM <br />

UPGRADEMCAST <br />

<br />

UPGRADMCAST_VER <br />

<br />

<br />

VOD <br />

Usage<br />

Instructs set-top box to send ICMP echo (ping)<br />

requests to a remote host.<br />

Sends specified proc entry to the set-top box.<br />

Reboots the set-top box.<br />

Wipes the NAND flash on the set-top box, then<br />

download new software.<br />

Enables/disables or resets the RF modulator on the<br />

set-top box (if there is one).<br />

Uploads a file from a local PC to the specified<br />

destination location on the set-top box file system.<br />

Sets the set-top box’s serial number.<br />

Sends a pre-prepared signed command to the settop<br />

box.<br />

Returns status information about the set-top box.<br />

Redirects the set-top box’s syslog to the specified<br />

new host.<br />

Sets the TV standard to be used.<br />

Instructs set-top box to upgrade to software<br />

available at Multicast group specified.<br />

Instructs set-top box boxes running different<br />

software versions to upgrade to the specified<br />

version.<br />

Executes video on demand operations.<br />

List of commands<br />

In the following list, commands marked Restricted are not for general use and may have<br />

irreversible effects. You should only use these if you are recommended to do so by Amino,<br />

and you are fully aware of the implications on your set-top box.<br />

ACAPS_CS_IP_SET, ACAP_CS_PORT_SET, ACAPS_ENABLE<br />

Restricted: Commands for development use only.<br />

CHANGEPAGE<br />

Usage:<br />

CHANGE-PWORD<br />

Usage:<br />

./STBremoteconf CHANGEPAGE <br />

Instructs software versions running the Fresco web browser to go to a specific URL. This<br />

command is only valid in software with this browser. Whatever the user is viewing at the<br />

time will be interrupted, including video.<br />

Example:<br />

./STBremoteconf 123.4.5.67 CHANGEPAGE<br />

“http://www.aminocom.com”<br />

./STBremoteconf CHANGE-PWORD <br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 61


Using STBremoteconf<br />

Changes the specified user password on the set-top box. Note that this option only works<br />

with set-top box software versions that have been set up to allow it; this is not enabled in<br />

standard releases.<br />

You are prompted to enter the new password twice (to catch any typing error, as the<br />

password you type is not echoed to the display). An error is returned if the user name<br />

doesn’t exist or password-changing is not supported in the set-top box.<br />

The following users are recognised:<br />

User name Description<br />

root<br />

mngread<br />

mngwrite<br />

Used for Telnet / serial console access on<br />

development builds.<br />

Used for access to the set-top box management<br />

pages.<br />

Used to write back changes from the set-top box<br />

management pages.<br />

Default<br />

password<br />

root2root<br />

leaves<br />

snake<br />

Example:<br />

./STBremoteconf 123.4.5.67 CHANGE-PWORD mngread<br />

Example response interaction:<br />

Enter new password for user 'mngread’:<br />

Retype new password for user 'mngread’:<br />

Unicasting...<br />

Passphrase (for key ):<br />

Signed image written to '/tmp/TMPFILE.signed'<br />

Got back: OK<br />

CHANNEL<br />

Usage:<br />

./STBremoteconf CHANNEL <br />

Changes the current channel of a single or multiple set-top boxes.<br />

Example:<br />

./STBremoteconf 123.4.5.67 CHANNEL 123<br />

DEFAULT_VOLUME<br />

Restricted: Not for use with OTP set-top boxes.<br />

DELETECUSTKEY<br />

Restricted: Internal use only.<br />

EAS<br />

Usage:<br />

./STBremoteconf EAS <br />

Sends an EAS (Emergency Alert System) message. It is the responsibility of the<br />

middleware running on the set-top box to act on this message and perform any required<br />

operations.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 62


Using STBremoteconf<br />

Example:<br />

./STBremoteconf 123.4.5.67 EAS “This is a<br />

message”<br />

ETHERNET<br />

Restricted: Not for use with OTP set-top boxes.<br />

FETCHFILE<br />

Restricted: Not for use with OTP set-top boxes.<br />

GETVERSION<br />

Usage:<br />

./STBremoteconf GETVERSION<br />

Returns the software version of a box. This command is only useful via unicast.<br />

Example:<br />

./STBremoteconf 123.4.5.67 GETVERSION<br />

Example response:<br />

Got back: 0.12.1-aminet-frescoj27-1<br />

HWINFO<br />

Usage:<br />

./STBremoteconf HWINFO<br />

Returns the product , board revision and ROM type of the set-top boxes.<br />

Example:<br />

./STBremoteconf 123.4.5.67 HWINFO<br />

Example response:<br />

aminet110 (revision 2) ROM type: 0xc222-SS-S4<br />

LOADKEY-CONF, LOADKEY-CUSTOMER, LOADKEY-OPERATOR<br />

Restricted: Not for use with OTP set-top boxes.<br />

LOCK<br />

Restricted: Internal use only.<br />

LOGREAD<br />

Usage:<br />

./STBremoteconf LOGREAD<br />

Returns the last few entries from syslog.<br />

Example:<br />

./STBremoteconf LOGREAD<br />

MACADRESS<br />

Restricted: Internal use only.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 63


Using STBremoteconf<br />

MCASTADDR<br />

Restricted: Not for use with OTP set-top boxes.<br />

OUTFMT<br />

PING<br />

PROC<br />

REBOOT<br />

REFLASH<br />

Restricted: Not for use with OTP set-top boxes.<br />

Usage:<br />

./STBremoteconf PING <br />

<br />

Instructs the set-top box to send a number of ICMP echo (ping) requests to a remote host.<br />

In a network with multiple set-top boxes, this command can be multicast and then the<br />

network can be monitored for replies, to determine which set-top boxes received the<br />

message.<br />

specifies the number of echo requests to send.<br />

specifies how long to wait before sending the first request (in seconds).<br />

If you specify a backoff parameter of zero, the set-top box sends the ICMP echo requests<br />

as soon as it receives the message. If backoff is greater than zero, the set-top box waits<br />

a random time interval between zero and backoff seconds before sending the first ICMP<br />

echo; followed by one second between each request.<br />

Example:<br />

Usage:<br />

./STBremoteconf 123.4.5.67 PING 139.255.1.1 10 0<br />

./STBremoteconf PROC <br />

Queries the set-top box for the value of the specified proc entry - e.g. to query memory<br />

usage.<br />

Example:<br />

Usage:<br />

./STBremoteconf 123.4.5.67 PROC meminfo<br />

./STBremoteconf REBOOT<br />

Triggers a reboot of the set-top box, which is most useful when restarting the device after<br />

making configuration changes. The command returns a status code indicating whether<br />

the command was accepted.<br />

Note: The set-top box automatically reboots after some commands, such as a<br />

MCAST_UPGRADE.<br />

Example:<br />

Usage:<br />

./STBremoteconf 123.4.5.67 REBOOT<br />

./STBremoteconf REFLASH<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 64


Using STBremoteconf<br />

Requests an update of the software loaded on a TFTP-booting set-top box. The update<br />

is done by formatting the flash memory and reloading it from the appropriate TFTP boot<br />

server. Before using this command, ensure that valid software exists in TFTP boot, and<br />

that no attempt is made to interact with the device (disconnect mains power etc.) during<br />

the update process. This command wipes any persistent setting stored in the NAND flash<br />

(/mnt/nv). It should not be used to trigger a multicast upgrade, instead see the<br />

UPGRADEMCAST command.<br />

Example:<br />

./STBremoteconf 123.4.5.67 REFLASH<br />

RFMODE<br />

Usage:<br />

./STBremoteconf RFMODE <br />

Enables or disables the RF modulator (if present) and/or changes the current RF channel.<br />

The following options are available:<br />

Example (sets the RF channel to 38 and enables the RF modulator):<br />

./STBremoteconf 123.4.5.67 RFMODE 38 ENABLE<br />

SAVEFILE<br />

Restricted: Not for use with OTP set-top boxes.<br />

SERIALID<br />

SIGNEDCMD<br />

Usage:<br />

STATS<br />

Restricted: Internal use only.<br />

./STBremoteconf SIGNEDCMD <br />

Sends a pre-prepared signed command out. This requires a file generated by<br />

STBremoteconf using the SAVE command and allows the user to send out a command<br />

without needing a password or a private key, so it can be useful to allow untrusted parties<br />

to submit commands.<br />

Example:<br />

Usage:<br />

./STBremoteconf 123.4.5.67 SIGNEDCMD SAVEFILE.msg<br />

./STBremoteconf STATS<br />

Returns a set of status values for the set-top box.<br />

Example:<br />

./STBremoteconf 123.4.5.67 STATS<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 65


Using STBremoteconf<br />

Example of some of the types of values returned:<br />

MACADDRESS: xx:xx:xx:xx:xx:xx<br />

URL: <br />

SKIPS: (last total_in_movie total) t, n, n<br />

SERRORS (last total_in_movie, total) t, n, n<br />

TIME (timestamp_movie_start, time) t, t<br />

AUDBUF:<br />

VIDBUF:<br />

ERFLOW_TIMESTAMP<br />

VIDPTS<br />

EthInfo<br />

MemInfo<br />

SYSLOG<br />

Usage:<br />

./STBremoteconf SYSLOG <br />

Redirects the set-top box's syslog to the new host you specify. Syslog handles logging of<br />

various event and debug messages on the set-top box. You can redirect the output to an<br />

alternative host, such as a local PC. (Please refer to syslog documentation available online<br />

for more information about syslog set-up.)<br />

Example:<br />

./STBremoteconf SYSLOG 123.4.5.67<br />

TVSYSTEM<br />

Usage:<br />

./STBremoteconf TVSYSTEM <br />

Changes the TV standard to one of a predefined set of values.<br />

The following options are available:<br />

PAL-I<br />

PAL-M<br />

PAL-N<br />

PAL-G<br />

PAL-B<br />

PAL-H<br />

NTSC-J<br />

NTSC-M<br />

SD<br />

108i59<br />

108i50<br />

720p59<br />

720p50<br />

576p50<br />

480p59<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 66


Using STBremoteconf<br />

Example (along with text returned which indicates a valid response):<br />

./STBremoteconf TVSYSTEM PAL-I<br />

UPGRADEMCAST<br />

Usage:<br />

Got back: OK<br />

./STBremoteconf UPGRADEMCAST <br />

Instructs one or more set-top boxes to upgrade to the software offered on a particular<br />

multicast group. This command is only valid for software versions supporting multicast<br />

upgrade (it is not valid for TFTP booting software versions). A software version must be<br />

multicasting on the specified group when the command is sent. Once the upgrade is<br />

complete, the set-top box will automatically reboot into the new version; you can use the<br />

GETVERSION command to check that the new software version is in use.<br />

This command retains various persistent settings files held in the flash, such as settings<br />

and netconf.<br />

Example:<br />

UPGRADEMCAST_VER<br />

Usage:<br />

VOD<br />

./STBremoteconf 123.4.5.67 UPGRADEMCAST 239.255.1.1 12345<br />

./STBremoteconf UPGRADEMCAST_VER <br />

<br />

Instructs set-top boxes to upgrade to a specified software version. It is only valid for<br />

software versions supporting multicast upgrade (it is not valid for TFTP booting software<br />

versions). The command takes three parameters: a numeric multicast address, a port<br />

number and the full software version string. A software version must be multicasting on<br />

this group when the command is sent. The set-top box compares its current software<br />

version string with the upgrade version string specified, and only upgrades if the strings<br />

are different. Once the upgrade is complete, the set-top box will automatically reboot into<br />

the new version.<br />

This command retains various persistent settings files held in the flash, such as settings<br />

and netconf.<br />

Example:<br />

Usage:<br />

./STBremoteconf 123.4.5.67 UPGRADEMCAST_VER 2 255.50.50.51<br />

11111 0.12.1-aminet110-frescoj27-1<br />

./STBremoteconf VOD <br />

Allows remote video on demand operations to be executed. For example, a PAUSE<br />

operation may be required before you can send another command.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 67


Using STBremoteconf<br />

The following video on demand operations are supported:<br />

Example:<br />

PLAY<br />

PAUSE<br />

STOP<br />

FF<br />

RW<br />

./STBremoteconf 123.4.5.67 VOD PAUSE<br />

Note: VOD PLAY should only be used to resume from a PAUSE state. To initiate a new video<br />

on demand session remotely, use the CHANGEPAGE command to point to the required video<br />

on demand resource.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 68


8 Using the HTML Configuration pages<br />

8.1 Configuration pages<br />

This section provides an overview of functionality. For full information, see the separate<br />

Set-Top Box Configuration Pages Administration Guide.<br />

Set-top boxes with browsers include HTML configuration pages, displayed on the<br />

television screen, that enable local access and editing of configuration areas. The pages<br />

are divided into an administrator area (Management pages) and user area (Preferences<br />

pages).<br />

Preferences pages<br />

The set-top box Preferences pages are a simple interface that enables users to change<br />

basic set-top box configuration areas such as language, subtitle and keyboard set-up.<br />

The pages are accessed locally via an Amino IR remote control (or keyboard). The<br />

Preferences pages are designed for use by end-users.<br />

Management pages<br />

The set-top box Management pages are a simple interface that enables administrators to<br />

change set-top box configuration areas such as networking, channel list and browser setup,<br />

as well as initiate basic operations such as rebooting and updating software. In<br />

addition, read-only access is available to areas such as version and set-top box identity<br />

settings. The pages are password-protected and accessed locally via an Amino IR<br />

keyboard (limited functionality is also supported via the remote control). Management<br />

pages allow access to advanced configuration functions and are designed for use by<br />

administrators rather than end-users.<br />

8.2 Getting started<br />

Before you start<br />

The instructions in this section assume that the set-top box you want to communicate with<br />

is powered and connected to the network.<br />

To use the Management pages, you will need the following:<br />

An Amino IR keyboard (optionally also a remote control)<br />

You will need to know the password for the mngread and mngwrite user names<br />

on the set-top box. These are leaves and snake respectively if you haven’t<br />

changed the defaults.<br />

If you are using a production set-top box and want to change identity settings,<br />

you will also need to know the password for the identity user. If the default<br />

hasn’t been changed, this is tiger. Note that these settings and functionality<br />

are locked during manufacture, and access is read-only in most set-top boxes.<br />

To use the Preferences pages, you will need the following:<br />

An Amino remote control or IR keyboard<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 69


Using the HTML Configuration pages<br />

Using the keyboard and remote control with the configuration pages<br />

Although the actual functionality enabled is slightly different, the general ways of<br />

communicating with the Management and Preferences pages are similar, and the table<br />

below shows some of the remote control buttons and keyboard keys that enable<br />

important functionality:<br />

In general, the Management pages require the use of a keyboard; the Preferences pages<br />

are designed for use with just the remote control.<br />

8.3 Using the Management pages<br />

Functionality Remote control Keyboard<br />

Move around the items on the page. arrow buttons arrow keys<br />

Select an option / press a button on OK button Enter key<br />

the page.<br />

Delete text you have entered. LAST CH button Back Space key<br />

Close Management/Preferences Home button Escape key<br />

pages<br />

Display Preferences pages MENU button Alt-P key<br />

combination<br />

Display Management pages<br />

Alt-M combination<br />

Getting started<br />

The Management pages are divided into separate areas according to configuration and<br />

control functionalities. Some areas allow you to view and edit configuration, some only<br />

allow you to view configuration and others allow you to perform software upgrades and<br />

reboot the set-top box.<br />

When you first access the pages, a menu that lists the available areas is displayed. The<br />

settings available depend on the software build, but the menu can include the following<br />

items:<br />

Area<br />

Browser Setup<br />

Channels<br />

Proxy Setup<br />

Trusted Domains<br />

Video Setup<br />

Network Configuration<br />

Hardware Information<br />

Software Version<br />

Update Software<br />

Identity<br />

Allows you to:<br />

View and edit browser configuration and<br />

change keyboard layout.<br />

View and edit the channel URLs.<br />

View and edit HTTP and HTTPs proxies.<br />

View and edit settings for trusted domains.<br />

View and edit video display and timeout<br />

settings.<br />

View and edit static address information; also<br />

view DHCP lease details.<br />

View set-top box hardware details.<br />

View set-top box software version.<br />

Initiate a software upgrade (multicast) or<br />

reflash.<br />

View set-top box identity information. In<br />

production boxes, it is also possible to edit<br />

these settings; the settings are locked during<br />

manufacture.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 70


Using the HTML Configuration pages<br />

Area<br />

See also:<br />

For more detail on these settings on these pages, see the Set-Top Box<br />

Configuration Pages Administrator Guide.<br />

Navigation - using the keyboard<br />

Once the Management pages are displayed, you can use either the keyboard or remote<br />

control to navigate around the pages and change settings. However, the Management<br />

pages require the use of a keyboard to display them and enter text, so the usage<br />

instructions here all specify what keys to press on the keyboard. It is also possible to use<br />

equivalent remote control options in many cases.<br />

Use the arrow keys to move up or down the menu page, then press the Enter<br />

key to select the page you want to view.<br />

Once the page you want is displayed, you can use the arrow keys to move<br />

around it, make changes if required and then move to the Back to Main Menu<br />

button and press Enter to return to the menu.<br />

Viewing and editing configuration<br />

Allows you to:<br />

Infra-Red Configuration Pair the set-top box with an IR remote control. .<br />

TVI Configuration Set the protocol to use for controlling the<br />

television.<br />

Reboot<br />

Reboot the set-top box.<br />

To view configuration<br />

1. Open the page for the configuration area you want to view. The current<br />

configuration settings are displayed.<br />

2. To return to the menu page, move to the Back to Main Menu button (usually at<br />

the bottom of the page) and press Enter.<br />

To change configuration settings<br />

Note that not all configuration settings can be changed. If a page doesn’t have a Save<br />

Changes button, then the settings are all read-only.<br />

1. Open the page for the configuration area you want to view.<br />

2. Use the arrow keys to move to the setting you want to change. As you move<br />

around the page, the current setting that you have currently selected is<br />

highlighted.<br />

3. Make the changes you require:<br />

To change a text field, use the Back Space key to delete the current value, then<br />

type the new value.<br />

To change a check box, press the Enter key to check or uncheck the box.<br />

To select values from a drop-down list, press the Enter key to display the<br />

choices, use the up and down arrow keys to move to the value want, then press<br />

Enter again to select the new value.<br />

4. When you are happy with your changes, move to the Password field and type<br />

the password. If you have not changed the default password, this is snake. Next,<br />

move to the Save Changes button, and press Enter. There will be a short delay<br />

while the changes are written to the set-top box’s configuration (the set-top<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 71


Using the HTML Configuration pages<br />

box’s LED will flash during this time). Alternatively, you can use the Reset button<br />

to undo your changes to the page and return to the values set when you<br />

displayed the page.<br />

5. If you saved your changes, a new page confirms the changes. If you didn’t make<br />

any changes, the page doesn’t change. From both pages, you can return to the<br />

main menu by navigating to the Back to Main Menu button and pressing Enter.<br />

For many configuration settings, you will now need to reboot the set-top box for the<br />

changes to take effect.<br />

Rebooting the set-top box<br />

To reboot the set-top box via the Management pages<br />

1. On the main menu, move to the Reboot option, then press the Enter button.<br />

2. The set-top box reboots immediately.<br />

Updating set-top box software<br />

To initiate a software upgrade via the Management pages<br />

Before you initiate a software upgrade, you will need to ensure that new software is<br />

available. In most cases, this means that the Multicast system must be set up, with the<br />

Multicast server transmitting appropriate new software images.<br />

1. On the main menu, move to the Update software option, the press the Enter<br />

button. The Update software page is displayed.<br />

2. You can either upgrade just the main software image or you can reflash the settop<br />

box (i.e. delete the contents of the NAND flash and reload both a new<br />

bootstrap and a new software upgrade image). When the set-top box performs<br />

a software upgrade, it tests the new software and can revert to the old software<br />

if there is a problem. When the box reflashes, it wipes its current software before<br />

installing new software so it may not be able to revert to the old software if there<br />

is a problem.<br />

To upgrade the main set-top box image:<br />

In the Address field, enter the IP address for the multicast image (this is the IP<br />

address specified in the Multicast server configuration).<br />

In the Port field, enter the port for accessing the multicast image (again, as<br />

specified in the Multicast server configuration).<br />

In the Password field, enter the password. If you haven’t changed the default,<br />

this is snake.<br />

Move to the CLICK HERE button and press Enter to start the upgrade.<br />

Note: Because of memory limitations, the AmiNET120 does not use the<br />

Address and Port values you enter; instead it uses values retrieved from the<br />

DHCP server (or set in configuration, if static DHCP values are used). You still<br />

need to specify dummy address and port values, though - otherwise the<br />

command forces a reflash instead of a software upgrade (see below).<br />

<br />

<br />

To reflash the set-top box:<br />

Leave the Address and Port fields blank.<br />

In the Password field, enter the password. If you haven’t changed the default,<br />

this is snake.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 72


Using the HTML Configuration pages<br />

3. Move to the CLICK HERE button and press Enter to start the upgrade or<br />

reflash.<br />

Closing the Management pages<br />

To close the Management pages<br />

When you have finished, press the Escape key to close the Management pages<br />

and return to the main television display.<br />

8.4 Using the Preferences pages<br />

Getting started<br />

The Preferences pages are divided into separate areas according to configuration and<br />

control functionalities you can view and edit.<br />

When you first access the pages, a menu that lists the available areas is displayed. The<br />

actual settings available depend on the software build, but the menu can include the<br />

following items:<br />

Area<br />

Keyboard settings<br />

TV system and audio<br />

settings<br />

Subtitle settings<br />

Exit preferences<br />

Allows you to:<br />

View and edit keyboard configuration.<br />

View and edit TV, video and audio language setup.<br />

View and edit subtitle configuration.<br />

Close the preferences pages<br />

See also:<br />

For more detail on these settings on these pages, see the Set-Top Box<br />

Configuration Pages Administrator Guide.<br />

Navigation - using the remote control<br />

Once the Preferences pages are open, you can use either the keyboard or remote control<br />

to navigate around the pages and change settings. The Preferences pages are designed<br />

to be able to be used with just the Amino remote control, so the usage instructions all<br />

specify what buttons to press on this remote control. It is also possible to use equivalent<br />

keyboard options.<br />

Use the arrow buttons to move up or down the menu page, then press the OK<br />

button to select the page you want to view.<br />

Once the page you want is displayed, you can use the arrow buttons to move<br />

around it, make changes if required and then move to the Back to Main Menu<br />

button and press OK to return to the menu.<br />

Viewing and editing configuration<br />

To view configuration<br />

1. Open the page for the configuration area you want to view. The current<br />

configuration settings are displayed.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 73


Using the HTML Configuration pages<br />

2. To return to the menu page, move to the Back to Main Menu button and press<br />

OK.<br />

To change configuration settings<br />

1. Open the page for the configuration area you want to view.<br />

2. Use the arrow buttons to move to the setting you want to change. As you move<br />

around the page, the current setting that you have currently selected is<br />

highlighted.<br />

3. Make the changes you require:<br />

To change a text field, use the LAST CH button to delete the current value, then<br />

type the new value.<br />

To change a check box, press the OK button to check or uncheck the box.<br />

To select values from a drop-down list, press the OK button to display the<br />

choices, use the up and down arrow buttons to move to the value want, then<br />

press OK again to select the new value.<br />

4. When you are happy with your changes, move to the Save Changes button, and<br />

press OK. There will be a short delay while the changes are written to the settop<br />

box’s configuration (the set-top box’s LED will flash during this time).<br />

Alternatively, you can use the Reset button to undo your changes to the page<br />

and return to the values set when you displayed the page.<br />

5. If you saved your changes, a new page confirms the changes. If you didn’t make<br />

any changes, the page doesn’t change. From both pages, you can return to the<br />

main menu by moving to the Back to Main Menu button and pressing OK.<br />

Closing the Preferences pages<br />

To close the Preferences pages<br />

When you have finished, navigate to the main menu, then move to the Exit<br />

preferences option and press OK. Alternatively, press the Home button on the<br />

remote control.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 74


9 Using libconfig<br />

9.1 Before you start<br />

libconfig enables you to interact with set-top box configuration. In most cases, you can<br />

retrieve or set any of the available configuration settings. See HTML Configuration pages<br />

- settings used on page 92 for a list of the main settings; also see the separate Set-Top<br />

Box Management Configuration Guide for a more detailed list of settings.<br />

The instructions in this documentation assume that the set-top boxes you want to<br />

communicate with are powered and connected to the network. You will need the following:<br />

<br />

<br />

To send commands via libconfig, you will need to know the IP address of<br />

individual set-top boxes that you want to communicate with.<br />

You will need to know the password for the root user on the set-top box. This<br />

is root2root if you haven’t changed the default.<br />

The set-top box will need to be running software with Telnet enabled if you want<br />

to follow the instructions here on using Telnet to send libconfig commands. Note<br />

that both Telnet and SSH are normally disabled for roll-out, so you will probably<br />

need to enable it by adding it to the software image on the set-top box.<br />

See also:<br />

9.2 libconfig command syntax<br />

<br />

<br />

For details of how to enable Telnet or SSH, see Enabling remote log-in tools on<br />

page 52<br />

For details of how to add commands to an upgrade script, see Creating an<br />

upgrade script on page 52<br />

The libconfig commands for setting and querying set-top box configuration have similar<br />

syntax:<br />

libconfig-set <br />

libconfig-get <br />

Argument<br />

<br />

<br />

Usage<br />

Key formed from a prefix that relates to the<br />

configuration area and the name of the setting. For<br />

example, for the DEFAULT_VOLUME setting in the<br />

settings file, the key is<br />

SETTINGS.DEFAULT_VOLUME.<br />

Specifies the new value for the configuration<br />

setting. Only required for the libconfig-set<br />

command. If this value contains any spaces, it must<br />

be enclosed in quotation marks (for example:<br />

“file name.txt”); otherwise, the quotation marks<br />

are not required.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 75


Using libconfig<br />

Example (libconfig-get):<br />

libconfig-get SETTINGS.DEFAULT_VOLUME<br />

Example (libconfig-set):<br />

libconfig-set SETTINGS.DEFAULT_VOLUME 80<br />

9.3 Sending commands with libconfig<br />

Libconfig commands can be sent in the following ways:<br />

Telnet to the set-top box and enter commands on the command line<br />

Embed commands in a script (particularly useful if you need to use set values<br />

in multiple set-top boxes - for example, to set static DHCP settings)<br />

Using the JMACX API - STB.SetConfig/ASTB.GetConfig functions in the<br />

JMACX API call libconfig functions ( see JMACX documentation for more<br />

information)<br />

The following steps outline how to send libconfig commands via Telnet (note that this is<br />

usually only enabled for production set-top boxes, and is disabled for roll-out, for security<br />

reasons).<br />

To send a command via Telnet<br />

1. From a console window, Telnet to the set-top box.<br />

For example, if your set-top box’s IP address is 123.4.5.67, enter the following<br />

command:<br />

telnet 123.4.5.67<br />

2. You are prompted to enter log-in details. The user name to log in as is root; the<br />

password is root2root (unless you have changed the password for the root<br />

user).<br />

3. Enter libconfig commands, as required.<br />

Example command (get-config):<br />

libconfig-get SETTINGS.DELAY_FACTOR<br />

This command returns the DELAY_FACTOR setting from the SETTINGS file on the<br />

set-top box, and displays it in the console; if you request a setting for which no<br />

value is set, then no return value is displayed.<br />

Example command (set-config):<br />

libconfig-set SETTINGS.DELAY_FACTOR 5<br />

The new value (5) is confirmed in the console, followed by a note of the value<br />

you replaced:<br />

Setting 'SETTINGS.DELAY_FACTOR'='5'<br />

SETTINGS.DELAY_FACTOR currently '4'<br />

4. When you have finished, exit Telnet by typing the following command:<br />

quit<br />

9.4 libconfig configuration areas<br />

libconfig can be used to access various areas of configuration, using a unique prefix for<br />

each area. In most cases, libconfig can read or write settings, but there are a few<br />

exceptions for which libconfig access is read-only.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 76


Using libconfig<br />

NOR flash settings<br />

“Settings” settings<br />

Hostname setting<br />

Netconf settings<br />

Usersettings settings<br />

NOR flash configuration<br />

The NOR flash contains settings required by the ROM. In some cases, this can include<br />

static network settings (these would otherwise be set in the netconf file).<br />

libconfig prefix<br />

To create the key for use in libconfig commands, prefix the setting name with NORFLASH.<br />

For example, for the DI setting, the libconfig key is NORFLASH.DI.<br />

settings file<br />

The settings file contains various set-top box settings, such as languages, volume<br />

ranges and keyboard configuration.<br />

libconfig prefix<br />

To create the key for use in libconfig commands, prefix the setting name with SETTINGS.<br />

For example, to access the RTSPSERVER setting, the libconfig key is<br />

SETTINGS.RTSPSERVER.<br />

hostname file<br />

The hostname file contains just a single setting, that specifies the name of the set-top box.<br />

libconfig prefix<br />

To create the key for use in libconfig commands, prefix the setting name with HOSTNAME.<br />

For the HOSTNAME setting, the libconfig key is HOSTNAME.HOSTNAME.<br />

netconf file<br />

The netconf file contains network configuration settings. In some cases, the set-top box<br />

reads these settings from the NOR flash instead of from this file.<br />

libconfig prefix<br />

To create the key for use in libconfig commands, prefix the setting name with NETCONF.<br />

For example, to access the DHCPTIMEOUT setting, the libconfig key is<br />

NETCONF.DHCPTIMEOUT.<br />

usersettings file<br />

The usersettings file contains settings that the set-top box user controls (i.e. through<br />

the Preferences pages). These override the values specified for the same settings in the<br />

settings file.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 77


Using libconfig<br />

dhcpc settings<br />

libconfig prefix<br />

To create the key for use in libconfig commands, prefix the setting name with<br />

USERSETTINGS. For example, for the PREFERRED_LANG setting, the libconfig key is<br />

USERSETTINGS.PREFERRED_LANG.<br />

DHCPC settings<br />

The dynamic network and multicast upgrade settings retrieved from the DHCP server are<br />

stored in a file called dhcpcd-eth0.info. These values are only set if the set-top box uses<br />

dynamic network and Multicast upgrade settings; otherwise, the static values are defined<br />

in the NOR flash or the netconf file. The DHCPC values are read-only.<br />

libconfig prefix<br />

To create the key for use in libconfig commands, prefix the setting name with DHCPC. For<br />

example, for the DNS setting, the libconfig key is DHCPC.DNS.<br />

See also:<br />

For a list of settings available in each of these configuration areas, see Set-top<br />

box configuration settings on page 79<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 78


10Set-top box configuration settings<br />

The following sections list the main settings needed to customise set-top boxes, including<br />

the settings that can be HTML Configuration pages (see HTML Configuration pages -<br />

settings used on page 92 for a list of the configuration settings that can be accessed via<br />

the Configuration pages in Fresco and Opera builds).<br />

See also:<br />

10.1settings file contents<br />

<br />

See the Set-Top Box Management Configuration Guide for a complete list of<br />

the settings available, and for more information on how to access and edit them.<br />

The following table describes the settings available in the settings file. Note that whether<br />

these values are used depends on the software and hardware build.<br />

Default values listed here are used if no value is supplied. Default values are often buildspecific<br />

though, so may not be as listed here.<br />

The examples show how to enter the setting if you are editing the settings file directly (note<br />

that the values are all enclosed in quotation marks). See the appropriate documentation for<br />

information on how to enter values using other means (e.g. JMACX, libconfig via Telnet).<br />

Setting Allowed values Description<br />

BROWSER_HELPPAGE URL<br />

BROWSER_HOMEPAGE URL<br />

Sets the help page. This is the URL for the page<br />

that the browser goes to when the Help key is<br />

pressed.<br />

Example:<br />

BROWSER_HELPPAGE=”http://www.aminocom.co<br />

m/help”<br />

Sets the home page. This is the URL for the page<br />

that the browser goes to when the Home key is<br />

pressed and when the set-top box has booted<br />

successfully.<br />

Default: “about:/start.htm”<br />

BROWSER_ENABLECO<br />

OKIES<br />

Y enable<br />

N disable<br />

Example:<br />

BROWSER_HOMEPAGE=”http://www.aminocom.co<br />

m”<br />

Enables or disables cookies.<br />

Note: This setting can’t be accessed via<br />

libconfig.<br />

Default: Y<br />

Example: BROWSER_ENABLECOOKIES=”N”<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 79


Set-top box configuration settings<br />

Setting Allowed values Description<br />

BROWSER_MARGIN_L<br />

EFT<br />

BROWSER_MARGIN_R<br />

IGHT<br />

BROWSER_MARGIN_T<br />

OP<br />

BROWSER_MARGIN_B<br />

OTTOM<br />

1 - 100 Sets the browser margins as a percentage of the<br />

graphics plane size.<br />

Note: You are not recommended to set these<br />

values to 100, as this would set the margins to<br />

cover the entire graphics plane.<br />

Example: BROWSER_MARGIN_LEFT=”20”<br />

RTSP_SCALE 1 - 6 The default fast forward and rewind multiplier.<br />

Default: 6<br />

FULLSCREEN<br />

IME<br />

SUBTITLES<br />

Y full screen<br />

N not full screen<br />

el Greek<br />

ge German<br />

ru Russian<br />

sl Slovenian<br />

”” no IME<br />

Y subtitles on<br />

N subtitles on<br />

Example: RTSP_SCALE=”2”<br />

Enables or disables full screen mode.<br />

In full screen mode, the graphics plane is set to<br />

100% of the video plane.<br />

In non-full-screen mode, the graphics plane is set<br />

to 90% (safe area), so that the entire plane will be<br />

visible on all televisions.<br />

Default: N<br />

Example: FULLSCREEN=”Y”<br />

Specifies which built-in IME (input method editor)<br />

to use.<br />

By default no IME is enabled.<br />

Default: ““<br />

Example: IME=”ru”<br />

Enables or disables subtitle display.<br />

Available in subtitle builds only.<br />

Default: N<br />

SUBTITLES_OPTION ““ standard<br />

H subtitles on for<br />

hearing-impaired<br />

(dependant on<br />

build)<br />

Example: SUBTITLES=”Y”<br />

Sets how subtitles are displayed, if enabled (with<br />

SUBTITLES setting).<br />

Default: ““<br />

Example: SUBTITLES_OPTION=”H”<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 80


Set-top box configuration settings<br />

Setting Allowed values Description<br />

IR_BRAND 0 - 15 Sets the IR brand code, used to link the set-top<br />

box to certain Amino remote controls.<br />

Set 0 for the set-top box to respond to all remote<br />

controls. Set other values for the set-top box to<br />

respond only to remote controls configured with<br />

the same number.<br />

See the Set-Top Box Management Operations<br />

Guide for details of how to pair a remote control<br />

with a set-top box.<br />

Default: ““<br />

IGMP_START_TIMEO<br />

UT<br />

Example: IR_BRAND=”10”<br />

0 - 30 Sets the number of seconds before a no-video<br />

event is raised for multicast video.<br />

Set 0 for never timeout.<br />

Default: 30<br />

IGMP_END_TIMEOUT 0 - 30<br />

Example: IGMP_START_TIMEOUT=”15”<br />

Sets the number of seconds before an end-ofmedia<br />

event is raised for multicast video.<br />

Set 0 for never timeout.<br />

Default: 30<br />

RTSP_START_TIMEO<br />

UT<br />

Example: IGMP_END_TIMEOUT=”15”<br />

0 - 30 Sets the number of seconds before a no-video<br />

event is raised for RTSP video.<br />

Set 0 for never timeout.<br />

Default: 4<br />

RTSP_END_TIMEOUT 0 - 30<br />

Example: RTSP_START_TIMEOUT=”15”<br />

Sets the number of seconds before an end-ofmedia<br />

event is raised for RTSP video.<br />

Set 0 for never timeout.<br />

RTSP_SERVER<br />

ncube<br />

mediabase<br />

oracle<br />

concurrent<br />

bitband<br />

infovalue<br />

seachange<br />

eona<br />

smartvision<br />

Default: 6<br />

Example: RTSP_END_TIMEOUT=”15”<br />

Sets the default video server type.<br />

Default: ncube<br />

Example: RTSP_SERVER=”mediabase”<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 81


Set-top box configuration settings<br />

Setting Allowed values Description<br />

HTTP_PROXY_IGNOR<br />

E<br />

HTTPS_PROXY<br />

List of sites to ignore if HTTP proxy is enabled.<br />

Opera browser only.<br />

Default: ““<br />

Example:<br />

HTTP_PROXY_IGNORE=”http://www.bbc.co.uk”<br />

Sets the proxy server for HTTPS transactions.<br />

Enter the IP address and port in the format<br />

host:port; for example: 123.4.5.67:1234<br />

Opera browser only.<br />

HTTP_PROXY<br />

USE_PROXY<br />

DISPLAY_MODE<br />

Y enable<br />

N disable<br />

panscan 4:3 pan<br />

and scan<br />

letterbox 4:3<br />

letterbox<br />

widescreen 16:9<br />

widescreen<br />

Example: HTTPS_PROXY=”123.4.5.67:1234”<br />

Sets the proxy server for HTTP transactions.<br />

Enter the IP address and port in the format<br />

host:port; for example: 123.4.5.67:1234<br />

Opera browser only.<br />

Example: HTTP_PROXY=”123.4.5.67:1234”<br />

Enables or disables the use of HTTP, HTTPs and<br />

FTP proxy servers.<br />

Opera browser only. For Fresco and Escape, this<br />

is set in the browser’s settings file.<br />

Example: USE_PROXY=”Y”<br />

Configures how the video is formatted for the TV.<br />

Select panscan for televisions that can’t do<br />

automatic aspect ratio switching, and you want<br />

the video image to fill the full 4:3 screen. In this<br />

mode, 4:3 content fits the screen correctly, and<br />

any 16:9 video content is cropped on the left and<br />

right sides.<br />

Select letterbox for televisions that can’t do<br />

automatic aspect ratio switching, and you want to<br />

display the full 16:9 content. In this mode, 4:3<br />

content fits the screen correctly, and any 16:9<br />

content is displayed in full, with black bars above<br />

and below it.<br />

Select widescreen for televisions that can do<br />

automatic ratio switching. In this mode, the<br />

television switches between 4:3 and 16:9<br />

depending on the video content, and full content<br />

is displayed for both.<br />

Default: panscan<br />

Example: DISPLAY_MODE=”widescreen”<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 82


Set-top box configuration settings<br />

Setting Allowed values Description<br />

AUTO_SD_SWITCH<br />

Y automatically<br />

switch to NTSC-M<br />

output<br />

N maintain aspect<br />

ratio by<br />

pillarboxing the<br />

image within the<br />

HDTV video<br />

signal (720 or<br />

1080)<br />

Sets how 4:3 SDTV video channels are handled<br />

when the set-top box is set to an HDTV output<br />

type (i.e. with NOR flash TVSYSTEM).<br />

For 4:3 HD televisions, if TVSYSTEM is set to 720 or<br />

1080 and AUTO_SD_SWITCH is set to N, the 4:3<br />

SDTV video image is displayed in the centre of<br />

the screen, with black borders all around it. Set<br />

AUTO_SD_SWITCH to Y to get a 4:3 image that fills<br />

the whole screen on these televisions.<br />

Default: N<br />

SUBTITLES_PREF_L<br />

ANG<br />

SUBTITLES_SECOND<br />

_LANG<br />

ISO 639-2<br />

language code<br />

ISO 639-2<br />

language code<br />

PREFERRED_LANG ISO 639-2<br />

language code<br />

SECONDARY_LANG ISO 639-2<br />

language code<br />

Example: AUTO_SD_SWITCH=”Y”<br />

Sets the primary language for default subtitle<br />

display.<br />

Example: SUBTITLES_PREF_LANG=”fra”<br />

Sets the secondary language for default subtitle<br />

display.<br />

Example: SUBTITLES_SECOND_LANG=”fra”<br />

Sets the primary language for the default audio<br />

stream selection.<br />

Set ““ for automatic language selection.<br />

Example: PREFERRED_LANG=”fra”<br />

The secondary language for the default audio<br />

stream selection.<br />

Set ““ for automatic language selection.<br />

DELAY_FACTOR<br />

REPEAT_RATE<br />

1 16cs<br />

2 32cs<br />

3 64cs<br />

4 96cs<br />

0 off<br />

2 - 30 repeat rate<br />

(in cs)<br />

Example: SECONDARY_LANG=”fra”<br />

Sets the length of time that a user holds a key<br />

down on an IR input device (e.g. the keyboard) in<br />

order to make it repeat.<br />

Default: 2<br />

Example: DELAY_FACTOR=”1”<br />

Sets the key repeat rate in centi-seconds, to<br />

control the number of characters per second that<br />

a user can enter via an IR input device (e.g. the<br />

keyboard). “0” indicates no key repeat. "2", "4",<br />

"6" … "30" indicate number of centi-seconds of<br />

repeat.<br />

Default: 8<br />

Example: REPEAT_RATE=”0”<br />

MAXIMUM_VOLUME 0 - 100 Sets the maximum volume.<br />

Default: 100<br />

Example: MAXIMUM_VOLUME=”100”<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 83


Set-top box configuration settings<br />

Setting Allowed values Description<br />

MINIMUM_VOLUME 0 - 100 Sets the minimum volume.<br />

Default: 0<br />

RFBOOST_MPEG<br />

RFBOOST_DOLBY<br />

TEXT_ENTRY<br />

ENABLE_TRUSTED_D<br />

OMAINS<br />

Y enable<br />

N disable<br />

Y enable<br />

N disable<br />

1 enable<br />

0 disable<br />

Y enable<br />

N disable<br />

Example: MINIMUM_VOLUME=”20”<br />

Sets whether RF audio level boosting is enabled<br />

or disabled.<br />

A110-BGA only.<br />

Default: N<br />

Example: RFBOOST_MPEG=”Y”<br />

Sets whether Dolby audio level boosting is<br />

enabled or disabled.<br />

A110-BGA only.<br />

Default: N<br />

Example: RFBOOST_DOLBY=”Y”<br />

Enables or disables remote text entry via the<br />

remote control. If text entry is enabled, the user<br />

enters text by holding down the appropriate<br />

number key. Note that REPEAT_RATE must be set<br />

to zero in order for remote text entry to be<br />

enabled.<br />

Example: TEXT_ENTRY=”1”<br />

Enable or disable use of trusted domains. If the<br />

use of trusted domains is enabled, pages that use<br />

Javascript or Macrovision are checked against<br />

the list of trusted hosts. If trusted domains is<br />

disabled, then Javascript and Macrovision calls<br />

are executed from any web page. Note that if<br />

trusted domains is set, only URLs listed can<br />

execute Macrovision calls.<br />

Opera and Escape browsers only.<br />

Note: This setting can’t be accessed via<br />

libconfig.<br />

Default: N<br />

TVI_TYPE<br />

NTPCLIENT_TIMEOU<br />

T<br />

0 Philips<br />

1 Zenith<br />

2 LG<br />

3 Mate<br />

(Sony/Panasonic)<br />

Example: ENABLE_TRUSTED_DOMAINS=”Y”<br />

Configures which TV type the TVI interface needs<br />

to use on the PIC.<br />

Hospitality platforms only.<br />

Example: TVI_TYPE=”0”<br />

Sets the NTP client timeout (in seconds).<br />

Example: NTPCLIENT_TIMEOUT=”10”<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 84


Set-top box configuration settings<br />

10.2netconf file contents<br />

The following table describes the settings available in the netconf file. Note that whether<br />

these values are used depends on the software and hardware build.<br />

Default values listed here are used if no value is supplied. In many cases, the default value<br />

is build-specific, so may not be as specified here.<br />

The examples show how to enter the setting if you are editing the netconf file directly (note<br />

that the values are all enclosed in quotation marks). See the appropriate documentation for<br />

information on how to enter values using other means (e.g. JMACX, libconfig via Telnet).<br />

Setting Allowed values Description<br />

DOMAIN<br />

Specifies a domain for the set-top box.<br />

TIME_ZONE<br />

PACKET_ORDERING<br />

Y enable<br />

N disable<br />

Example: DOMAIN=”aminocom.com”<br />

Sets the time zone.<br />

Example: TIME_ZONE=”GMT”<br />

Enables or disables using packet ordering.<br />

Example: PACKET_ORDERING=”Y”<br />

10.3NOR flash - list of settings<br />

The following table describes the settings available in the NOR flash. Note that whether<br />

these values are used depends on the software and hardware build.<br />

Default values listed here are used if no value is supplied. Note, though, that in many cases<br />

the actual default is build-specific, so may not be as specified here.<br />

Setting Values Description<br />

DI<br />

Specifies the deployment index (DI) of the<br />

software image loaded on the set-top box.<br />

Read-only.<br />

LOCK<br />

0 not locked<br />

1 locked<br />

Specifies the lock state of the NOR flash.<br />

If this is set to 1, values such as the MAC address,<br />

serial number and some CA settings that identify<br />

an individual set-top box cannot be changed.<br />

Read-only, except in production builds.<br />

MAC_ADDRESS aa:bb:cc:dd:ee: Sets the unique MAC address of the set-top box.<br />

ff format<br />

If the MAC address is changed, then the set-top<br />

box needs to be rebooted for the new value to<br />

take effect.<br />

Read-only, except in production builds.<br />

SERIAL_ID<br />

Configures the unique serial ID of the set-top box.<br />

Read-only, except in production builds.<br />

Default: ““<br />

IDENT<br />

The NOR flash model identity string value.<br />

Read-only.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 85


Set-top box configuration settings<br />

Setting Values Description<br />

BOARDREV 00, 01, 02, 16, 17,<br />

32 - 47<br />

TVSYSTEM<br />

see separate<br />

Board revision<br />

numbers list for<br />

meanings<br />

PAL-B e.g.<br />

Australia, Ghana<br />

PAL-G e.g. Europe<br />

PAL-H e.g.<br />

Belgium<br />

PAL-I e.g. UK<br />

PAL-M e.g. Brazil<br />

PAL-N e.g. South<br />

America<br />

PAL-CN e.g.<br />

Argentina<br />

NTSC-J e.g.<br />

Japan<br />

NTSC-M e.g. US<br />

The following<br />

values are for the<br />

AmiNET120 only:<br />

SD set from HD<br />

back to SDTV<br />

1080i59 HDTV<br />

1080i 59Hz<br />

refresh<br />

1080i50 HDTV<br />

1080i 50Hz<br />

refresh<br />

720p59 HDTV<br />

720p 59Hz refresh<br />

720p50 HDTV<br />

720p 50Hz refresh<br />

576p50 50Hz<br />

refresh PAL SDTV<br />

resolution (but<br />

progressive scan)<br />

480p59 59Hz<br />

refresh NTSC<br />

SDTV resolution<br />

(but progressive<br />

scan)<br />

Specifies the board type (relates to the region that<br />

the set-top box is designed to work in and<br />

indicates board features).<br />

Read-only.<br />

Sets the TV system that the set-top box will<br />

operate in.<br />

Note: after the value has been altered the set-top<br />

box has to be rebooted for the change to take<br />

effect.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 86


Set-top box configuration settings<br />

Setting Values Description<br />

RFMOD_CHAN<br />

RFMOD_ENABLE<br />

RFMOD_FREQTABLE<br />

OUTFMT<br />

Y enable<br />

N disable<br />

BROADCAST<br />

CABLE<br />

CVBS-RGBOFF<br />

Composite<br />

CVBS-RGBON<br />

Composite + RGB<br />

LC-RGBOFF S-<br />

video<br />

LC-RGBON” S-<br />

video + RGB<br />

CVBS-LC<br />

Composite + S-<br />

video<br />

CVBS-LBR<br />

Composite +<br />

Component<br />

LBR-CVBS-LC<br />

Component +<br />

Composite + S-<br />

video<br />

RGB-CVBS-LC<br />

Composite + S-<br />

video + RGB<br />

PPP_USERNAME max. 20<br />

characters<br />

PPP_PASSWORD max. 20<br />

characters<br />

PPP_DIALUP<br />

max. 32 digits; no<br />

spaces<br />

Sets the RF channel for boards that have an RF<br />

tuner.<br />

Default: ““<br />

Enables or disables the RF tuner for boards that<br />

have one.<br />

Configures whether the RF tuner is cable or<br />

broadcast.<br />

Configures the output format for the set-top box to<br />

use.<br />

Configures the user name to use in PPP builds.<br />

PPP builds only.<br />

Default: ““<br />

Configures the password to use in PPP builds.<br />

PPP builds only.<br />

Default: ““<br />

Configures the dial up phone number for PPP<br />

builds.<br />

PPP builds only.<br />

Default: ““<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 87


Set-top box configuration settings<br />

Setting Values Description<br />

MULTICAST_BOOTST<br />

RAP_GROUP<br />

MULTICAST_BOOTST<br />

RAP_PORT<br />

valid multicast IP Configures a static multicast bootstrap group.<br />

address in range Enter a valid IP address for the group, and set<br />

224.0.0.0 - MULTICAST_BOOTSTRAP_PORT with the port to use.<br />

239.255.255.255<br />

This value is used:<br />

<br />

as a fall-back bootstrap group when the<br />

group and port specified by DHCP<br />

cannot be found<br />

for deployments where booting<br />

information is not held on a DHCP<br />

server<br />

If this is not set with a valid multicast IP address,<br />

the set-top box tries to retrieve a valid IP address<br />

via DHCP. If this is not successful, the set-top box<br />

reboots.<br />

Note: The set-top box always tries to use a value<br />

served from a DHCP in preference to the<br />

statically defined value, unless DHCP is set to N.<br />

Default: 0.0.0.0<br />

0 - 65535 Configures a static multicast bootstrap port. You<br />

will also need to set<br />

MULTICAST_BOOTSTRAP_GROUP with the IP<br />

address to use.<br />

This value is used:<br />

<br />

as a fall-back bootstrap group when the<br />

group and port specified by DHCP<br />

cannot be found<br />

for deployments where booting<br />

information is not held on a DHCP<br />

server<br />

Note: The set-top box always tries to use a value<br />

served from a DHCP in preference to the<br />

statically defined value, unless DHCP is set to N.<br />

Default: 0<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 88


Set-top box configuration settings<br />

Setting Values Description<br />

MULTICAST_UPGRAD<br />

E_GROUP<br />

MULTICAST_UPGRAD<br />

E_PORT<br />

MULTICAST_FILESY<br />

STEM_GROUP<br />

valid multicast IP Configures a static multicast upgrade group.<br />

address in range Enter a valid IP address for the group, and set<br />

224.0.0.0 - MULTICAST_UPGRADE_PORT with the port to use.<br />

239.255.255.255<br />

This value is used:<br />

for deployments where booting<br />

information is not held on a DHCP<br />

server<br />

If this is not set with a valid multicast IP address,<br />

the set-top box tries to retrieve a valid IP address<br />

via DHCP. If this is not successful, the set-top box<br />

reboots.<br />

Note: The set-top box always tries to use a value<br />

served from a DHCP in preference to the<br />

statically defined value, unless DHCP is set to N.<br />

Default: 0.0.0.0<br />

0 - 65535 Configures a static multicast upgrade port. You<br />

will also need to set MULTICAST_UPGRADE_GROUP<br />

with the IP address to use.<br />

This value is used:<br />

valid multicast IP<br />

address in range<br />

224.0.0.0 -<br />

239.255.255.255<br />

for deployments where booting<br />

information is not held on a DHCP<br />

server<br />

Note: The set-top box always tries to use a value<br />

served from a DHCP in preference to the<br />

statically defined value, unless DHCP is set to N.<br />

Default: 0<br />

Configures a static multicast file system group.<br />

Enter a valid IP address for the group, and set<br />

MULTICAST_FILESYSTEM_PORT with the port to<br />

use.<br />

This value is used:<br />

for deployments where booting<br />

information is not held on a DHCP<br />

server<br />

If this is not set with a valid multicast IP address,<br />

the set-top box tries to retrieve a valid IP address<br />

via DHCP. If this is not successful, the set-top box<br />

reboots.<br />

Note: the set-top box always tries to use a value<br />

served from a DHCP in preference to the statically<br />

defined value, unless DHCP is set to N.<br />

Default: 0.0.0.0<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 89


Set-top box configuration settings<br />

Setting Values Description<br />

MULTICAST_FILESY<br />

STEM_PORT<br />

SUBTITLES<br />

ETHERNET<br />

DHCP<br />

0 - 65535 Configures a static multicast file system port. You<br />

will also need to set<br />

MULTICAST_FILESYSTEM_GROUP with the IP<br />

address to use.<br />

This value is used:<br />

Y enable<br />

N disable<br />

AUTO auto-detect<br />

10HD 10Mbit/s half<br />

duplex<br />

10FD 10Mbit/s full<br />

duplex<br />

100HD 100Mbit/s<br />

half duplex<br />

100FD 100Mbit/s<br />

full duplex<br />

Y always use<br />

DHCP<br />

N do not use<br />

DHCP<br />

for deployments where booting<br />

information is not held on a DHCP<br />

server<br />

Note: the set-top box always tries to use a value<br />

served from a DHCP in preference to the statically<br />

defined value, unless DHCP is set to N.<br />

Default: 0<br />

Enable or disable the subtitle display when<br />

playing video that contains subtitles.<br />

Subtitle builds only.<br />

Sets the default speed for the main ethernet port.<br />

Default: AUTO<br />

Configures if and how configuration information is<br />

used from a DHCP server. This value is used if<br />

USE_NOR is set to Y in the netconf file. Note that if<br />

you set “N”, the multicast upgrade values and<br />

other settings are read from the settings listed in<br />

this table (e.g. the MULTICAST_ settings).<br />

IPADDR valid IP address Configures the static IP address of the set-top<br />

box. This is the value used if DHCP is set to N.<br />

NETMASK valid IP address Specifies the static netmask for the set-top box.<br />

This is the value used if DHCP is set to N.<br />

GATEWAY valid IP address Specifies the gateway for the set-top box. This is<br />

the value used if DHCP is set to N.<br />

DNS valid IP address Specifies the IP address of the DNS that the settop<br />

box should be using. This is the value used if<br />

DHCP is set to N.<br />

TIME_SERVER valid IP address Specifies the location of the time server for the<br />

set-top box to use. This is the value used if DHCP<br />

is set to N.<br />

TFTP_SERVER valid IP address Specifies a static TFTP server IP address.<br />

Only used for systems that use the TFTP upgrade<br />

mechanism instead of DHCP.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 90


Set-top box configuration settings<br />

10.4Channels file contents<br />

The file contains just a list of channel numbers and the URL for them, in the following<br />

format:<br />

Example:<br />

<br />

123 http: igmp://239.255.250.2:11111<br />

Channel numbers can be in the range 0 - 999, and they do not have to run consecutively or<br />

start at zero (e.g., you could just configure channels 100 - 199).<br />

10.5Trusted domains file contents<br />

The file contains a list of trusted domains, each one on a separate line, with a code that<br />

indicates what is enabled. The format for each line is as follows:<br />

<br />

<br />

Code that indicates what is enabled for the specified domain.<br />

Values can be as follows:<br />

0 neither Macrovision nor Javascript enabled<br />

1 Macrovision enabled, Javascript disabled (unlikely to need<br />

setting)<br />

2 Javascript enabled, Macrovision disabled<br />

<br />

3 both Javascript and Macrovision enabled<br />

URL for the trusted domain. This can use asterisks as wildcards.<br />

Example:<br />

3 *.aminocom.com<br />

Important: The rules specified in the trsdmns.txt file are applied in the order they are<br />

stated, so you need to take care when adding domains to ensure that the rules are applied<br />

as intended.<br />

For example, in the following file, 3 specifies that Macrovision and Javascript are enabled<br />

for the macrovision.aminocom.com domain, and 2 specifies that only Javascript is<br />

enabled for any other aminocom.com domain:<br />

3 macrovision.aminocom.com<br />

2 *.aminocom.com<br />

In the following alternative example - with the same settings re-ordered - only Javascript is<br />

enabled for any aminocom.com domain, and so Macrovision is not enabled for<br />

macrovision.aminocom.com, even though 3 would normally enable Macrovision - since<br />

Macrovision for this domain has already been ruled out in the previous line:<br />

10.6Usersettings file contents<br />

2 *.aminocom.com<br />

3 macrovision.aminocom.com<br />

The usersettings file can contain any of the settings normally specified in the settings file.<br />

Software builds for some browsers write certain settings to the usersettings file.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 91


Set-top box configuration settings<br />

10.7Hostname file contents<br />

The following table describes the settings available in the HOSTNAME file.<br />

Default values listed here are used if no value is supplied.<br />

The example shows how to enter the setting if you are editing the hostname file directly<br />

(note that the values are all enclosed in quotation marks). See the appropriate<br />

documentation for information on how to enter values using other means (e.g. JMACX,<br />

libconfig via Telnet).<br />

Setting Default value Description<br />

HOSTNAME<br />

The set-top box’s host name.<br />

10.8HTML Configuration pages - settings used<br />

The main settings needed to configure the set-top box can be accessed via the<br />

Configuration pages. Which configuration area these settings are read from (i.e.<br />

configuration file or NOR flash) depends on the software build. The following table shows<br />

which area the Configuration pages read and write settings to for the Fresco and Opera<br />

browsers (the setting is specified with the file name (or “NOR flash”) on the first line and<br />

the setting name on the next line).<br />

You may need this information if you want to trial settings via the Configuration pages and<br />

then copy the new configuration to the image components used to create a new software<br />

image.<br />

Management pages<br />

Area Fresco Opera<br />

Browser Setup page<br />

Home page<br />

config.txt<br />

settings<br />

Help page<br />

Use proxy<br />

Accept Cookies<br />

Disk Cache<br />

RAM Cache<br />

larch.document.default<br />

settings<br />

BROWSER_HELPPAGE<br />

config.txt<br />

access.proxy.http.on<br />

config.txt<br />

access.cookie.enable<br />

config.txt<br />

access.cache.size<br />

config.txt<br />

BROWSER_HOMEPAGE<br />

settings<br />

BROWSER_HELPPAGE<br />

settings<br />

USE_PROXY<br />

settings<br />

BROWSER_ENABLECOOKIES<br />

not used<br />

not used<br />

access.ramcache.size<br />

Channels page<br />

0-999 chnls.txt chnls.txt<br />

Proxy Setup page<br />

HTTP proxy host / port config.txt<br />

settings<br />

access.proxy.http<br />

HTTP_PROXY<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 92


Set-top box configuration settings<br />

Area Fresco Opera<br />

Secure proxy host / port config.txt<br />

settings<br />

FTP proxy host / port<br />

Don’t use proxy (list)<br />

Trusted Domains page<br />

Enable trusted domains<br />

Domain n URL<br />

Domain n Macrovision?<br />

Domain n Javascript?<br />

Video Setup page<br />

Default Video Server<br />

TV Standard<br />

Output Format<br />

Video Trick-play Scale<br />

No RTSP event timeout<br />

RTSP End of media event<br />

timeout<br />

No IGMP event timeout<br />

IGMP End of media event<br />

timeout<br />

No UDP event timeout<br />

UDP End of media event<br />

timeout<br />

access.proxy.https<br />

config.txt<br />

access.proxy.ftp<br />

config.txt<br />

access.proxy.http.igno<br />

re<br />

config.txt<br />

amino.trusted.domains<br />

trsdmns.txt<br />

(URL on line n)<br />

trsdmns.txt<br />

(Macrovision enabled if<br />

value on line n is 1 or 3)<br />

trsdmns.txt<br />

(Javascript enabled if value<br />

on line n is 2 or 3)<br />

settings<br />

RTSP_SERVER<br />

NOR flash<br />

TVSYSTEM<br />

NOR flash<br />

OUTFMT<br />

settings<br />

RTSP_SCALE<br />

settings<br />

RTSP_START_TIMEOUT<br />

settings<br />

RTSP_END_TIMEOUT<br />

settings<br />

IGMP_START_TIMEOUT<br />

settings<br />

IGMP_END_TIMEOUT<br />

settings<br />

UDP_START_TIMEOUT<br />

settings<br />

UDP_END_TIMEOUT<br />

HTTPS_PROXY<br />

not used<br />

settings<br />

HTTP_PROXY_IGNORE<br />

settings<br />

ENABLE_TRUSTED_DOMAINS<br />

trsdmns.txt<br />

(URL on line n)<br />

trsdmns.txt<br />

(Macrovision enabled if<br />

value on line n is 1 or 3)<br />

trsdmns.txt<br />

(Javascript enabled if value<br />

on line n is 2 or 3)<br />

settings<br />

RTSP_SERVER<br />

NOR flash<br />

TVSYSTEM<br />

NOR flash<br />

OUTFMT<br />

settings<br />

RTSP_SCALE<br />

settings<br />

RTSP_START_TIMEOUT<br />

settings<br />

RTSP_END_TIMEOUT<br />

settings<br />

IGMP_START_TIMEOUT<br />

settings<br />

IGMP_END_TIMEOUT<br />

settings<br />

UDP_START_TIMEOUT<br />

settings<br />

UDP_END_TIMEOUT<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 93


Set-top box configuration settings<br />

Area Fresco Opera<br />

Full screen mode<br />

settings<br />

settings<br />

Left Margin<br />

Right Margin<br />

Top Margin<br />

Bottom Margin<br />

MPEG RF Audio Boost<br />

Dolby RF Audio Boost<br />

FULLSCREEN<br />

config.txt<br />

fe_generic.display.mar<br />

gin.left<br />

config.txt<br />

fe_generic.display.mar<br />

gin.right<br />

config.txt<br />

fe_generic.display.mar<br />

gin.top<br />

config.txt<br />

fe_generic.display.mar<br />

gin.bottom<br />

settings<br />

RFBOOST_MPEG<br />

settings<br />

FULLSCREEN<br />

settings<br />

BROWSER_MARGIN_LEFT<br />

settings<br />

BROWSER_MARGIN_RIGHT<br />

settings<br />

BROWSER_MARGIN_TOP<br />

settings<br />

BROWSER_MARGIN_BOTTOM<br />

settings<br />

RFBOOST_MPEG<br />

settings<br />

RFBOOST_DOLBY<br />

Network Configuration page<br />

Ethernet Link<br />

NOR flash<br />

RFBOOST_DOLBY<br />

NOR flash<br />

DHCP Info<br />

Hostname<br />

IP Address<br />

Gateway<br />

Netmask<br />

Domain<br />

DNS<br />

Time Server<br />

ETHERNET<br />

NOR flash<br />

DHCP<br />

hostname<br />

HOSTNAME (or in netconf file,<br />

depending on build)<br />

NOR flash<br />

IPADDR (or in netconf file,<br />

depending on build)<br />

NOR flash<br />

GATEWAY (or in netconf file,<br />

depending on build)<br />

NOR flash<br />

NETMASK<br />

netconf<br />

DOMAIN<br />

NOR flash<br />

DNS<br />

NOR flash<br />

TIME_SERVER<br />

ETHERNET<br />

NOR flash<br />

DHCP<br />

hostname<br />

HOSTNAME (or in netconf file,<br />

depending on build)<br />

NOR flash<br />

IPADDR (or in netconf file,<br />

depending on build)<br />

NOR flash<br />

GATEWAY (or in netconf file,<br />

depending on build)<br />

NOR flash<br />

NETMASK<br />

netconf<br />

DOMAIN<br />

NOR flash<br />

DNS<br />

NOR flash<br />

TIME_SERVER<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 94


Set-top box configuration settings<br />

Area Fresco Opera<br />

Time Zone<br />

netconf<br />

netconf<br />

TIME_ZONE<br />

Multicast Bootstrap Address NOR flash<br />

TIME_ZONE<br />

NOR flash<br />

Multicast Bootstrap Port<br />

Multicast Upgrade Address<br />

Multicast Upgrade Port<br />

Multicast Filesystem<br />

Address<br />

Multicast Filesystem Port<br />

NTP Client timeout<br />

TFTP Server<br />

TFTP Load File<br />

Packet Ordering<br />

PPP Username<br />

PPP Password<br />

MULTICAST_BOOTSTRAP_GR<br />

OUP<br />

NOR flash<br />

MULTICAST_BOOTSTRAP_PO<br />

RT<br />

NOR flash<br />

MULTICAST_UPGRADE_GROU<br />

P<br />

NOR flash<br />

MULTICAST_UPGRADE_PORT<br />

NOR flash<br />

MULTICAST_FILESYSTEM_G<br />

ROUP<br />

NOR flash<br />

MULTICAST_FILESYSTEM_P<br />

ORT<br />

settings<br />

NTPCLIENT_TIMEOUT<br />

NOR flash<br />

TFTP_SERVER<br />

NOR flash<br />

TFTP_LOADFILE<br />

netconf<br />

PACKET_ORDERING<br />

NOR flash<br />

PPP_USERNAME<br />

NOR flash<br />

MULTICAST_BOOTSTRAP_GR<br />

OUP<br />

NOR flash<br />

MULTICAST_BOOTSTRAP_PO<br />

RT<br />

NOR flash<br />

MULTICAST_UPGRADE_GROU<br />

P<br />

NOR flash<br />

MULTICAST_UPGRADE_PORT<br />

NOR flash<br />

MULTICAST_FILESYSTEM_G<br />

ROUP<br />

NOR flash<br />

MULTICAST_FILESYSTEM_P<br />

ORT<br />

not used<br />

NOR flash<br />

TFTP_SERVER<br />

NOR flash<br />

TFTP_LOADFILE<br />

netconf<br />

PACKET_ORDERING<br />

NOR flash<br />

PPP_USERNAME<br />

NOR flash<br />

PPP_PASSWORD<br />

PPP_PASSWORD<br />

Hardware Information page<br />

Product hard coded hard coded<br />

Processor hard coded hard coded<br />

SDRam hard coded hard coded<br />

Flash hard coded hard coded<br />

Processor Speed hard coded hard coded<br />

Board Revision hard coded hard coded<br />

Software version page<br />

Version /etc/version /etc/version<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 95


Set-top box configuration settings<br />

Area Fresco Opera<br />

Identity page<br />

MAC Address<br />

NOR flash<br />

NOR flash<br />

Serial Number<br />

Infra-Red Configuration<br />

IR brand code<br />

TVI Configuration<br />

TVI protocol<br />

User Preferences pages<br />

MAC_ADDRESS<br />

NOR flash<br />

SERIAL_ID<br />

settings<br />

IR_BRAND<br />

settings<br />

TVI_TYPE<br />

MAC_ADDRESS<br />

NOR flash<br />

SERIAL_ID<br />

settings<br />

IR_BRAND<br />

settings<br />

TVI_TYPE<br />

Area Fresco Opera<br />

Keyboard settings page<br />

Repeat delay<br />

settings<br />

settings<br />

Repeat rate<br />

Enable remote text entry<br />

DELAY_FACTOR<br />

settings<br />

REPEAT_RATE<br />

settings<br />

DELAY_FACTOR<br />

settings<br />

REPEAT_RATE<br />

settings<br />

TEXT_ENTRY<br />

TV system and audio settings page<br />

Frequency table<br />

NOR flash<br />

RFMOD_FREQTABLE<br />

RF Channel / Use RF output NOR flash<br />

TEXT_ENTRY<br />

NOR flash<br />

RFMOD_FREQTABLE<br />

NOR flash<br />

Volume Minimum<br />

Volume Maximum<br />

TV display format<br />

Video output format<br />

Audio - Primary Language<br />

RFMOD_CHAN<br />

settings<br />

MINIMUM_VOLUME<br />

settings<br />

MAXIMUM_VOLUME<br />

settings<br />

DISPLAY_MODE<br />

NOR flash<br />

TVSYSTEM<br />

settings<br />

PREFERRED_LANG (or<br />

usersettings file if the file<br />

exists)<br />

RFMOD_CHAN<br />

settings<br />

MINIMUM_VOLUME<br />

settings<br />

MAXIMUM_VOLUME<br />

settings<br />

DISPLAY_MODE<br />

NOR flash<br />

TVSYSTEM<br />

usersettings<br />

PREFERRED_LANG / (in<br />

settings file instead in some<br />

builds)<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 96


Set-top box configuration settings<br />

Area Fresco Opera<br />

Audio - Secondary<br />

Language<br />

Subtitles page<br />

Enable (check box)<br />

settings<br />

SECONDARY_LANG (or<br />

usersettings file if the file<br />

exists)<br />

NOR flash<br />

usersettings<br />

SECOND_LANG / (in settings<br />

file instead in some builds)<br />

NOR flash<br />

Subtitle selection<br />

Primary Language<br />

Secondary Language<br />

SUBTITLES<br />

settings<br />

SUBTITLES_OPTION<br />

settings<br />

SUBTITLES_PREF_LANG (or<br />

usersettings file if the file<br />

exists)<br />

settings<br />

SUBTITLES_SECOND_LANG<br />

(or usersettings file if the file<br />

exists)<br />

SUBTITLES<br />

settings<br />

SUBTITLES_OPTION<br />

settings<br />

SUBTITLES_PREF_LANG<br />

settings<br />

SUBTITLES_SECOND_LANG<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 97


11Troubleshooting<br />

11.1 Set-top box LED flashing codes<br />

About flashing codes<br />

LED flashing codes<br />

The LED on the front of AmiNET set-top boxes indicates operational information such as<br />

errors during booting. A sequence of short and long flashes communicates the general<br />

type of information and the detail of the error.<br />

The flashing codes indicate 2 main groups of errors - information and fatal errors.<br />

Information errors: Information errors are indicated by shorter flashes. These errors<br />

generally require a reboot of the set-top box, but there are exceptions - for example if the<br />

set-top box can’t execute a command sent by STBremoteconf, it continues normal<br />

operation rather than rebooting. The following table shows the number of flashes that<br />

indicates the major groups of information errors.<br />

Major no. Error type<br />

of flashes<br />

1 Not full functionality<br />

2 Code upgrade failure<br />

3 Security/cryptographic issue (boot loader)<br />

4 Security/cryptographic issue (OS)<br />

5 Miscellaneous errors<br />

Fatal errors: Fatal errors are indicated by longer flashes. When the set-top box detects<br />

these errors, it flashes the LED error in an endless loop. Rebooting the set-top box in<br />

these cases may cause it to stop responding permanently, particularly after a NOR flash<br />

write failure. For this reason, the set-top box should not be rebooted until all diagnostics<br />

have been completed. The following table shows the number of flashes that indicates the<br />

major groups of fatal errors.<br />

Major no. Error type<br />

of flashes<br />

8 Cryptographic failure<br />

9 Hardware failure<br />

List of LED flashing codes<br />

Major Minor Error Set-top box behaviour Reboot<br />

1 Not full functionality<br />

1 1 No network connection. Repeats 3 times. Continues<br />

booting.<br />

No<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 98


Troubleshooting<br />

Major Minor Error Set-top box behaviour Reboot<br />

1 2 DHCP look-up failure. Repeats 3 times. Continues<br />

booting.<br />

1 3 I2C communication failure. Repeats 3 times. Continues<br />

booting.<br />

No<br />

No<br />

2 Code upgrade failure<br />

2 1 TFTP download failure. !poweron file is not saved.<br />

Reboots.<br />

2 2 BOOTP server not found. !poweron file is not saved.<br />

Reboots.<br />

2 3 Multicast group not found. Retries 3 times. If still<br />

unsuccessful, reboots.<br />

2 4 Multicast download timeout. Retries 3 times. If still<br />

unsuccessful, reboots.<br />

2 5 product file missing from<br />

running software.<br />

2 6 bin/products file missing from<br />

downloaded software upgrade<br />

image.<br />

2 7 bin/products file doesn’t<br />

match set-top box product (i.e.<br />

the software upgrade image is<br />

not suitable for this platform).<br />

2 8 Failed to load new NOR flash<br />

driver.<br />

Uses reflash (upgrade system is<br />

broken) then reboots.<br />

Reboots.<br />

Reboots.<br />

Reboots.<br />

Yes<br />

Yes<br />

Yes<br />

Yes<br />

Yes<br />

Yes<br />

Yes<br />

Yes<br />

3 Security/cryptographic issue (boot loader)<br />

3 1 Verification of download image<br />

failed.<br />

3 2 Signature check of<br />

listfile.sig failed.<br />

Deletes the image if saved in<br />

the flash. Retries 3 times. If still<br />

unsuccessful, STB reboots.<br />

Deletes the image if saved in<br />

the flash. Retries 3 times. If still<br />

unsuccessful, STB reboots.<br />

3 3 listfile.sig is missing. Erases the flash (assumed to be<br />

unsafe) and reboots.<br />

3 4 Missing file in the NAND flash<br />

(according to listfile.sig).<br />

3 5 File check against<br />

listfile.sig failed.<br />

3 6 File found in the NAND flash is<br />

not in listfile.sig.<br />

3 7 Unable to decode the customer<br />

public key on the STB.<br />

Erases the flash (assumed to be<br />

unsafe) and reboots.<br />

Erases the flash (assumed to be<br />

unsafe) and reboots.<br />

Erases the flash (assumed to be<br />

unsafe) and reboots.<br />

Reboots.<br />

Yes<br />

Yes<br />

Yes<br />

Yes<br />

Yes<br />

Yes<br />

4 Security/cryptographic issue (OS)<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 99


Troubleshooting<br />

Major Minor Error Set-top box behaviour Reboot<br />

4 1 Verification of download image<br />

failed<br />

4 2 Signature check of<br />

listfile.sig failed<br />

4 3 listfile.sig is missing or<br />

corrupted<br />

4 4 Software upgrade image DI<br />

(deployment index) is less than<br />

set-top box DI<br />

Deletes the image if saved in<br />

the flash. Retries 3 times. If still<br />

unsuccessful, reboots.<br />

Deletes the image if saved in<br />

the flash. Retries 3 times. If still<br />

unsuccessful, reboots.<br />

Erases the flash (assumed to be<br />

unsafe) and reboots.<br />

Deletes the image if saved in<br />

the flash. Retries 3 times. If still<br />

unsuccessful, reboots.<br />

4 5 Set DI failed. Deletes the code contents of the Yes<br />

flash, then reboots.<br />

4 6 STBremoteconf key not found. Ignores command. No<br />

4 7 STBremoteconf key failed to Ignores command.<br />

No<br />

verify.<br />

4 8 MD5 sum failure. Rejects software upgrade<br />

image.<br />

No<br />

4 9 Number of entries in<br />

listfile.sig doesn’t match<br />

files downloaded.<br />

Rejects software upgrade<br />

image.<br />

4 10 No DI found. Reboots. Yes<br />

Yes<br />

Yes<br />

Yes<br />

Yes<br />

No<br />

5 Miscellaneous errors<br />

5 1 NAND flash corruption. Reformats the NAND flash and<br />

reboots.<br />

5 2 PID mismatch when upgrading Reboots.<br />

the ROM.<br />

5 3 Failed to remove files on Reboots and retries.<br />

upgrade.<br />

5 4 Failed to set execute/start Clears the NAND flash.<br />

address in the NAND flash.<br />

5 5 Kernel panic / no root FS. Reboots (can’t clear the NAND<br />

flash).<br />

5 6 Invalid type of GIF file saved on Deletes the file.<br />

NAND flash.<br />

5 7 Failed to write files to NAND Clears the NAND flash<br />

flash.<br />

5 8 Failed to gunzip the boot ROM Rejects image and reboots.<br />

image.<br />

Yes<br />

Yes<br />

Yes<br />

Yes<br />

Yes<br />

Yes<br />

Yes<br />

Yes<br />

8 Cryptographic failure<br />

8 1 No master key found. Flashes in endless loop No<br />

8 2 No customer key found. Flashes in endless loop No<br />

8 3 Signature check of customer<br />

key failed.<br />

Flashes in endless loop No<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 100


Troubleshooting<br />

Major Minor Error Set-top box behaviour Reboot<br />

8 6 Verification of IntactOS code<br />

failed.<br />

Flashes in endless loop No<br />

9 Hardware failure<br />

9 1 Page write to ROM failed. Flashes in endless loop No<br />

9 2 NAND flash hardware / format Flashes in endless loop No<br />

failure.<br />

9 3 SDRAM access failure. Flashes in endless loop No<br />

9 4 Communication to Ethernet chip Flashes in endless loop No<br />

failed.<br />

11.2 STBremoteconf errors<br />

When using the STBremoteconf client, the following error messages may be displayed in<br />

response to sending a command:<br />

Message: Couldn’t convert to internet address: Resource temporarily unavailable.<br />

Explanation: The IP address specified was not in a valid format. IP addresses must be in<br />

the format aaa.bbb.ccc.ddd, where aaa and so on are numeric values (e.g. 10.0.0.1).<br />

Message: Couldn’t connect: Connection refused.<br />

Explanation: The set-top box IP address entered is not the address of a set-top box. Check<br />

that the address you entered is a set-top box address - e.g. check the address allocations<br />

in the DHCP server’s configuration file (subnet declaration).<br />

11.3 Browser display issues<br />

Issue: Video is visible around the edges of browser pages<br />

Explanation: In non-fullscreen mode, the browser renders graphics in a safe screen area<br />

that occupies around 90% of the full screen resolution, so that browser content is visible on<br />

all televisions.<br />

A side-effect of this is that if video is playing behind the graphics plane, it can be see around<br />

the edges of the browser pages.<br />

Solution: Enable fullscreen mode (e.g. via the set-top box Management pages - Video<br />

Setup page).<br />

The browser now fills the graphics plane, but may render content off the edge of the screen.<br />

To adjust this, re-set the browser’s margins (e.g. via the set-top box Management pages<br />

again).<br />

These margins define an area that the browser won’t draw HTML elements in. To render<br />

this area the same as the current background colour or image, the following tag will need<br />

to be added to the web pages that the browser is displaying:<br />


Appendix A:Configuration example:<br />

DHCP server and Multicast server for<br />

multiple types of set-top box<br />

A.1 DHCP server configuration file<br />

The following dhcpd.conf file contains settings for transmitting bootstrap and upgrade<br />

images for three different platforms.<br />

### Misc dhcp options<br />

allow bootp;<br />

ddns-update-style ad-hoc;<br />

filename="AMINET.txt";<br />

max-lease-time 360000;<br />

default-lease-time 360000;<br />

### Extra Options for AMINO option space (used for multicast)<br />

option space AMINO;<br />

option AMINO.address code 1 = ip-address;<br />

option AMINO.port code 2 = integer 16;<br />

option AMINO.product code 3 = text;<br />

option AMINO.option code 4 = text;<br />

option AMINO.version code 5 = text;<br />

option AMINO.middleware code 6 = ip-address;<br />

option AMINO.mw_port code 7 = integer 16;<br />

option AMINO.homepage code 8 = text;<br />

option AMINO.dindex code 9 = integer 32;<br />

option AMINO.dindex_min code 10 = integer 32;<br />

option AMINO.dindex_page code 11 = text;<br />

###<br />

### AmiNET110 Configuration Section<br />

###<br />

### Class "AmiNET110 mboot"<br />

# AmiNET110 - response to bootrom request for a bootstrap image<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 102


Configuration example: DHCP server and Multicast server for multiple types of set-top box<br />

class "AmiNET110 mboot"<br />

{<br />

match if (option vendor-classidentifier="aminoAMINET11xmboot1.31")<br />

or<br />

((substring(option vendor-encapsulated-options, 2,<br />

9)="AMINET11x")<br />

and (substring(option vendor-encapsulated-options, 13,<br />

5)="mboot"));<br />

}<br />

vendor-option-space AMINO;<br />

option AMINO.address 239.255.230.52;<br />

option AMINO.port 11111;<br />

### Class "AmiNET110 upgrd"<br />

# AmiNET110 - response to bootstrap request for a main upgrade<br />

image<br />

class "AmiNET110 upgrd"<br />

{<br />

match if (option vendor-classidentifier="Aminoaminet110upgrd")<br />

or<br />

((substring( option vendor-encapsulatedoptions,2,9)="aminet110")<br />

and (substring( option vendor-encapsulatedoptions,13,5)="upgrd"));<br />

}<br />

vendor-option-space AMINO;<br />

option AMINO.address 239.255.230.53;<br />

option AMINO.port 11111;<br />

### Class "AmiNET110 fisys"<br />

# AmiNET110 - response when booting in normal boot state<br />

class "AmiNET110 fisys"<br />

{<br />

match if (option vendor-classidentifier="Aminoaminet110fisys")<br />

or<br />

((substring( option vendor-encapsulated-options,<br />

2, 9)="aminet110")<br />

and (substring(option vendor-encapsulated-options, 13,<br />

5)="fisys"));<br />

}<br />

vendor-option-space AMINO;<br />

option AMINO.middleware 239.255.5.5;<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 103


Configuration example: DHCP server and Multicast server for multiple types of set-top box<br />

###<br />

### AmiNET130 Configuration Section<br />

###<br />

### Class "AmiNET130 mboot"<br />

# AmiNET130 - response to bootrom request for a bootstrap image<br />

class "AmiNET130 mboot"<br />

{<br />

match if (option vendor-classidentifier="aminoAMINET130mboot")<br />

or<br />

((substring(option vendor-encapsulated-options,<br />

2, 9)="AMINET130")<br />

and (substring(option vendor-encapsulated-options, 13,<br />

5)="mboot"));<br />

}<br />

vendor-option-space AMINO;<br />

option AMINO.address 239.255.230.90;<br />

option AMINO.port 11111;<br />

### Class "AmiNET130 upgrd"<br />

# AmiNET130 - response to bootstrap request for a main upgrade<br />

image<br />

class "AmiNET130 upgrd"<br />

{<br />

match if (option vendor-classidentifier="Aminoaminet130upgrd")<br />

or<br />

((substring( option vendor-encapsulatedoptions,2,9)="aminet130")<br />

and (substring( option vendor-encapsulatedoptions,13,5)="upgrd"));<br />

}<br />

vendor-option-space AMINO;<br />

option AMINO.address 239.255.230.91;<br />

option AMINO.port 11111;<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 104


Configuration example: DHCP server and Multicast server for multiple types of set-top box<br />

### Class "AmiNET130 fisys"<br />

# AmiNET130 - response when booting in normal boot state<br />

class "AmiNET130 fisys"<br />

{<br />

match if (option vendor-classidentifier="Aminoaminet130fisys")<br />

or<br />

((substring( option vendor-encapsulated-options,<br />

2, 9)="aminet130")<br />

and (substring(option vendor-encapsulated-options, 13,<br />

5)="fisys"));<br />

}<br />

vendor-option-space AMINO;<br />

###<br />

### AmiNET500 Configuration Section<br />

###<br />

### Class "AmiNET500 mboot"<br />

# AmiNET500 - response to bootrom request for a bootstrap image<br />

class "AmiNET500 mboot"<br />

{<br />

match if (option vendor-classidentifier="aminoAMINET5xxmboot")<br />

or<br />

((substring(option vendor-encapsulated-options,<br />

2, 9)="AMINET5xx")<br />

and (substring(option vendor-encapsulated-options, 13,<br />

5)="mboot"));<br />

}<br />

vendor-option-space AMINO;<br />

option AMINO.address 239.255.230.80;<br />

option AMINO.port 11111;<br />

### Class "AmiNET500 upgrd"<br />

# AmiNET500 - response to bootstrap request for a main upgrade<br />

image<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 105


Configuration example: DHCP server and Multicast server for multiple types of set-top box<br />

class "AmiNET500 upgrd"<br />

{<br />

match if (option vendor-classidentifier="Aminoaminet500upgrd")<br />

or<br />

((substring( option vendor-encapsulatedoptions,2,9)="aminet500")<br />

and (substring( option vendor-encapsulatedoptions,13,5)="upgrd"));<br />

}<br />

vendor-option-space AMINO;<br />

option AMINO.address 239.255.230.81;<br />

option AMINO.port 11111;<br />

### Class "AmiNET500 fisys"<br />

# AmiNET500 - response when booting in normal boot state<br />

class "AmiNET500 fisys"<br />

{<br />

match if (option vendor-classidentifier="Aminoaminet500fisys")<br />

or<br />

((substring( option vendor-encapsulated-options,<br />

2, 9)="aminet500")<br />

and (substring(option vendor-encapsulated-options, 13,<br />

5)="fisys"));<br />

}<br />

vendor-option-space AMINO;<br />

###<br />

### Subnet Declaration<br />

###<br />

subnet 10.172.0.0 netmask 255.255.0.0 {<br />

option routers 10.172.0.1;<br />

option subnet-mask 255.255.0.0;<br />

option domain-name "aminocom.com";<br />

option domain-name-servers 10.171.22.7,10.171.22.9;<br />

option time-offset 0; # Eastern Standard Time<br />

pool {<br />

range 10.172.230.50 10.172.230.100;<br />

}<br />

}<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 106


Configuration example: DHCP server and Multicast server for multiple types of set-top box<br />

A.2 Multicast server configuration file<br />

The following mcastbootd.conf file contains settings for transmitting bootstrap and<br />

upgrade images for three different platforms, as also configured in the DHCP<br />

configuration file. In this example, all the bootstrap images are stored in the same<br />

location, but named differently (e.g. bootstrap.110, bootstrap.130); the same method<br />

is used to uniquely identify the upgrade images. Note that the [Filesystem mc2] section<br />

here is a dummy section, required in order for the Multicast server to start successfully.<br />

[Server]<br />

LogLevel=4<br />

MulticastTTL=5<br />

[Image bootstrap.110]<br />

MulticastIPAddress=239.255.230.52<br />

MulticastUDPPort=11111<br />

FileName=bootstrap.110<br />

Description=Linux bootstrap image<br />

ImageType=1<br />

SerialNumber=1<br />

PacketSize=1456<br />

CycleTime=0<br />

[Image bootstrap.130]<br />

MulticastIPAddress=239.255.230.90<br />

MulticastUDPPort=11111<br />

FileName=bootstrap.130<br />

Description=Linux bootstrap image<br />

ImageType=1<br />

SerialNumber=1<br />

PacketSize=1456<br />

CycleTime=0<br />

[Image bootstrap.500]<br />

MulticastIPAddress=239.255.230.80<br />

MulticastUDPPort=11111<br />

FileName=bootstrap.500<br />

Description=Linux bootstrap image<br />

ImageType=1<br />

SerialNumber=1<br />

PacketSize=1456<br />

CycleTime=0<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 107


Configuration example: DHCP server and Multicast server for multiple types of set-top box<br />

[Filesystem mc2]<br />

MulticastIPAddress=239.255.230.100<br />

MulticastUDPPort=11111<br />

ImageName=mc2<br />

Description=upgrade filesystem<br />

SerialNumber=73<br />

DirsPerCycle=128<br />

DataRate=256<br />

[Filesystem mc110]<br />

MulticastIPAddress=239.255.230.53<br />

MulticastUDPPort=11111<br />

ImageName=mc110<br />

Description=upgrade filesystem<br />

SerialNumber=8<br />

DirsPerCycle=128<br />

DataRate=256<br />

[Filesystem mc130]<br />

MulticastIPAddress=239.255.230.91<br />

MulticastUDPPort=11111<br />

ImageName=mc130<br />

Description=upgrade filesystem<br />

SerialNumber=5<br />

DirsPerCycle=128<br />

DataRate=256<br />

[Filesystem mc500]<br />

MulticastIPAddress=239.255.230.81<br />

MulticastUDPPort=11111<br />

ImageName=mc500<br />

Description=upgrade filesystem<br />

SerialNumber=5<br />

DirsPerCycle=128<br />

DataRate=256<br />

A.3 DHCP and Multicast server matching values<br />

For each set-top box type set up in the DHCP server, the multicast values that the<br />

configuration specifies must match the values that the Multicast server uses for<br />

transmitting software images. The following table shows the equivalent settings in the<br />

example DHCP server and Multicast server configuration files shown here.<br />

DHCP server configuration<br />

class "AmiNET110 mboot"<br />

Multicast server configuration<br />

[Image bootstrap.110]<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 108


Configuration example: DHCP server and Multicast server for multiple types of set-top box<br />

DHCP server configuration<br />

Multicast server configuration<br />

option AMINO.address 239.255.230.52; MulticastIPAddress=239.255.230.52<br />

option AMINO.port 11111;<br />

MulticastUDPPort=11111<br />

class "AmiNET110 upgrd"<br />

[Filesystem mc110]<br />

option AMINO.address 239.255.230.53; MulticastIPAddress=239.255.230.53<br />

option AMINO.port 11111;<br />

MulticastUDPPort=11111<br />

class "AmiNET110 fisys"<br />

Example configuration file contains no<br />

settings for retrieving upgrade image in fisys<br />

state, but it could use the same values as in<br />

the [Filesystem mc110] section (e.g. if<br />

using deployment index for automatic<br />

upgrades).<br />

class "AmiNET130 mboot"<br />

[Image bootstrap.130]<br />

option AMINO.address 239.255.230.90; MulticastIPAddress=239.255.230.90<br />

option AMINO.port 11111;<br />

MulticastUDPPort=11111<br />

class "AmiNET130 upgrd"<br />

[Filesystem mc130]<br />

option AMINO.address 239.255.230.91; MulticastIPAddress=239.255.230.91<br />

option AMINO.port 11111;<br />

MulticastUDPPort=11111<br />

class "AmiNET500 mboot"<br />

[Image bootstrap.500]<br />

option AMINO.address 239.255.230.80; MulticastIPAddress=239.255.230.80<br />

option AMINO.port 11111;<br />

MulticastUDPPort=11111<br />

class "AmiNET500 upgrd"<br />

[Filesystem mc500]<br />

option AMINO.address 239.255.230.81; MulticastIPAddress=239.255.230.81<br />

option AMINO.port 11111;<br />

MulticastUDPPort=11111<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 109


Appendix B:Changing from TFTP to<br />

Multicast upgrade<br />

Amino software releases include the files needed to change TFTP-booting set-top boxes<br />

over to using the Multicast upgrade system instead. To make the change, the files need<br />

to be supplied to the set-top box via TFTP.<br />

B.1 To change a TFTP booting set-top box to Multicast upgrade<br />

The following steps assume you have a TFTP bootrom and a recent software release for<br />

that includes a tftpboot directory. The steps also assume you have set up a Multicast<br />

upgrade system and have suitable software bootstrap and upgrade images available via<br />

the Multicast server.<br />

Note: Note that in the following steps, stands for the full path to an Amino<br />

software release. If you followed examples during installation of the Multicast upgrade<br />

system, this is /usr/local/amino/releases/<br />

1. Log in as root.<br />

2. Delete the contents of your TFTP server’s directory.<br />

Example:<br />

rm -f /tftpboot/*<br />

3. Copy the contents of the tftpboot directory of the software release to your<br />

TFTP server’s directory.<br />

Example:<br />

cp //romupgrade/tftpboot* /tftpboot<br />

4. Update the set-top box using the normal TFTP procedure.<br />

The set-top box will wipe its NAND flash and download a new multicast-aware<br />

boot loader . It will then reset itself and enter the Multicast bootstrap state, and<br />

contact the DHCP server for Multicast bootstrap group settings.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 110


Appendix C:Video output formats<br />

C.1 AmiNET103<br />

The following sections show the output format possibilities for each set-top box platform,<br />

depending on the cables connected. The output format is normally set as part of<br />

configuration (e.g. via the Management pages or libconfig), but in some cases it is<br />

selected automatically - as detailed in the tables for each platform. The name of the<br />

setting or command used to change the output format depends on which tool you are<br />

using - see the documentation for the tool for details. Note that in the following tables<br />

Composite is the same as CVBS and Component is the same as YPbPr.<br />

C.2 AmiNET110, 110H<br />

Part no. Cables Output format<br />

configuration options<br />

RCA to SCART<br />

Composite<br />

RCA to RCA<br />

Composite<br />

Part no. Cables Output format<br />

configuration options<br />

502-418 10 pin Mini DIN to SCART Composite<br />

Composite + RGB<br />

S-video<br />

Composite + S-video<br />

502-594 10 pin Mini DIN to S-video Composite + S-video<br />

and Composite<br />

502-523 10 pin Mini DIN to Composite Composite<br />

(3RCA)<br />

002-596 10 pin Mini DIN to<br />

Component (5RCA)<br />

(obsolete)<br />

Composite + Component<br />

502-419 10 pin Mini DIN to 6RCA<br />

Component video and<br />

Composite<br />

Note that Sync is on Yellow<br />

(Sync on Green is not<br />

supported).<br />

10 pin Mini DIN to S-video<br />

(obsolete)<br />

Composite<br />

Composite + RGB<br />

Composite + Component<br />

Composite + S-video<br />

S-video<br />

S-video<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 111


C.3 AmiNET120<br />

With the AmiNET120, you don’t need to select output format in configuration - it is<br />

selected automatically. The following table shows the output format possibilities.<br />

C.4 AmiNET124<br />

Part no. Cables Output format<br />

configuration options<br />

502-594 10 pin Mini DIN to S-video Composite + S-video<br />

and Composite<br />

002-726 10 pin mini DIN to<br />

Component (5RCA)<br />

Composite + Component<br />

Note that Component video output is not supported on older AmiNET124 hardware (US<br />

board revision number 17; EU board revision number 02).<br />

C.5 AmiNET125<br />

Part no. Cables Output format<br />

configuration options<br />

502-418 10 pin Mini DIN to SCART Composite<br />

Composite + RGB<br />

Composite + S-video<br />

Composite + Component<br />

502-594 10 pin Mini DIN to S-video Composite + S-video<br />

and Composite<br />

502-523 10 pin Mini DIN to Composite Composite<br />

(3RCA)<br />

002-596<br />

obsolete<br />

10 pin Mini DIN to<br />

Component (5RCA)<br />

502-419 10 pin Mini DIN to 6RCA<br />

Component video and<br />

Composite<br />

Composite + Component<br />

Composite<br />

Composite + RGB<br />

Composite + Component<br />

Composite + S-video<br />

Part no. Cables Output format<br />

configuration options<br />

502-418 10 pin Mini DIN to SCART Composite<br />

Composite + RGB<br />

Composite + S-video<br />

Composite + Component<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 112


C.6 AmiNET130, 130H<br />

Part no. Cables Output format<br />

configuration options<br />

502-594 10 pin Mini DIN to S-video<br />

and Composite<br />

502-523 10 pin Mini DIN to Composite<br />

(3RCA)<br />

002-596<br />

obsolete<br />

10 pin Mini DIN to<br />

Component (5RCA)<br />

(obsolete)<br />

502-419 10 pin Mini DIN to 6RCA<br />

Component video and<br />

Composite<br />

Composite + S-video<br />

Composite<br />

Composite + Component<br />

Composite<br />

Composite + RGB<br />

Composite + Component<br />

Composite + S-video<br />

Note that when the HDMI cable is connected, the HD type is selected automatically.<br />

C.7 AmiNET500<br />

Part no. Cables Output format<br />

configuration options<br />

502-418 10 pin Mini DIN to SCART Composite<br />

Composite + RGB<br />

Composite + S-video<br />

Composite + Component<br />

502-594 10 pin Mini DIN to S-video Composite + S-video<br />

and Composite<br />

502-523 10 pin Mini DIN to Composite Composite<br />

(3RCA)<br />

502-419 10 pin Mini DIN to 6RCA<br />

Component video and<br />

Composite<br />

Composite<br />

Composite + RGB<br />

Composite + Component<br />

Composite + S-video<br />

510-885 HDMI Composite + Component<br />

Any combination of the following cables:<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 113


Part no. Cables Output Configuration options<br />

(output format)<br />

002-777 Composite<br />

(RCA)<br />

Composite<br />

002-776 S-video S-video<br />

002-775 Component Component<br />

(3RCA)<br />

Depends on cables used.<br />

E.g. if S-video and<br />

Composite cables are<br />

connected, you can set<br />

Composite + S-video or just<br />

S-video or just Composite; if<br />

all three cables are<br />

connected, you can set<br />

Composite + Component +<br />

S-video - or any combination<br />

of the formats.<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 114


Index<br />

A<br />

ACAPS_CS_IP_SET (STBremoteconf) 63<br />

ACAPS_ENABLE (STBremoteconf) 63<br />

Amino key 14<br />

See also Keys<br />

AUTO_SD_SWITCH (settings file) 85<br />

B<br />

BOARDREV (NOR flash) 88<br />

Bootstrap<br />

See also software images 13, 25<br />

bootstrap directory 21<br />

Bootstrap image 13, 25<br />

Distributing 13, 26<br />

Bootstrap state 10<br />

DHCP request 16<br />

DHCP response 16<br />

Operation 16<br />

bootstrap.unsigned 21<br />

Browser configuration files 45<br />

Browser Setup (Management pages) 72,<br />

95<br />

BROWSER_ENABLECOOKIES (settings<br />

file) 81, 95<br />

BROWSER_HELPPAGE (settings file) 81<br />

BROWSER_HElPPAGE (settings file) 95<br />

BROWSER_HOMEPAGE (settings file)<br />

81, 95<br />

BROWSER_MARGIN_BOTTOM (settings<br />

file) 82, 97<br />

BROWSER_MARGIN_LEFT (settings file)<br />

82, 97<br />

BROWSER_MARGIN_RIGHT (settings<br />

file) 82, 97<br />

BROWSER_MARGIN_TOP (settings file)<br />

82, 97<br />

Build options<br />

Development builds 15<br />

Live builds 15<br />

C<br />

CHANGEPAGE (STBremoteconf) 63<br />

CHANGE-PWORD (STBremoteconf) 63<br />

CHANNEL (STBremoteconf) 64<br />

Channels (Management pages) 72, 95<br />

chnls.txt 45, 95<br />

Contents 93<br />

commands file 21<br />

config.txt 21, 45, 95–96<br />

config.txt file 97<br />

Configuration<br />

Set-top box (overview) 11<br />

Configuration key 14<br />

See also Keys<br />

Configuration pages 9, 71<br />

Configuring set-top box 43<br />

Controlling with keyboard 72<br />

Controlling with remote control 72<br />

mcnfg.tar 21<br />

Prerequisites 71<br />

Configuring<br />

Set-top box 43<br />

Browser configuration file 45<br />

chnls.txt 45<br />

config.txt 45<br />

Configuration pages 43<br />

Dropbear 43<br />

fkeys.conf file 45<br />

hostname file 45, 79<br />

Image components 43<br />

Management pages 95<br />

Multiple set-top boxes 46<br />

netconf file 45, 79<br />

NOR flash settings 45, 79<br />

opera.ini 45<br />

Options 43<br />

Pairing remote control 47<br />

Preferences pages 99<br />

Remote control keys 48<br />

settings file 45, 79<br />

SSH 43<br />

STBremoteconf 43<br />

Telnet 43<br />

trsdmns.txt 45<br />

usersettings file 45, 79<br />

Using Management pages 73<br />

Set-top boxes<br />

Prerequisites 46<br />

Customer key 14<br />

See also Keys<br />

D<br />

DEFAULT_VOLUME (STBremoteconf) 64<br />

DELAY_FACTOR (settings file) 85, 99<br />

DELETECUSTKEY (STBremoteconf) 64<br />

Deployment index 14<br />

Development build<br />

Build options 15<br />

DHCP (NOR flash) 92, 97<br />

DHCP request<br />

Bootstrap state 16<br />

Filesystem state 18<br />

Upgrade state 17<br />

DHCP response<br />

Bootstrap state 16<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 115


Filesystem state 19<br />

Upgrade state 18<br />

DHCP server 8<br />

DHCP settings<br />

Dynamic 46, 80<br />

DHCPC settings 46, 80<br />

dhcpd.conf 21<br />

DI<br />

See Deployment index<br />

DI (NOR flash) 87<br />

DISPLAY_MODE 84<br />

DISPLAY_MODE (settings file) 99<br />

DNS (NOR flash) 97<br />

DOMAIN (netconf file) 87, 97<br />

Dropbear 9<br />

Configuring set-top box 43<br />

Dynamic DHCP settings 46, 80<br />

E<br />

EAS (STBremoteconf) 64<br />

ENABLE_TRUSTED_DOMAINS (settings<br />

file) 86, 96<br />

ETHERNET (NOR flash) 92, 97<br />

ETHERNET (STBremoteconf) 65<br />

F<br />

FETCHFILE (STBremoteconf) 65<br />

Files<br />

Software release directory contents<br />

20<br />

Filesystem state 10<br />

DHCP request 18<br />

DHCP response 19<br />

Operation 18<br />

fisys<br />

see Filesystem state<br />

fkeys.conf 21, 45<br />

flashcontents file 21<br />

FULLSCREEN (settings file) 82, 96<br />

G<br />

GATEWAY (NOR flash) 92, 97<br />

GETVERSION (STBremoteconf) 65<br />

Graphic<br />

splash.gif 16<br />

Graphics<br />

loading.gif 21<br />

splash.gif 21<br />

H<br />

Hardware Information (Management<br />

pages) 72<br />

Hardware information (Management<br />

pages) 98<br />

HOSTNAME (hostname file) 94, 97<br />

hostname file 45, 79<br />

Contents 94<br />

HOSTNAME 94, 97<br />

HTML Configuration pages<br />

see Configuration pages 9, 71<br />

HTTP_PROXY (settings file) 84, 95<br />

HTTP_PROXY_IGNORE (settings file) 84,<br />

96<br />

HTTPS_PROXY (settings file) 84, 95<br />

HWINFO (STBremoteconf) 65<br />

I<br />

IDENT (NOR flash) 87<br />

Identity (Management pages) 72, 98<br />

IGMP_END_TIMEOUT (settings file) 83,<br />

96<br />

IGMP_START_TIMEOUT (settings file)<br />

83, 96<br />

Image components<br />

Configuring set-top box 43<br />

imagecomponents directory 21<br />

IME (settings file) 82<br />

imgcfg file 21<br />

Infra-Red Configuration (Management<br />

pages) 73, 99<br />

Installing<br />

Perl modules for STBremoteconf 58<br />

IPADDR (NOR flash) 92, 97<br />

IR_BRAND (settings file) 83, 99<br />

K<br />

Keyboard<br />

Using with Configuration pages 72<br />

Using with Management pages 73<br />

Keyboard settings (Preferences pages) 99<br />

Keys<br />

Amino engineering keys<br />

keys directory 21<br />

Security Keys 10, 14<br />

keys directory 21<br />

L<br />

LED<br />

Flashing codes 101<br />

List 101<br />

Live build<br />

Build options 15<br />

loading.gif 21<br />

LOADKEY-CONF (STBremoteconf) 65<br />

LOADKEY-CUSTOMER (STBremoteconf)<br />

65<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 116


LOADKEY-OPERATOR (STBremoteconf)<br />

65<br />

Local management 9<br />

LOCK (NOR flash) 87<br />

LOCK (STBremoteconf) 65<br />

LOGREAD (STBremoteconf) 65<br />

M<br />

MAC_ADDRESS (NOR flash) 87, 99<br />

MACADDRESS (STBremoteconf) 65<br />

Management pages 9, 71<br />

Browser Setup 72<br />

Channels 72<br />

Configuration settings used 95<br />

Browser Setup 95<br />

Channels 95<br />

Hardware information 98<br />

Identity 98<br />

Infra-Red 99<br />

Network 97<br />

Proxy Setup 95<br />

Software version 98<br />

Trusted Domains 96<br />

TVI 99<br />

Video Setup 96<br />

Controlling with keyboard 73<br />

Editing configuration 73<br />

Hardware Information 72<br />

Identity 72<br />

Infra-Red Configuration 73<br />

List of pages 72<br />

Network Configuration 72<br />

Overview 72<br />

Proxy Setup 72<br />

Reboot 73<br />

Rebooting set-top box 74<br />

Software Version 72<br />

Trusted Domains 72<br />

TVI Configuration 73<br />

Update Software 72<br />

Using 72<br />

Video Setup 72<br />

Viewing configuration 73<br />

MAXIMUM_VOLUME (settings file) 85, 99<br />

mboot<br />

see Bootstrap state<br />

MCASTADDR (STBremoteconf) 66<br />

mcastbootd binary file 21<br />

mcastbootd.conf 21<br />

mcnfg.tar 21<br />

MINIMUM_VOLUME (settings file) 86, 99<br />

Multicast server 8–9<br />

Multicast system<br />

Copying release files 22<br />

Diagram (overview) 8<br />

Overview of procedure 20<br />

Prerequisites 20<br />

Setting up 20<br />

MULTICAST_BOOTSTRAP_GROUP<br />

(NOR flash) 90, 98<br />

MULTICAST_BOOTSTRAP_PORT (NOR<br />

flash) 90, 98<br />

MULTICAST_FILESYSTEM_GROUP<br />

(NOR flash) 91, 98<br />

MULTICAST_FILESYSTEM_PORT (NOR<br />

flash) 92, 98<br />

MULTICAST_UPGRADE_GROUP (NOR<br />

flash) 91, 98<br />

MULTICAST_UPGRADE_PORT (NOR<br />

flash) 91, 98<br />

N<br />

netconf file 21, 45, 79<br />

DOMAIN 87, 97<br />

PACKET_ORDERING 87, 98<br />

TIME_ZONE 87, 97<br />

NETMASK (NOR flash) 92, 97<br />

Network Configuration (Management<br />

pages) 72, 97<br />

NOR flash<br />

BOARDREV 88<br />

DHCP 92, 97<br />

DI 87<br />

DNS 97<br />

ETHERNET 92, 97<br />

GATEWAY 92, 97<br />

IDENT 87<br />

IPADDR 92, 97<br />

LOCK 87<br />

MAC_ADDRESS 87, 99<br />

MULTICAST_BOOTSTRAP_GROU<br />

P 90, 98<br />

MULTICAST_BOOTSTRAP_PORT<br />

90, 98<br />

MULTICAST_FILESYSTEM_GROU<br />

P 91, 98<br />

MULTICAST_FILESYSTEM_PORT<br />

92, 98<br />

MULTICAST_UPGRADE_GROUP<br />

91, 98<br />

MULTICAST_UPGRADE_PORT<br />

91, 98<br />

NETMASK 92, 97<br />

OUTFMT 89, 96<br />

PPP_DIALUP 89<br />

PPP_PASSWORD 89, 98<br />

PPP_USERNAME 89, 98<br />

RFMOD_CHAN 89, 99<br />

RFMOD_ENABLE 89<br />

RFMOD_FREQTABLE 89, 99<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 117


SERIAL_ID 87, 99<br />

SUBTITLES 92, 100<br />

TFTP_LOADFILE 98<br />

TFTP_SERVER 92, 98<br />

TIME_SERVER 92, 97<br />

TVSYSTEM 88, 96, 99<br />

NOR flash settings 45, 79<br />

NTP<br />

see Time zone<br />

NTPCLIENT_TIMEOUT (settings file) 86,<br />

98<br />

O<br />

opera.ini 21, 45<br />

OUTFMT (NOR flash) 89, 96<br />

OUTFMT (STBremoteconf) 66<br />

P<br />

PACKET_ORDERING (netconf file) 87, 98<br />

Passwords 15, 56<br />

shadow file 56<br />

PING (STBremoteconf) 66<br />

PPP_DIALUP (NOR flash) 89<br />

PPP_PASSWORD (NOR flash) 89, 98<br />

PPP_USERNAME (NOR flash) 89, 98<br />

Preferences pages 9, 71<br />

Configuration settings used 99<br />

Keyboard 99<br />

Subtitles 100<br />

TV and audio 99<br />

Controlling with the remote control<br />

75<br />

PREFERRED_LANG (settings file) 85<br />

PREFERRED_LANGUAGE (settings file)<br />

99<br />

Prerequisites<br />

Configuration pages 71<br />

Configuring multiple set-top boxes<br />

46<br />

Setting up Multicast system 20<br />

STBremoteconf 58<br />

Installing Perl modules 58<br />

PROC (STBremoteconf) 66<br />

Procedure<br />

Configuring multiple set-top boxes<br />

46<br />

Pairing remote control with set-top<br />

box 47<br />

Sending STBremoteconf commands<br />

59<br />

Setting up Multicast system 20<br />

Production build<br />

see Development build<br />

Proxy Setup (Management pages) 72, 95<br />

R<br />

Reboot (Management pages) 73<br />

REBOOT (STBremoteconf) 66<br />

Rebooting set-top box<br />

Using Management pages 74<br />

REFLASH (STBremoteconf) 66<br />

Remote control<br />

Configuring how set-top box<br />

responds to keys 48<br />

Pairing with set-top box 47<br />

Using with Configuration pages 72<br />

Using with the Preferences pages<br />

75<br />

Remote log-in 9<br />

Remote management 8<br />

REPEAT_RATE (settings file) 85, 99<br />

RFBOOST_DOLBY (settings file) 86, 97<br />

RFBOOST_MPEG (settings file) 86, 97<br />

RFMOD_CHAN (NOR flash) 89, 99<br />

RFMOD_ENABLE (NOR flash) 89<br />

RFMOD_FREQTABLE (NOR flash) 89, 99<br />

RFMODE (STBremoteconf) 67<br />

romupgrade directory 21<br />

RTSP_END_TIMEOUT (settings file) 83,<br />

96<br />

RTSP_SCALE (settings file) 82, 96<br />

RTSP_SERVER (settings file) 83, 96<br />

RTSP_START_TIMEOUT (settings file)<br />

83, 96<br />

S<br />

SAVEFILE (STBremoteconf) 67<br />

SECONDARY_LANG (settings file) 85<br />

SECONDARY_LANGUAGE (settings file)<br />

100<br />

Security<br />

Amino key 14<br />

Configuration key 14<br />

Customer key 14<br />

Deployment index<br />

Keys 10, 14<br />

Overview 13<br />

Passwords 15, 56<br />

see also Bootstrap state 16<br />

see also Configuration pages 9<br />

SERIAL_ID (NOR flash) 87, 99<br />

SERIALID (STBremoteconf) 67<br />

server directory 21<br />

settings file 21, 45, 79<br />

AUTO_SD_SWITCH 85<br />

BROWSER_ENABLECOOKIES 81,<br />

95<br />

BROWSER_HELPPAGE 81, 95<br />

BROWSER_HOMEPAGE 81, 95<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 118


BROWSER_MARGIN_BOTTOM<br />

82, 97<br />

BROWSER_MARGIN_LEFT 82, 97<br />

BROWSER_MARGIN_RIGHT 82,<br />

97<br />

BROWSER_MARGIN_TOP 82, 97<br />

Contents 81<br />

DELAY_FACTOR 85, 99<br />

DISPLAY_MODE 84, 99<br />

ENABLE_TRUSTED_DOMAINS<br />

86, 96<br />

FULLSCREEN 82, 96<br />

HTTP_PROXY 84, 95<br />

HTTP_PROXY_IGNORE 84, 96<br />

HTTPS_PROXY 84, 95<br />

IGMP_END_TIMEOUT 83, 96<br />

IGMP_START_TIMEOUT 83, 96<br />

IME 82<br />

IR_BRAND 83, 99<br />

MAXIMUM_VOLUME 85, 99<br />

MINIMUM_VOLUME 86, 99<br />

NTPCLIENT_TIMEOUT 86, 98<br />

PREFERRED_LANG 85<br />

PREFERRED_LANGUAGE 99<br />

REPEAT_RATE 85, 99<br />

RFBOOST_DOLBY 86, 97<br />

RFBOOST_MPEG 86, 97<br />

RTSP_END_TIMEOUT 83, 96<br />

RTSP_SCALE 82, 96<br />

RTSP_SERVER 83, 96<br />

RTSP_START_TIMEOUT 83, 96<br />

SECONDARY_LANG 85<br />

SECONDARY_LANGUAGE 100<br />

SUBTITLES 82<br />

SUBTITLES_OPTION 82, 100<br />

SUBTITLES_PREF_LANG 85, 100<br />

SUBTITLES_SECOND_LANG 85,<br />

100<br />

TEXT_ENTRY 86, 99<br />

TVI_TYPE 86, 99<br />

UDP_END_TIMEOUT 96<br />

UDP_START_TIMEOUT 96<br />

USE_PROXY 84, 95<br />

Set-top box configuration<br />

Overview 11<br />

Set-top box operation<br />

Bootstrap state 16<br />

Detail of operational states 15<br />

Diagram (overview) 11<br />

Filesystem state 18<br />

Operational states 10<br />

Overview 10<br />

Upgrade state 17<br />

shadow file 56<br />

signbootstrap script 21<br />

SIGNEDCMD (STBremoteconf) 67<br />

signupgradeimage script 21<br />

Software builds 11<br />

Software images 13, 25<br />

Bootstrap 13, 25<br />

Deployment index<br />

Distributing 13, 25<br />

Signing 10, 14<br />

Upgrade 13, 25<br />

Software release<br />

Directory contents 20<br />

software builds 11<br />

Software security<br />

Overview 13<br />

Software Version (Management pages) 72<br />

Software version (Management pages) 98<br />

splash.gif 16, 21<br />

SSH 9<br />

Configuring set-top box 43<br />

Static DHCP serttings 15<br />

STATS (STBremoteconf) 67<br />

STBremoteconf 9, 58<br />

ACAPS_CS_IP_SET 63<br />

ACAPS_ENABLE 63<br />

CHANGEPAGE 63<br />

CHANGE-PWORD 63<br />

CHANNEL 64<br />

Command syntax 60<br />

Commands 62<br />

List 63<br />

Overview 62<br />

Configuring set-top box 43<br />

DEFAULT_VOLUME 64<br />

DELETECUSTKEY 64<br />

EAS 64<br />

ETHERNET 65<br />

FETCHFILE 65<br />

GETVERSION 65<br />

HWINFO 65<br />

LOADKEY-CONF 65<br />

LOADKEY-CUSTOMER 65<br />

LOADKEY-OPERATOR 65<br />

LOCK 65<br />

LOGREAD 65<br />

MACADDRESS 65<br />

MCASTADDR 66<br />

OUTFMT 66<br />

PING 66<br />

Prerequisites 58<br />

Installing Perl modules 58<br />

PROC 66<br />

REBOOT 66<br />

REFLASH 66<br />

RFMODE 67<br />

SAVEFILE 67<br />

Sending commands 59<br />

Syntax 60<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 119


SERIALID 67<br />

SIGNEDCMD 67<br />

STATS 67<br />

SYSLOG 68<br />

TVSYSTEM 68<br />

UPGRADEMCAST 69<br />

UPGRADEMCAST_VER 69<br />

VOD 69<br />

STBremoteconf file 21<br />

SUBTITLES (NOR flash) 92, 100<br />

SUBTITLES (settings file) 82<br />

Subtitles settings (Preferences pages) 100<br />

SUBTITLES_OPTION (settings file) 82,<br />

100<br />

SUBTITLES_PREF_LANG (settings file)<br />

85, 100<br />

SUBTITLES_SECOND_LANG (settings<br />

file) 85, 100<br />

Syntax<br />

STBremoteconf commands 60<br />

SYSLOG (STBremoteconf) 68<br />

T<br />

Telnet 9<br />

Configuring set-top box 43<br />

TEXT_ENTRY (settings file) 86, 99<br />

TFTP_LOADFILE (NOR flash) 98<br />

TFTP_SERVER (NOR flash) 92, 98<br />

tftpboot directory 21<br />

Time zone<br />

formats 48<br />

TIME_SERVER (NOR flash) 92, 97<br />

TIME_ZONE (netconf file) 87, 97<br />

Troubleshooting<br />

LED flashing codes 101<br />

List 101<br />

trsdmns.txt 45, 96<br />

Contents 93<br />

trsdmns.txt file 96<br />

Trusted Domains (Management pages)<br />

72, 96<br />

TV and audio settings (Preferences pages)<br />

99<br />

TVI Configuration (Management pages)<br />

73, 99<br />

TVI_TYPE (settings file) 86, 99<br />

TVSYSTEM (NOR flash) 88, 96, 99<br />

TVSYSTEM (STBremoteconf) 68<br />

U<br />

UDP_END_TIMEOUT (settings file) 96<br />

UDP_START_TIMEOUT (settings file) 96<br />

unsigned bootstrap image 21<br />

Update Software (Management pages) 72<br />

Upgrade image 13, 25<br />

Distributing 13, 26<br />

See also Software images<br />

Upgrade state 10<br />

DHCP request 17<br />

DHCP response 18<br />

Operation 17<br />

upgradeimage directory 21<br />

UPGRADEMCAST (STBremoteconf) 69<br />

UPGRADEMCAST_VER (STBremoteconf)<br />

69<br />

Upgrarde image<br />

See also Upgrading software<br />

upgrd<br />

see Upgrade state<br />

USE_PROXY (settings file) 84, 95<br />

User preferences pages<br />

see Preferences pages 9<br />

usersettings file 45, 79<br />

Contents 93<br />

utils directory 21<br />

V<br />

Video Setup (Management pages) 72, 96<br />

VOD (STBremoteconf) 69<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 120


Document history<br />

Revision Name Date Changes<br />

0.1 - 14Feb 2005 Initial draft<br />

0.2 - 25Jul 2006 Updated for 0.9.4 release changes<br />

0.3 - 27Jul 2006 STBremoteconf Perl Updates<br />

0.4 - 13Jun 2006 DHCP and Ntpclient (0.12.0)<br />

0.12.x rev0 R.Potts 9Aug 2006 Added updated STBremoteconf<br />

appendix (Linux v1.6); added xref to<br />

signing images instructions from<br />

multicast system set-up procedure;minor<br />

format fixes<br />

0.13.x rev0 R.Potts 1Sept 2006 Added updated “setting up mulitast<br />

system”, overview pages. New section<br />

“Including additional files in image”. New<br />

libconfig appendix, example DHCP<br />

configuration file and Multicast server<br />

configuration file appendices.<br />

0.13.x rev1 R.Potts 5Oct 2006 Updated Configuring set-top boxes<br />

section; added Upgrading set-top boxes<br />

section; moved all STBremoteconf<br />

content to appendix; added advanced<br />

multicast system set-up section, added<br />

new DHCP&Multicast server<br />

configuration example for complex<br />

system.<br />

0.14.x rev0 R.Potts 12Oct 2006 Major rework of format. New content -<br />

added note on User Class options, new<br />

“Customising set-top box upgrade<br />

image” chapter, chapter covering main<br />

config settings. Removed HTTP upgrade<br />

section; JMACX function keys example<br />

moved to JMACX doc. Removed out-ofdate<br />

video cables list (temporarily).<br />

0.14.x rev1 R.Potts 14Nov<br />

2006<br />

Added Video output formats appendix<br />

and references to it in STBremoteconf<br />

and Config chapters<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 121


Revision Name Date Changes<br />

0.14.x rev2 R.Potts 20/2/2007 Updated “Introduction” and<br />

“Customising...” chapters to clarify use of<br />

loading.gif vs. image shown during<br />

multicast upgrade.<br />

Added references to documents that<br />

provide more detail in many sections.<br />

Added section on changing passwords<br />

(in “Customising...” chapter).<br />

Added to “Advanced Multicast Upgrade”<br />

chapter, “static network and multicast<br />

upgrade settings” section: note on<br />

behaviour if invalid static IP addresses<br />

set (new functionality from 0.14.4).<br />

Corrected error in file path example in<br />

2.5 (Signing image) section<br />

CONFIDENTIAL. Copyright © Amino Communications Ltd 2007 122

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!