Internet, UNIX, Video, Leisure…
Flashing an Amino Set Top Box
Amino company and resellers are really quiet about all the possibilities of the product.
I made a post some time ago about configuring the Amino to boot with DHCP and get the config through this or through DHCP.
This post was really popular and people began to ask me for firmware and informations on how to upgrade. Of course, I can’t provide anything like firmware. My reseller here is France is OK to sell it for 10€ for 4 Amino stb… Or you can find it somewhere on Internet. Please, don’t ask for it, I don’t have the latest nor the Opera firmware.
My last reseller sent me the 110 firmware while I had some dead STB. This is what I will use for this tutoriel.
So, the firmware comes as a tar file. Mine is A110-0.15.1-fresco-ami_wm-euro-subs.tar .
First, you need to create some directories. Please, note I’m actualy doing this on a PC running Ubuntu 7.10. The ~ stands for your home directory. It can be anything else you want, just change the paths accordinately. Of course, you don’t need to install things in /usr/local AT ALL, which is a really bad way to do things anyway.
mkdir amino
cd amino
mkdir keys releases releases/A110 images
cd releases/A110
Now you can untar your image. Mine is just a .tar but yours could be a .tgz or .tar.gz. Then use option zxvf instead of xvf :
This will create a directory 0.15.1-A110-fresco-ami_wm-subs-1. Go into it :
You can now create and sign the two files you need for an upgrade : a bootstrap and an image.
The bootstrap
export CUSTOMER_KEY=`pwd`/../utils/keys/amino/KEY.private
export PATH=$PATH:`pwd`/../utils
./signbootstrap
The password is « markskey« . You will get a OK message and a new file : bootstrap.signed
Multicast bootstrap image signed successfully: bootstrap.signed
Copy this new file to the image directory :
cd ..
The BONUS
Before we create the signed image of the real OS, I will show you how you can customize the boot procedure.
In the upgradeimage/imagecomponents directory lies all the files that will be packaged in the OS. Of course you can add few files. Don’t oversize the image or it won’t be able to be used.
Inside this directory you will find a splash.gif image file.

You can replace it by any GIF image. Don’t use an image bigger than the TV resolution, around 720×480. Replace the image but keep the same name ! Also, I think you have a limited number of possible colors, and the first color (?) will also be used for the backgroud around the image (can you confirm that ?)
So, have fun, change files, pre-program you amino by changing the config files… play around
The OS Image
If you have closed your terminal, re-set the CUSTOMER_KEY and PATH variables as above.
Now create and sign the image. As suggested, if you are making an Opera firmware upgrade, une -z for compressing the image
Amino signupgradeimage Version : 1.42 $
Using DI of 0
Please enter passphrase for /home/prune/amino/releases/A110/0.15.1-A110-fresco-ami_wm-subs-1/utils/keys/amino/KEY.private:
0
Generating flash contents list
….
FS created with packetsize of 4096
Warning: FS created using default values [serialNumber=1, dirsPerCycle=128]
cp mc2.mcfs ~/amino/images/
The DHCP Server
Yes, you will need one… But you already have my previous post on this : http://www.lecentre.net/blog/archives/119
See my config below as I finaly found out that my first config was « wrong«
The Multicast Server
This server can be anything… the one provided with the image or anyone, like VLC (yes, the video player…).
Go in the server directory and edit the
vi mcastbootd.conf
Match the <mcast address> and <port number> with the ones from the DHCPD config file :
Here is my file :
LogLevel=4
MulticastTTL=1
[Image bootstrap.signed]
MulticastIPAddress=239.255.230.52
MulticastUDPPort=11111
FileName=bootstrap.signed
Description=Linux bootstrap image
ImageType=1
SerialNumber=1
PacketSize=1456
CycleTime=0
[Filesystem mc2]
MulticastIPAddress=239.255.230.53
MulticastUDPPort=11111
ImageName=mc2
Description=upgrade filesystem
SerialNumber=2
DirsPerCycle=128
DataRate=256
CycleTime=0
Start the upgrade
Now you are ready to start. Go in the image directory and start the multicast software :
~/amino/releases/A110/0.15.1-A110-fresco-ami_wm-subs-1/server/mcastbootd -D -C ~/amino/releases/A110/0.15.1-A110-fresco-ami_wm-subs-1/server/mcastbootd.conf
16:04:12.788281 /home/prune/amino/releases/A110/0.15.1-A110-fresco-ami_wm-subs-1/server/mcastbootd: Multicast boot/FS server daemon version 0.01.00
16:04:12.788591 /home/prune/amino/releases/A110/0.15.1-A110-fresco-ami_wm-subs-1/server/mcastbootd version 0.01.00 started
16:04:12.792805 239.255.230.52:11111 transmission of boot image ‘bootstrap.signed’ enabled
16:04:12.796833 239.255.230.53:11111 transmission of ‘mc2′ enabled
16:04:12.796895 239.255.230.53:11111 transmission of filesystem ‘mc2′ commenced
16:04:12.817127 239.255.230.52:11111 transmission of boot image ‘bootstrap.signed’ commenced
….
You can now plug in your set top box and see the magic…
Or not… ![]()
I just found out that the DHCP config file may not be right, depending on your Amni revision. While the original Vendor-Name is « aminoAMINET110mboot », this can change.
The solution I found was to trace the IP (bootP) packets on the lan and see what is going on. I use tcpdump for that.
This is also the point where I will describe my setup :
My host have 2 network card. Eth0 is connected to the local LAN and is using a dhcp client to get an IP. I’m connecting to it using SSH from my Mac, where I write this blog post at the same time.
The other network card, eth1, is connected to a switch where I plus the set top box. As the multicast packets of the mcastbootd only goes out by the first interface, eth0, I had to use a special command to configure eth1, so the multicast goes on it. Here is the whole config command.
Of course, if you are local on the host and have only one ethernet card, you won’t have to do this :
route add -net 224.0.0.0 netmask 240.0.0.0 dev eth1
The IP 10.20.0.2 is just part of the DHCP range I set up but outside the pool.
Then, to get the « vendor name » used by the set top box to ask for bootp/dhcp, I used tcpdump on eth1, then plugged in the amino and power it. Here is the result :
tcpdump: listening on eth1, link-type EN10MB (Ethernet), capture size 1024 bytes
15:44:20.598588 IP (tos 0×0, ttl 64, id 1, offset 0, flags [none], proto: UDP (17), length: 328) 0.0.0.0.bootpc > 255.255.255.255.bootps: [udp sum ok] BOOTP/DHCP, Request from 00:00:00:00:00:00 (oui Unknown), length 300, xid 0x167eb0e7, Flags [ none ] (0×0000)
Client-Ethernet-Address 00:00:00:00:00:00 (oui Unknown)
Vendor-rfc1048 Extensions
Magic Cookie 0×33333333
DHCP-Message Option 53, length 1: Discover
Vendor-Class Option 60, length 26: "insecureAMINET11xmboot1.32"
Vendor-Option Option 43, length 24: 2.2.2.22.22.22.22.22.22.22.120.2.2.222.22.222.222.222.2.2.22.22.22.52
What is all this mess ?
In fact, you don’t care !
The only important part is Vendor-Class Option 60, length 26: « insecureAMINET11xmboot1.32″. This is what you have to set in your dhcpd.conf so it will find the amino, give it the IP and params so it can find the broadcast server.
So, here is my dhcpd.conf file, right from the Ubuntu dhcpd.conf + amino specials :
ddns-update-style none;
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
option space AMINO;
option AMINO.address code 1 = ip-address;
option AMINO.port code 2 = integer 16;
option AMINO.product code 3 = text;
option AMINO.option code 4 = text;
option AMINO.version code 5 = text;
option AMINO.middleware code 6 = ip-address;
option AMINO.mw_port code 7 = integer 16;
option AMINO.homepage code 8 = text;
option AMINO.dindex code 9 = integer 32;
option AMINO.dindex_min code 10 = integer 32;
option AMINO.dindex_page code 11 = text;
class "AmiNET110 all" {
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.homepage "http://tv.portal.com/tv.html";
}
class "AmiNET110 mboot"
{
match if (option vendor-class-identifier="insecureAMINET11xmboot1.32") or
((substring( option vendor-encapsulated-options, 2, 9)="AMINET110")
and (substring(option vendor-encapsulated-options, 13, 5)="mboot"));
vendor-option-space AMINO;
option AMINO.address 239.255.230.52;
option AMINO.port 11111;
}
class "AmiNET110 upgrd"
{
match if (option vendor-class-identifier="insecureAMINET11xupgrd1.32") 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 239.255.230.53;
option AMINO.port 11111;
}
shared-network IPTV {
subnet 10.20.0.0 netmask 255.255.252.0 {
option subnet-mask 255.255.252.0;
option domain-name "mydomain.net";
option domain-name-servers 10.16.12.10;
option routers 10.20.3.254;
option broadcast-address 10.20.3.255;
option ntp-servers 10.16.12.22;
pool {
range 10.20.2.70 10.20.2.250;
allow members of "all";
allow members of "AmiNET110 upgrd";
allow members of "AmiNET110 all";
allow members of "AmiNET110 mboot";
}
}
}
Now, restart dhcpd server, plug the amino and power it… and VOILA !!
I hope this is clear enough for you. Please comment if you need more details. Just remember it’s now 22:00 and I started all this at 19:00, so please don’t ask too newbie questions.
24 février 2009 - 23:52
About the .gif loading picture, I havn’t made a lot of test about it.. but, as I know :
- it should not more large than 640*480 (can prevent from booting so… take care)
- don’t be animated. If so, only 1st image is displayed.
- seems to be displayed B&W only
That’s just cosmectic anyway
I’ve begin to write a wiki page, will host one when I will have more time. Just for an idea, here it is : http://aminautes.wikidot.com/create-an-signed-image
Waiting for news from you Andy !
Thanks again « Prune » about your work and share.
6 mars 2009 - 12:16
thanks for your post « Prune »
I hv followed all steps but when I hv started the « mcastbootd -D » its show « 239.255.230.53:11111″ network is unreachable.
Can you please help me
Thanks in advance
6 mars 2009 - 12:28
Are you starting the mcastbootd as root user ? if not, try it.
On my system it is running as normal user, without any message.
Can you please give you config file + the result of « ifconfig -a » and « netstat -rn » and I will have a look.
6 mars 2009 - 15:17
Thanks
After reinstall RHEL 4.0 the problem resolved. Can you please tell me the steps for configure AmiNet 125 for VLC Media player. I am streaming the video through VLC player as RTSP on port 1234 but not able to get the output through AmiNet 125.
Again thanks for your posts.
13 mars 2009 - 16:33
I don’t have any AmiNet 125 so, no, I can’t help you
Maybe streaming as RTSP is not the good solution. Try Mpeg2-TS instead.
13 mars 2009 - 21:56
Thanks for the great information!
I really appreciate your time on writing these notes.
I have Amino 110 with opera which does not support my langue. After reading your blog I google for an image which support my langue but it was not the opera but fresco.
I followed your instruction and everything went fine at the server side.
Then I went inside the Amino and choose upgrade. It shows a message “upgrading do not disconnect” and then it reboots. Then the screen shows “Loading” and nothing more!
The DHCP show that the Amino acquire the IP usefully.
I highly appreciate your support and willing to donate some fund to support your online activity.
17 mars 2009 - 11:17
When you are in a « Loading… » state, it means your amino is waiting for an upgrade. Depending on your firmware, it will try to get it by multicast (then follow my blog post) or by tftp (then I don’t know how it work… it should be the same : set some parameters in the dhcp conf and put the firmware in a tftp server).
I really can’t help more than what’s on my blog.
Be carefull that the DHCP recognize the amino and give it the right parameters.
Then, when everything is working, it can take up to 4 or 5 minutes for the amino to get the firmware by multicast, so just be patient. Once done, the amino will reboot by itself.
13 septembre 2009 - 09:27
@prune’s response n 7
indeed , the most important thing is to get the DHCP recognize the amino , i made everything perfect but the amino didn’t get the image , untill i saw prune’s DHCP failover , it went like a charm .
THX prune
17 février 2010 - 22:03
did you had a problem with your electricity ?
I saw this kind of stuff when the power block is defective. In fact, it’s still working but not giving enough power to the amino. Please, try with a new one to confirm it’s working or not.
Else, did you tried flashing you Amino ? maybe you did something wrong.
Last, are you sure your DHCP server is working ? How is your amino configured ? static or at boot time ? Is the boot server or multicast server working (depending on how you’re doing this) ?
Can’t help much, sorry….
17 février 2010 - 22:10
hey man u r great i think u help me realy i am in seriously problem on aminet110 i have 300device bt few dayes before i saw the device is flashing and not showing anything just red light is blinking so please help me please i realy dont know how i solve this problems
advance thanks for you helping
18 février 2010 - 08:26
@Nadim i am in Middleeast now and i know how to flash aminet.
lmk where u are ,maybe i can help if u are near .
19 février 2010 - 18:58
ohhh dear bundlew off thanks if u chelp me walah i am in madina Munawara hotel name of Rama-al madina my contact no is 0540709925 oddifce no is 048184411 when m in office y mobile ot work i am basement 2 so there is no signal please dear help me i am realy tried about this problems and i dont undastant it so please i have near about 250 device and i have key bord bt not work properly if u come and u buy for me i give u money via hand to hand via WU any of and also paid u man bt pleae help us this problems advance thanks
19 février 2010 - 19:03
and i have 2 streamer and 2 server video and stb setting is DHCP some amino device is work bt sme in flashing please anyone help me i paid it forr this realy be sincerly i paid it and also i need AV cable i have 300 bt damage i search there i dont found cables and keybord i piad it each of thing so please help me and out this problems allright my email address is
sanwanriiya@yahoo.com
sanwanriiya@live.com
so am still waiting for anyone good response your brother Nadeem Bhatti
again Thankx all of very thanks
19 février 2010 - 19:06
and can u tell me please where are u now and please give me u r cell number can i contact u becaoze i need help walah
19 février 2010 - 19:10
can anyone tell me how to put more channels i know via amino setting bt i dont know how take these address i mean where i take channels address
2 mars 2010 - 09:42
I did everything right ( I guess!) and at the same time I connected my serial port to the JP7 of aminet110 to see what is going on. As you can see, I failed to flash it. Do you have any idea based on the capture below:
Initialising NOR Flash.mage block
Amino Communications IntActOS-32 v1.44 on AMINET11x with 32Mb RAM0000
Sending DHCP Discover
DHCP Offe
Processor: 51510950 running at 252.000 MHz0 bf AMINET.txt
00140000 ASB v1.22
00148000 FIL v1.36t server IP addres
00150000 VUL v1.14
00158000 ETH v1.26
DHCP Offer ignore
00168000 CPT v1.00
DHCP Offer accept
AMINET11x BOOT ROM VERSION 1.32.18CP Request
DHC
TV system = PAL-I Output format = CVBS-RGBON.0.0 bf AMINET.txt
Setting DENC0_CR1 to 91000040
Multicast group an
Setting DENC1_CR1 to 91001F40
Starting cold boot sequence …
00000000
Sending DHCP Discover
DHCP Offer from 192.168.1.1 yi 192.168.1.51 si 0.0.0.0 bf
No multicast boot server IP address in siaddr
No multicast group ID and port in boot file
DHCP Offer ignored
DHCP Offer acceptable
Sending DHCP Request
DHCP Ack from 192.168.1.1 yi 192.168.1.51 si 0.0.0.0 bf
Multicast group and port is 225.0.10.34:11111
Joining IGMP group
Starting download
Block seq 65 max 769 addr 004171B0 len 1456; present 770 awaited 0
Image download complete
Checking image signature
Key FFFDE500 : 2
Checking image signature
Key FFFFFE00 : 2
flashled: major=00000003 , minor=00000001
Leaving IGMP group
Failed, so retrying..
00000000
As you can see Checking image signature fails
2 mars 2010 - 11:18
I have no idea.
What do you see on the DHCP side ? Does the Amino takes an IP ?
Is the IP:port 225.0.10.34:11111 the one you defined ?
Are you broadcasting on it ?
Do you have the right key for the firmware ?
How long does it take before failing (does it really download the image ? )
2 mars 2010 - 14:58
Yes, the amino takes 192.168.1.51 and yes, IP:port 225.0.10.34:11111 is the one I defined.
Yes, I am broadcasting correctly. The image is downloaded properly.
I bought this second hand amino. It is obvious that the bootstrap and the upgrade image are NOT present. I used tcpdump and verified the insecureAMINET11xmboot1.32 vendor.
Now that I am thinking, probably there is firmware key stored somewhere in the STB (is it in the NAND flash ? ) which I have NOT. Is there some way to completely erase the NAND flash (ie restore it to the factory settings) so that my image will be accepted?
Any help or ideas are greatly appreciated.
4 mars 2010 - 00:17
hey man this is my deatil someone explain me my problems is it realy serious
i have DHCP server with midleware istream
i connected 300 device with this midleware server so before some dayes i found many device is not work and not take image from midleware and just flashing light even not show display bt when i check other working amino that a work so where the problems and aht happen …? ,y device please take a time for me and tell me how i solved these amino problems i am watching this problem withing 1 month till now my 80 devices is not work
thanks all brother advance
4 mars 2010 - 09:50
I’m sorry but I seriously can’t help you with so little information.
Maybe all of your Amino does not have the same firmware, so they don’t match the rule (like insecureAMINET11xmboot1.32) in you DHCP so they don’t get an IP ?
4 mars 2010 - 09:52
This sounds like a key problem. Are you sure your firmware is « certified » by the key you are transmitting ?
I don’t think the key have to be inside the amino, you just have to sign your new firmware with it. This is more than a year ago for me and I don’t work with all this anymore, so…
4 mars 2010 - 10:38
Hi Prune,
if you are right that the key is not inside the amino, then this is GOOD news. I am DEFINATELY sure that the firmware is certified by the key I am transmitting.
What I suspect is that the firmware I use is VERY older than what my amino can acept. Specifically, my firmware is Version 0.9.5 If you Prune, or anybody else can send me a newer version, I would VERY much apreciate it. I can help anybody in return with the knowledge I have for amino set top boxes.
My email is akyprianou at cytanet dot com dot cy
Best regards,
Antonis
4 mars 2010 - 21:34
man my all amino is same firmware the main problems amino not take image and also ip address when i power on the suddenly flashing the light i and not take ip address and also image why this matters come i dont know bt before all this device working fine realy i dont undasttant this wht wrong all of amino device just flashing the light i have added all amino devices mac with ip adress each of rooms these are all config it so why this issue on
4 mars 2010 - 21:39
and i inform you that if is this certified so why my other amino work properly till now m not sure about others realy i dont know when other stop please give me any types of idea i do all of . becase i have more than now 100 devices not work so please give me any idea and i do if you all help me and give me idea maybe we are success so please give me idea how solve this problems thanks your Brother Nadeem
11 mars 2010 - 06:31
hello, i have found that firmware like Myrio locks down their STB’s. does anyone know how to completely flash the Mryio loaded boxes so I can reflash a new code. thank you..
17 mars 2010 - 14:37
The Amino boxes have an inbuilt security key so only software signed with the corresponding key can be loaded onto the box. I guess your box provider can tell you what key is in the boxes you have.
Amino have now made some of their documentation available so you can see what the LED flashing means – take a look at the Install and Upgrade Guide at http://stbsupport.aminocom.com
18 mars 2010 - 07:46
Thanks Magpie,
Yes, I realized that although the aminet needs to be flashed, the security key is still there (in the NAND or NOR flash ?) but unfortunately this is a second hand amino and the box provider retarted. Therefore, there is no way I can find the key.
On the other hand, I managed to read the serial console but NOT write to it. I haven’t found out how to enable writing to it. I am working on this, if you have any info on this matter, please share it.
Regards,
Antonis
22 mars 2010 - 12:13
hi eveyone i good news i have this key and complete image of amino110 bt i dont know how flash it if someone need to experiment so mail me i send you all information about image of amino and certified keys eveything i have this is my emails address u do well and inform me how to do if someone need to know i install teamviwer on the midleware so wana see and tell me whts happen thanks
22 mars 2010 - 12:16
this is my emails address if wana contact online this id 12hrs online
sanwanriiya@yahoo.com
sanwanriiya@live.com
thanks
23 mars 2010 - 13:44
so anybody found solutation of aminoA110 how to reflash it please fount it guys i have alot of devices not working ok i have one thing can we reflsh os opreating system like server 2003 i already have this and near about 100 aminet is working bt 100 is not working jsut blinking light only they not take ip address and image so wht we do i install on my server teamviewer any boday want to see pm me on yahoo id i be ready
30 mars 2010 - 21:29
the flash 3 – 1 is an error code. this means the verification of the download image failed. it will delete the image if saved in the flash. it the retries 3 times. if still unsuccessful, the stb reboots.
3 mai 2010 - 08:19
Hi rude ,
Yes, you are absolutely right. It seems that there is no way to flash the amino if I don’t get the original signature. In addition, writing to the console is disabled and there is no Jtag interface. I am giving up amino products and switching to some other brand.
18 mai 2010 - 06:56
Hai
I have one problem when i am flashing Amino 130H STB The message on the TV screen is like this
Showing Minerva logo , Version Error code E0040
Any one can help me to solve this problem
18 mai 2010 - 14:30
ashraf bhi can u tell me please how u uplod the image and reflash it . i have istream midleware server 2003 DCHP and DNS
but i dont know more 2003 so how can u uplod the image and this is my image file i uplod it on hotfile thanks if someone know how uplod it i appriciate and advance thanks this is link of AmiNet110
http://hotfile.com/dl/43508070/6143606/Amino_Baseline.zip.html
thanks
22 mai 2010 - 13:45
hi anyone tell me where i buy amino Debug Cable please
i need to reflash my amino devices
5 juillet 2010 - 19:38
hi all friends i found the exact solution’s of amino and very very easy on server 2003 its realy easy way and take only 1 minute nothing anything need if you are amino will dead so i have trick easy anyone email me or contact me then i show u how as u see up side i upload image of amino keep this and come over here as soon i upload complete procedure all right thanks everyone
27 juillet 2010 - 10:32
When i want to create the image, is used the psw » markskey » but get this message
Amino signupgradeimage Version : 1.44.8.1 $
Using DI of 0
Please enter passphrase for /home/frank/amino/releases/A110/0.15.10-A110-opera-gogi-ami_wm-subs-bitband-1/bootstrap/../utils/keys/amino/KEY.private:
0
Generating flash contents list
1fc4MSSSS4 – ignoring
albw.ttf – read only
AMINET.img – read only
ami_wm – read only
bbsdk.cfg – read only
browser – read only
c24fMSSEN4 – ignoring
chnpopup.htm – read only
cversion – read only
DI – ignoring
dialog.in – read only
domaddons is executable, but not marked as read-only – aborting
know somebody whats wrong??
28 juillet 2010 - 07:54
You should write « W » front of « domaddons » under « # Opera 8 extentions » instead of « R » in flashcontents file
29 juillet 2010 - 13:10
Hi Frank
I guess that if you look in imagecomponents your domaddons file will have executable permissions eg
[root@server imagecomponents]# ls -l domaddons
-rwxrwxrwx 1 611 users 1539 Feb 5 10:22 domaddons
The signupgradeimage script expects that anything that is executable is read only (as sepcified in the flashcontents file) as you don’t want people (hackers) being able to change executable files on the STB.
If you change the permissions on the domaddons file in imagecomponents (using chmod) then it should sign correctly.
7 août 2010 - 17:25
I have problems with mcastbootd,
When i run mcastbootd -D i see that bootstrap.signed and m2.mcfs continiosly while.
amino 110 gets ip from dhcp, i can ping amino.