Amlogic Android Box M8 V88 Pcb Bricked No Signal Blue Light on
I reviewed Rikomagic MK22 TV box about two weeks ago, and with the firmware I had, online firmware update was not enabled, and the company only released .IMG firmware for Amlogic USB Burning Tool, a windows-only tool that's not well designed, and requires some procedure that vary slightly from boxes to boxes which in some cases forces to buy a male to male USB cable.
I've now started reviewing R-Box Pro TV box also based on Amlogic S912 processor, online firmware update is not working either, and again I only managed to find .IMG firmware for the box on GeekBuying. However, I've been informed that "USB Burning Tool" firmware can now be flashed through a micro SD card, or USB flash drive with all recent Amlogic TV boxes, so I've tried this method instead of R-Box Pro, and decided to report my experience in this post following some instructions on Freaktab made by user Calc. I'll show instructions in Linux (which could be further streamlined), and then Windows.
Linux Method
After downloading and extracting the rar'ed firmware file (twice), I ended up with a single img firmware files (aml_s912_q6330-R-BOX-PRO-3gddr-mac-20161015.img).
First we'll need to have a tool to extract some files from the firmware. Create aml-upgrade-package-extract.c with the code below which I found on Freaktab too and slightly modified it to parse the firmware filename:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | #include <errno.h> #include <inttypes.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> uint32_t convert ( uint8_t * test , uint64_t loc ) { return ntohl ( ( test [ loc ] << 24 ) | ( test [ loc + 1 ] << 16 ) | ( test [ loc + 2 ] << 8 ) | test [ loc + 3 ] ) ; } void main ( int argc , char * * argv ) { FILE * fileptr ; uint8_t * buffer ; long filelen ; FILE * f ; char * filename ; uint64_t record ; uint64_t record_loc ; uint64_t file_loc ; uint64_t file_size ; if ( argc <= 1 ) { printf ( "Usage: %s [firmware-file-name]\n" , argv [ 0 ] ) ; exit ( 0 ) ; } fileptr = fopen ( argv [ 1 ] , "rb" ) ; fseek ( fileptr , 0 , SEEK_END ) ; filelen = ftell ( fileptr ) ; rewind ( fileptr ) ; buffer = ( uint8_t * ) malloc ( ( filelen + 1 ) * sizeof ( uint8_t ) ) ; fread ( buffer , filelen , 1 , fileptr ) ; fclose ( fileptr ) ; for ( record = 0 ; record < ( uint8_t ) buffer [ 0x18 ] ; record = record + 1 ) { record_loc = 0x40 + ( record * 0x240 ) ; filename = ( malloc ( 32 ) ) ; sprintf ( filename , "%s.%s" , ( char * ) & buffer [ record_loc + 0x120 ] , ( char * ) & buffer [ record_loc + 0x20 ] ) ; file_loc = convert ( buffer , record_loc + 0x10 ) ; file_size = convert ( buffer , record_loc + 0x18 ) ; f = fopen ( filename , "wb" ) ; if ( f == NULL ) { printf ( "ERROR: could not open output\n" ) ; printf ( "the error was: %s\n" , strerror ( errno ) ) ; free ( filename ) ; continue ; } fwrite ( & ( buffer [ file_loc ] ) , sizeof ( uint8_t ) , ( size_t ) file_size , f ) ; fclose ( f ) ; free ( filename ) ; } free ( buffer ) ; } |
Now compile the tool with gcc:
gcc aml - upgrade - package - extract . c - o aml - upgrade - package - extract |
and run the thing on the firmware file:
. / aml - upgrade - package - extract aml_s912_q6330 - R - BOX - PRO - 3gddr - mac - 20161015.img |
It will extract a bunch of files:
jaufranc @ FX8350 : ~ / edev / amlogic / s912 $ ls aml_s912_q6330 - R - BOX - PRO - 3gddr - mac - 20161015.img logo . PARTITION aml_sdc_burn . ini logo . VERIFY aml_sdc_burn . UBOOT manifest . xml aml - upgrade - package - extract meson1 . dtb aml - upgrade - package - extract . c platform . conf bootloader . PARTITION recovery . PARTITION bootloader . VERIFY recovery . VERIFY boot . PARTITION system . PARTITION boot . VERIFY system . VERIFY DDR . USB UBOOT . USB keys . conf |
You'll just need aml_sdc_burn.ini and aml_sdc_burn.UBOOT, plus the IMG file itself to create a bootable mass storage device.
Now find the device for your micro SD card (formatted with FAT32) with lsblk:
lsblk NAME MAJ : MIN RM SIZE RO TYPE MOUNTPOINT sda 8 : 0 0 931.5G 0 disk ├─sda1 8 : 1 0 915.9G 0 part / media / hdd └─sda2 8 : 2 0 15.6G 0 part sdb 8 : 16 0 111.8G 0 disk └─sdb1 8 : 17 0 111.8G 0 part / sdc 8 : 32 0 931.5G 0 disk └─sdc1 8 : 33 0 931.5G 0 part / media / jaufranc / SEAGATE EXTENSION sdd 8 : 48 1 3.8G 0 disk └─sdd1 8 : 49 1 3.8G 0 part / media / jaufranc / 6106 - E11B sr0 11 : 0 1 630M 0 rom / media / jaufranc / CanonEOS285W loop0 7 : 0 0 75M 0 loop / snap / ubuntu - core / 423 loop1 7 : 1 0 4.3M 0 loop / snap / canonical - livepatch / 17 loop2 7 : 2 0 4.3M 0 loop / snap / canonical - livepatch / 15 |
In my case, it's /dev/sdd, but I'll use /dev/sdX in the instructions below, just change the command with yours.
sudo umount / dev / sdX* sudo dd if = aml_sdc_burn . UBOOT of = / dev / sdX bs = 1 count = 442 sudo dd if = aml_sdc_burn . UBOOT of = / dev / sdX seek = 1 skip = 1 bs = 512 sync |
and finally, re-mount the SD card/flash drive, copy the firmware file and aml_sdc_burn.ini to the root of the device, and rename the firmware to aml_upgrade_package.img to match the string in aml_sdc_burn.ini:
cp aml_sdc_burn . ini aml_sdc_burn . UBOOT [ device - mount - point ] cp aml_s912_q6330 - R - BOX - PRO - 3gddr - mac - 20161015.img [ device - mount - point ] / aml_upgrade_package . img sudo umount / dev / sdX* |
Now make sure no other USB devices or SD cards are inserted in the TV box, and insert your bootable (micro) SD card or USB flash drive into the TV box. If your TV box is fully bricked, you have nothing to do, and the update should start straight away, but if it is partially bricked or just working fine, you still need to press the recovery button, apply power, and release the button in order to enter recovery mode. The upgrade should then start automatically as shown below.
Patiently wait for the update to complete and you should be all good. Please note that I first tried with a USB flash drive, and the method did not work. Once the update is complete, you'll see the "Android success" logo.
At this point, remove the micro SD card, and power cycle the board to complete the final steps of the update, and within one or two minutes you should get the Android launcher. If instead, the firmware ends with "Android failure" logo showing a red cross, verify your firmware MD5 (e.g. with md5sum in Linux) to make sure it's not corrupted. If it is, re-download the file and/or re-copy the file to the micro SD card.
Windows Method: Burn Card Maker
If you are a Windows user it's much easier as you just need to use Burn_Card_Marker tool (bootcardmaker.exe), which you can download here or there. The documentation shows the interface as shown below.
But after starting the program in Windows 7, and changing the language with the top menu, second option to English, it stayed in Chinese language and looked like the screenshot below instead.
[Update: After changing the language to English, select the third option in the top menu to apply the change…
…restart the app, and it will be in English.]
It's not really a big issue, but you can still select your SD card device (F: drive in my case), load the file, and press "Make" button to start creating a bootable recovery (micro) SD card.
You'll get a "Success!" pop-up window and the end, and the content of the SD card will show the firmware and the two aml_sdc_burn files.
Now you can insert the micro SD card in the TV box, enter the recovery menu with the pinhole or other method for your TV box, and the firmware update will start automatically.
Good Luck!
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
arandayoublituff51.blogspot.com
Source: https://www.cnx-software.com/2016/11/19/how-to-create-a-bootable-recovery-sd-card-for-amlogic-tv-boxes/
0 Response to "Amlogic Android Box M8 V88 Pcb Bricked No Signal Blue Light on"
Post a Comment