OperationsGuide0.14r.. - hinditron
OperationsGuide0.14r.. - hinditron
OperationsGuide0.14r.. - hinditron
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