Вы находитесь на странице: 1из 16

Amino configuration tips for ITVMgr 2.

x
This document is meant as a guide for integrating the Amino STB into an iTVMGR 2.x
system. It will try to explain configuration requirements/options and what happens
during various boot up cycles for the Amino STB. The following also assumes the
use of the Minerva Mini-Flash (MMF) software installed on the iTVMGR Boot/App
server.
For those familiar with the standard Amino flashing station software, the MMF
software is a streamlined, user-friendly version of Aminos software. This package
enables the initial stb software load and also allows for upgrades to be directed
to a single Amino stb or to all Amino stbs.
One of the major enhancements introduced in iTVMGR 1.6.1 was the ability to use a
generic Amino signed stb image instead of one that needs to be customized for each
individual system installation. This further eases and simplifies the stb upgrade
process as new Amino images become available. The same methodology continues with
iTVMGR 2.x.
This implementation makes use of DHCP and an additional set of multicast addresses.
It is important to work closely with your network administrator to make sure that
the additional network traffic is routed correctly throughout your network.
There are other supporting documents (AminoFlashREAME.txt and AminoREADME.txt)
available on the 2.xFCS, distribution that deals with the installation of the MMF
software and its use.
Assuming a server and STB configuration setup as shown below:
- iTVMgr 2.x Boot/App/MMF server (IP = 192.168.5.165)
- iTVMgr 2.x DB server ( IP = 192.168.6.100 )
- DHCP server (ISC based)
- Amino Model 110 STB
You need to do the following setups:
1. On the Boot/App server, copy the following pair of files from the noted
directory and place them in the /images directory (refence the appropriate
installation documentation as the details may be different for your version
of ITVMGR):
itvmgr/stb/amino/signed_images/A110/signed.telnet/noencrytion/bootstrap.110
itvmgr/stb/amino/signed_images/A110/signed.telnet/noencrytion/mc.think110.mcfs
OR
- itvmgr/stb/amino/signed_images/A110/signed/noencrytion/bootstrap.110
- itvmgr/stb/amino/signed_images/A110/signed/noencrytion/mc.think110.mcfs
The difference between the above pair of files is whether or not they
allow the ability to telnet into the stb. Use of the signed.telnet enabled
image is certainly useful during testing, but it is up to the customer to
decide if they want to deploy that image to the field.
2. On the Database server, check the window System Setup -> Configuration ->
dispatcher_config", and confirm that the following lines contains the correct
IP entries that point to the desired Boot/App server (wherever the ITVMGR
dataservices process is running):

........
itvmanager.appserver.ip
dispatcher.listen.ip
dispatcher.datatype.14.datafetchlocation
Example:
itvmanager.appserver.ip
dispatcher.listen.ip
dispatcher.datatype.14.datafetchlocation

192.168.5.165:7780
192.168.5.165
-ip=192.168.5.165:7780
-eip=192.168.5.165:8500
-asr=/dataservices -stbm=Amino -nnvb=0

........
(The correct IP values should be in place as a result of the 2.x
installation. If you are using a A120 it must be defined separately.)
The contents of the above Configuration page is included with the multicast
stream that the STB will start listening to during boot up. That is how the
STB knows what iTVMgr server it needs to communicate with.
3. In the ITVMgr Admin UI, go to 'IP Headend -> Setup: Multicast Server':
a. Define a new multicast address for 'STB 2 Boot Stream' (see step
#4). Check with your network vendor to make sure the address
selected will be passed across the network correctly.
b. Set the transfer rate (kilobits/sec) for 'STB 2 Boot Stream'. Make
sure your network will handle the rate selected.
c. In the 'Module' pull-down menu for the corresponding 'STB2 Boot
Stream', select "Amino". The A110/A110H/A500 all use the same
stream. If you are using a A120 it must be defined separately.
d. If using one of the numbered Boot Stream choices, be sure to click
the corresponding 'Activate' box.
e. Click on the 'Submit' button on the bottom of the screen to commit
your changes.
4. On the DHCP server, as part of the /etc/dhcpd.conf configuration file,
include the following (the multicast address used must match the one selected
for 'STB Boot Stream' in the previous step):
.....SAMPLE..dhcpd.conf...
## To define the Amino 110 STB to get multicast resources from 239.255.5.6
## define the 'middleware' parameter accordingly
# Aminet11x - response when booting
class "aminet11x fisys"
{
match if (option vendor-class-identifier="Aminoaminet110fisys") or
((substring( option vendor-encapsulated-options,2,9)="aminet110")
and (substring( option vendor-encapsulated-options,13,5)="fisys"));
vendor-option-space AMINO;
option AMINO.middleware 239.255.5.6;
option AMINO.mw_port 4545;

}
................

In addition, you need to define two Amino specific sections that


refer to the multicast addresses being used by the Amino 'mcastbootd'
service. On the Boot/App server refer to '/etc/mcastbootd.conf'
to view the addresses. A sample of the /etc/mcastbootd.conf file is
shown below:
------------ SAMPLE mcastbootd.conf-----------# Configuration file: Mon Jun 14 15:54:11 2005
[Server]
LogLevel=4
ImageDir=/images
MulticastTTL=4
# default=1 :need to increase if going across routers
#[Image bootstrap.103]
#MulticastIPAddress=225.50.50.51
#MulticastUDPPort=11111
#FileName=bootstrap.103
#Description=linux boot image
#ImageType=1
#SerialNumber=44
#PacketSize=1456
#[Filesystem mc.think103]
#MulticastIPAddress=225.50.50.52
#MulticastUDPPort=11111
#ImageName=mc.think103
#Description=mc2 filesystem
#SerialNumber=96
#DirsPerCycle=4
#DataRate=256
[Image bootstrap.110]
MulticastIPAddress=225.50.50.54
MulticastUDPPort=11111
FileName=bootstrap.110
Description=linux boot image
ImageType=1
SerialNumber=45
PacketSize=1456
[Filesystem mc.think110]
MulticastIPAddress=225.50.50.55
MulticastUDPPort=11111
ImageName=mc.think110
Description=mc2 filesystem
SerialNumber=36
DataRate=256
[Image bootstrap.110H]
MulticastIPAddress=225.50.50.44
MulticastUDPPort=11111
FileName=bootstrap.110H
Description=linux boot image
ImageType=1
SerialNumber=46
PacketSize=1456
CycleTime=0

[Filesystem mc.think110H]
MulticastIPAddress=225.50.50.45
MulticastUDPPort=11111
ImageName=mc.think110H
Description=mc2 filesystem
SerialNumber=819
DataRate=256
[Image bootstrap.120]
MulticastIPAddress=225.50.50.56
MulticastUDPPort=11111
FileName=bootstrap.120
Description=linux boot image
ImageType=1
SerialNumber=46
PacketSize=1456
CycleTime=0
[Filesystem mc.think120]
MulticastIPAddress=225.50.50.57
MulticastUDPPort=11111
ImageName=mc.think120
Description=mc2 filesystem
SerialNumber=819
DataRate=256
[Image bootstrap.500]
MulticastIPAddress=225.50.50.64
MulticastUDPPort=11111
FileName=bootstrap.500
Description=linux boot image
ImageType=1
SerialNumber=45
PacketSize=1456
[Filesystem mc.think500]
MulticastIPAddress=225.50.50.65
MulticastUDPPort=11111
ImageName=mc.think500
Description=mc2 filesystem
SerialNumber=505
DataRate=256

NOTE: If only using the Amino 110 stb, the sections referring to the 103
or 500 model may be commented out as shown above. This will prevent
unneeded multicast streams from using up network bandwidth.
Be sure to adjust the MulticastTTL parameter accordingly for your network.
If necessary, the addresses may be changed to avoid conflicts on the
network, but the addresses referenced by both the mcastbootd.conf and
dhcpd.conf configuration files must match. The corresponding section of
the dhcpd.conf is shown below:
.........SAMPLE...dhcpd.conf...................
# -------------------------------------------------------------------------------

# bootstrap image definition - defines the image which an Amino 110 will
# use if it is multicast aware and starts up with a blank flash.
# Note: This IP address must match the bootstrap.110 IP address defined
# in mcastbootd.conf
# ------------------------------------------------------------------------------class "AMINET11x mboot"
{
match if (option vendor-class-identifier="aminoAMINET11xmboot") or
((substring( option vendor-encapsulated-options, 2, 9)="AMINET11x")
and (substring( option vendor-encapsulated-options, 13, 5)="mboot"));
vendor-option-space AMINO;
option AMINO.address 225.50.50.54;
option AMINO.port 11111;
}
# ------------------------------------------------------------------------------# multicast file - defines the complete image (OS + think) for an Amino 110
# Note: This IP address must match the IP address associated with the
# mc.think110.mcfs image defined in mcastbootd.conf
# ------------------------------------------------------------------------------class "aminet110 multicast image"
{
match if (option vendor-class-identifier="Aminoaminet110upgrd") or
((substring( option vendor-encapsulated-options,2,9)="aminet110")
and (substring( option vendor-encapsulated-options,13,5)="upgrd"));
vendor-option-space AMINO;
option AMINO.address 225.50.50.55;
option AMINO.port 11111;
}
.............................
Complete the DHCP configuration and start the DHCP daemon. If using
the DHCP package from ISC (http://www.isc.org/sw/dhcp) the command would
look like:
/usr/sbin/dhcpd -cf /etc/dhcpd.conf &
NOTE: If the '-cf <file>' parameter is left off, it will may not serve
addresses properly.
You may also wish to refer to the following for additional information on
setting up DHCP:
http://www.tldp.org/HOWTO/DHCP/index.html
http://www.redhat.com/mirrors/LDP/HOWTO/DHCP/index.html

5. On the Boot/App server, open a new window and start the multicast process:
# cd /images
# mcastbootd -D

## you must be in this directory


## run in debug mode

- A series of messages will start displaying. If you see any that


say "Cannot open...", kill the mcastbootd process and make sure
you are in the /images directory then restart mcastbootd.
Example output:

[root@RedHat1 images]# mcastbootd -D


09:26:10.578811 mcastbootd: Multicast boot/FS server daemon version 0.01.00
09:26:10.579425 mcastbootd version 0.01.00 started
09:26:10.580471 225.50.50.54:11111 transmission of boot image 'bootstrap.110' enabled
09:26:10.580716 225.50.50.44:11111 transmission of boot image 'bootstrap.110H' enabled
09:26:10.580955 225.50.50.56:11111 transmission of boot image 'bootstrap.120' enabled
09:26:10.581169 225.50.50.64:11111 transmission of boot image 'bootstrap.500' enabled
09:26:10.581500 225.50.50.55:11111 transmission of 'mc.think110' enabled
09:26:10.581760 225.50.50.45:11111 transmission of 'mc.think110H' enabled
09:26:10.582022 225.50.50.57:11111 transmission of 'mc.think120' enabled
09:26:10.582257 225.50.50.65:11111 transmission of 'mc.think500' enabled
09:26:10.582687 225.50.50.55:11111 transmission of filesystem 'mc.think110' commenced
09:26:10.582854 225.50.50.45:11111 transmission of filesystem 'mc.think110H' commenced
09:26:10.583009 225.50.50.57:11111 transmission of filesystem 'mc.think120' commenced
09:26:10.583189 225.50.50.65:11111 transmission of filesystem 'mc.think500' commenced
09:26:10.604168 225.50.50.54:11111 transmission of boot image 'bootstrap.110' commenced
09:26:10.604374 225.50.50.44:11111 transmission of boot image 'bootstrap.110H' commenced
09:26:10.604572 225.50.50.56:11111 transmission of boot image 'bootstrap.120' commenced
09:26:10.604891 225.50.50.64:11111 transmission of boot image 'bootstrap.500' commenced
09:26:19.164223 225.50.50.54:11111 transmission of boot image 'bootstrap.110' completed
09:26:19.204232 225.50.50.44:11111 transmission of boot image 'bootstrap.110H' completed
09:26:19.285048 225.50.50.64:11111 transmission of boot image 'bootstrap.500' completed
09:26:25.085042 225.50.50.56:11111 transmission of boot image 'bootstrap.120' completed
09:26:29.095120 225.50.50.55:11111 transmission of filesystem 'mc.think110' completed
09:26:29.444295 225.50.50.45:11111 transmission of filesystem 'mc.think110H' completed
09:26:29.684354 225.50.50.57:11111 transmission of filesystem 'mc.think120' completed
09:26:31.394782 225.50.50.65:11111 transmission of filesystem 'mc.think500' completed

Notice that there is a matched set of enabled, commenced and


completed lines for each of the various active stb boot and think
files defined in the mcastbootd.conf file. Once enabled you should
just see a matched set of commenced and completed lines as shown
above. The commenced & completed lines will continue to scroll.
If the initial startup info scrolls off the top of the screen you can
still reference the /var/log/messages file to check for any errors.
For production use, both the dhcpd and mcastbootd processes could be
configured to start automatically via the rc.local file. The additional
lines might look like this:
su c /usr/sbin/dhcpd -cf /etc/dhcpd.conf &
su c cd /images; /usr/local/bin/mcastbootd &
6. On the Boot/App server, stop/start the iTVMGR Dispatcher process:
/itvmgr/bin/itvmgrctl stop dispatcher
/itvmgr/bin/itvmgrctl start dispatcher
7. Connect and power up a new STB. It should be able to get its address
and download the Amino images. You can monitor /var/log/messages for the
stb MAC address and what IP address DHCP is providing.
8. For the noted system configuration, the following explains how a virgin
Amino-110 STB, transitions to a 'flashed' unit ready for use.
o- The stb broadcasts a dhcp request
o- The DHCP server supplies the stb with the required network
parameters including which multicast addresses to listen
to in order to get boot and flash image information
(/etc/mcastbootd.conf). Once 'flashed' with a valid image the stb
will reboot.

o- When a stb that contains a valid flash image reboots, it again


contacts the dhcp server and is provided another multicast
address (see step #3) whose data stream provides the IP address
of the iTVMGR Boot/App server it needs to contact (see step #2)
o- With the additional information provided by the new multicast
stream, the stb now knows what other multicast addresses it
needs to listen for (EPG, EAS, etc.) and how to connect to the
server (dataservices) to obtain any customer specific information.
Once all the streams have been loaded, the stb is now available for
use.
o- To re-flash a single or all Amino stbs to apply a different/upgrade
image, refer to the 'Amino_mini_flashstation' file on the 2.x
distribution image for details. The difference in this process is
that the upgrade is being initiated manually from the server side
instead of the stb side.
Please note that there is a key multicast address that needs to be
used when doing multicast upgrades 225.10.10.10. During normal
operation, the stb will periodically listen for that address. The
same address is used by the sendflashcommand or STBremoteconf
commands as part of the initial conversation that triggers the
upgrade process. When the stb detects activity on the 225.10.10.10
address, it tunes in for additional instructions. A key piece of
information is that when either of the above commands are run, the
instructions contained in the 225.10.10.10 address packet is sent
out only once. If your network is not propagating the address
quickly enough, the stb may not be able to tune in and will fail to
upgrade. It has been reported that some routers close unused routes
and re-create them as needed, but do not always transmit the packet
after the route has been established. Immediately re-running one of
the above commands again may prove successful. Another option would
be to prepare the network for the upgrade by running the following:

ping t 8 c 4 225.10.10.10
This will cause a series of 4 packets to be sent out across the
network and trigger the routers to establish the routes needed for
the upgrade process. What you should get back is multiple responses
from each of the Amino stbs on the network. Refer to the ping man
page for further details and options.
If you prefer, you can redirect the output into a file for further
review:

ping t 8 c 4 225.10.10.10 > /tmp/stbping

Be sure that all multicast addresses referenced in the various noted


configuration files are allowed to propagate throughout the network.

*******************************************
How to handle pre-flashed units
*******************************************
To convert an Amino STB that was configured with a static address or was previously
flashed with a server specific iTVMgr 1.x compatible Amino image, to a DHCP STB
with a server generic 2.x image, use the following steps.
1. If you are upgrading from iTVMgr 1.x to iTVMgr 2.x, you cannot use the
sendflashcommand to upgrade the Amino stbs. Instead, you must use the
native Amino STBremoteconf command with the REFLASH option as shown in
the STBremoteconf info section below. Failure to do so, will still
leave the 1.x mc.think image on the stb which is not compatible with the
2.x system.
Unicast: - reflash the boot & mc.think for a single 110 stb
STBremoteconf 10.1.6.2 REFLASH 225.50.50.54 11111
-- or Multicast: - totally reflash all 110 stb's
STBremoteconf 225.10.10.10 REFLASH 225.50.50.54 11111
2. On the DHCP server, monitor /var/log/messages for DHCP lease info to
identify the STB by IP or MAC address.
Another option, per Amino, is to telnet into the STB and 'cd /mnt/nv' directory
and 'rm *' then reboot the STB which will then download new software. This assumes
the stb is multicast aware.
**************************************
USING THE sendflashcommand UTILITY
**************************************
Once the mcastbootd process is streaming the image, the command for the Amino STBs
to reflash themselves must be sent over the network. This is done with the
"sendflashcommand" utility. For those familiar to the flashing process,
"sendflashcommand" is a wrapper for the Amino utility "STBremoteconf" and uses the
UPGRADEMCAST option. The sendflashcommand may be sent as a multicast (to all
Amino STBs) or as a unicast (to one specific IP) message.
Execute this script in any other terminal window that is not running the
mcastbootd command. The syntax for the command is shown below.
Description:
sendflashcommand {multicast or unicast} {stb_model}
Usage:
sendflashcommand [(m)ulticast|(u)nicast] [103|110]
A multicast option will send the reflash command to ALL STBs on the network
A unicast option will send the reflash command to ONE STB on the network, thus the
IP address of the targeted STB is required.
Example 1: Amino 110 multicast reflash message
[root@flash root]# sendflashcommand m 110

Amino STB model: 110


Send command via: m
Execute command:
"STBremoteconf 225.10.10.10 UPGRADEMCAST 225.50.50.55 11111" (y/n): y
REMINDER: Passphrase is "stbrckey"
Amino STBremoteconf $Revision: 1.35 $:
Multicasting...
This command will affect every box listening on this network
Are you sure? [Type YES]: YES
Passphrase (for key /usr/local/share/amino/keys/amino/STBrc-KEY.private):
stbrckey
Example 2: Amino 110 unicast reflash message
[root@flash root]# sendflashcommand u 110
What is the IP address of the STB?: 10.1.6.2
You entered 10.1.6.2. Is this correct? (y/n): y
Amino STB model: 110
Send command via: u
Execute command:
"STBremoteconf 10.1.6.2 UPGRADEMCAST 225.50.50.55 11111" (y/n): y
REMINDER: Passphrase is "stbrckey"
Amino STBremoteconf $Revision: 1.35 $:
Unicasting...
Passphrase (for key /usr/local/share/amino/keys/amino/STBrc-KEY.private):
stbrckey
If you are monitoring a stb, it may take a minute or two before you see the stb
change states and begin the reflash process.
(Please refer to the AminoREADME.txt file on the appropriate distribution for
additional information.)
***********************************************
STBremoteconf info (FOR REFERENCE ONLY)
***********************************************
Syntax:
STBremoteconf $STBRC_STB_IP UPGRADEMCAST $STBRC_MULTICAST_IP $STBRC_MULTICAST_PORT
where:
STBRC_STB_IP
UPGRADEMCAST
REFLASH

=
=
=

IP address of STB (unicast) -or- 225.10.10.10 (multicast)


the option to trigger upgrade of the mc.think image
the option to trigger the removal and reflash of both the boot
and mc.think images
STBRC_MULTICAST_IP
=
225.50.50.52 (103) -or- 225.50.50.55 (110)
[ based on mc.think* image read in /etc/mcastbootd.conf]
STBRC_MULTICAST_PORT

11111

Explanation:
STBremoteconf

"send msg to stb (one/all)" REFLASH "join this adrs"


"join this port"

Examples:
Unicast: - reflash the boot & mc.think for a single 110 stb
STBremoteconf 10.1.6.2 REFLASH 225.50.50.54 11111
Multicast: - totally reflash all 110 stb's
STBremoteconf 225.10.10.10 REFLASH 225.50.50.54 11111

******************************************
DHCP Example
******************************************
###############################################################################
# Global configurations
###############################################################################
ddns-update-style ad-hoc;
default-lease-time 10000000;
max-lease-time 20000000;
allow bootp;
# Set this to your domain name
option domain-name "minervanetworks.com";
# Enter your DNS servers separated by commas ','
option domain-name-servers 10.6.1.10, 10.6.1.11;
# Extra stuff for multicast booting
option space AMINO;
option AMINO.address
code 1 = ip-address;
option AMINO.port
code 2 = integer 16;
option AMINO.product
code 3 = text;
option AMINO.option
code 4 = text;
option AMINO.version
code 5 = text;
option AMINO.middleware code 6 = ip-address;
option AMINO.mw_port
code 7 = integer 16;
###############################################################################
# Amino Bootstrap image definition
# -------------------------------# Defines the image which an Amino 103/110/500 will use if it is multicast
# aware and starts up with a blank flash.
#
# Note: This IP address must match the bootstrap IP address defined for the
# particular STB model (bootstrap.XXX) in /etc/mcastbootd.conf
###############################################################################
# Amino 103
class "AMINET103 mboot"
{
match if (option vendor-class-identifier="aminoAMINET103mboot") or
((substring( option vendor-encapsulated-options, 2, 9)="AMINET103")
and (substring( option vendor-encapsulated-options, 13, 5)="mboot"));
vendor-option-space AMINO;
option AMINO.address 225.50.50.51;
option AMINO.port 11111;
}
# Amino 110
class "AMINET11x mboot"
{
match if (option vendor-class-identifier="aminoAMINET11xmboot") or
((substring( option vendor-encapsulated-options, 2, 9)="AMINET11x")
and (substring( option vendor-encapsulated-options, 13, 5)="mboot"));

vendor-option-space AMINO;
option AMINO.address 225.50.50.54;
option AMINO.port 11111;

# Amino 500
class "AMINET5xx mboot"
{
match if (option vendor-class-identifier="aminoAMINET5xxmboot") or
((substring( option vendor-encapsulated-options, 2, 9)="AMINET5xx")
and (substring( option vendor-encapsulated-options, 13, 5)="mboot"));

vendor-option-space AMINO;
option AMINO.address 225.50.50.64;
option AMINO.port 11111;

# 120
class "Aminet120 mboot"
{
match if (option vendor-class-identifier="aminoAMINET120mboot") or
((substring( option vendor-encapsulated-options, 2, 9)="AMINET120")
and (substring( option vendor-encapsulated-options, 13,
5)="mboot"));
vendor-option-space AMINO;
option AMINO.address 225.50.50.56;
option AMINO.port 11111;
}
###############################################################################
# Amino signed image definition
# ----------------------------# Defines the complete signed image which an Amino 103/110/500 will listen for
# when it is sent the upgrade command.
#
# Note: This IP address must match the bootstrap IP address defined for the
# particular STB model (mc.thinkXXX) in /etc/mcastbootd.conf
###############################################################################
# Amino 103
class "aminet103 multicast image"
{
match if (option vendor-class-identifier="Aminoaminet103upgrd") or
((substring( option vendor-encapsulated-options,2,9)="aminet103")
and (substring( option vendor-encapsulated-options,13,5)="upgrd"));
vendor-option-space AMINO;
option AMINO.address 225.50.50.52;
option AMINO.port 11111;
}
# Amino 110
class "aminet110 multicast image"
{
match if (option vendor-class-identifier="Aminoaminet110upgrd") or
((substring( option vendor-encapsulated-options,2,9)="aminet110")
and (substring( option vendor-encapsulated-options,13,5)="upgrd"));
vendor-option-space AMINO;
option AMINO.address 225.50.50.55;

option AMINO.port 11111;

# Amino 500
class "aminet500 multicast image"
{
match if (option vendor-class-identifier="Aminoaminet500upgrd") or
((substring( option vendor-encapsulated-options,2,9)="aminet500")
and (substring( option vendor-encapsulated-options,13,5)="upgrd"));

vendor-option-space AMINO;
option AMINO.address 225.50.50.65;
option AMINO.port 11111;

# 120
class "aminet120 multicast image"
{
match if (option vendor-class-identifier="Aminoaminet120upgrd") or
((substring( option vendor-encapsulated-options,2,9)="aminet120")
and (substring( option vendor-encapsulated-options,13,5)="upgrd"));
vendor-option-space AMINO;
option AMINO.address 225.50.50.57;
option AMINO.port 11111;
}
###############################################################################
# Amino response when booting
# --------------------------# Defines the iTvManager multicast resource IP the STB will listen for when it
# has been successfully flashed.
#
# The multicast IP address (option AMINO.middleware) must match the
# STB Boot stream for the Amino Module setting which is configured in the
# IP HEADEND->Setup page of the Admin application. It is likely that all three
# STB models (103/110/500) will point to the same multicast resource IP.
#
# This section is only reached when the STB is/has been successfully flashed.
###############################################################################
# Amino 103
class "aminet103 fisys"
{
match if (option vendor-class-identifier="Aminoaminet103fisys") or
((substring( option vendor-encapsulated-options,2,9)="aminet103")
and (substring( option vendor-encapsulated-options,13,5)="fisys"));
vendor-option-space AMINO;
option AMINO.middleware 239.192.113.25;
option AMINO.mw_port 4545;
}
# Amino 110
class "aminet11x fisys"
{
match if (option vendor-class-identifier="Aminoaminet110fisys") or
((substring( option vendor-encapsulated-options,2,9)="aminet110")
and (substring( option vendor-encapsulated-options,13,5)="fisys"));
vendor-option-space AMINO;
option AMINO.middleware 239.255.5.6;

option AMINO.mw_port 4545;

# Aminet500 - response when booting


class "aminet500 fisys"
{
match if (option vendor-class-identifier="Aminoaminet500fisys") or
((substring( option vendor-encapsulated-options,2,9)="aminet500")
and (substring( option vendor-encapsulated-options,13,5)="fisys"));
vendor-option-space AMINO;
option AMINO.middleware 239.192.113.25;
option AMINO.mw_port 4545;
}
# 120
class "aminet12x fisys"
{
match if (option vendor-class-identifier="Aminoaminet120fisys") or
((substring( option vendor-encapsulated-options,2,9)="aminet120")
and (substring( option vendor-encapsulated-options,13,5)="fisys"));
vendor-option-space AMINO;
#
NOTE: the middleware adrs is different than other Aminos
option AMINO.middleware 239.192.113.26;
option AMINO.mw_port 4545;
}
###############################################################################
# Subnet declarations
# --------------------------# The subnet declaration example below will handle all Amino 110 and
# Thomson Copperhead and Viper for a particular subnet. Note: It is required
# to have a subnet declaration for local subnet even if this dhcp server is not
# serving any addresses on this range
###############################################################################
# This should handle all STBs (Copperhead, Viper and Amino110) on the
# 192.168.5.0 network
subnet 192.168.5.0 netmask 255.255.255.0
{
option routers 192.168.5.1;
option broadcast-address 192.168.5.255;
range dynamic-bootp 192.168.5.100 192.168.5.200;
# Thomson Copperhead
if substring ( option vendor-class-identifier,0,11) = "Thomson_DSL"
{
###########################################################################
# Thomson Copperhead unicast boot
# ------------------------------# filename = path to vxWorks
# options extensions-path = path to load.txt
# next-server = points to the iTvManager boot server
###########################################################################
#filename "/itvmgr/stb/thomsonboot/bootable/vxWorks";
#option extensions-path "/itvmgr/stb/thomsonboot/bootable/load.txt";
#next-server 192.168.5.165;

###########################################################################
# Thomson Copperhead multicast TFTP boot
# -------------------------------------# filename = path to copperhead.vxWorks.bin (at the TFTP root)
# option extensions-path = path to mload.copperhead.txt (at the TFTP root)
# option root-path = points to the iTvManager boot server running tftp_tmm
###########################################################################
filename "copperhead.vxWorks.bin";
option extensions-path "mload.copperhead.txt";
option root-path "192.168.5.21";

# This should always point to the iTvManager boot server


next-server 192.168.5.21;

# Thomson Viper
if substring ( option vendor-class-identifier,0,13) = "Thomson_Viper"
{
###########################################################################
# Thomson Viper unicast boot
# ------------------------------# filename = path to vxWorks
# options extensions-path = path to load.txt
# next-server = points to the iTvManager boot server
###########################################################################
#filename "/itvmgr/stb/thomsonboot/bootable/viper/vxWorks";
#option extensions-path "/itvmgr/stb/thomsonboot/bootable/viper/load.txt";
#next-server 192.168.5.21;
###########################################################################
# Thomson Viper multicast TFTP boot
# -------------------------------------# filename = path to viper.vxWorks.bin (at the TFTP root)
# option extensions-path = path to mload.viper.txt (at the TFTP root)
# option root-path = points to the iTvManager boot server running tftp_tmm
###########################################################################
filename "viper.vxWorks.bin";
option extensions-path "mload.viper.txt";
option root-path "192.168.5.21";
# This should always point to the iTvManager boot server
next-server 192.168.5.21;
}
# Amino 110
if substring (
{
filename
}
if substring (
{
filename
}

option vendor-encapsulated-options,13,5) = "aminet110"


"AMINET.txt";
option vendor-encapsulated-options,13,5) = "aminet11x"
"AMINET.txt";

}
#END

Вам также может понравиться