Achei num site russo especializado em telefones chineses um programa para fazer backup dos arquivos do sistema Android de celulares baseados no chip MT6516. É um aplicativo para rodar scripts shell do Linux, mais um script shell que automatiza todo o processo de cópia. Extraí as pastas deste ZIP e copiei-a para o cartão SD. Pelo gerenciador de arquivos do celular, entrei na pasta do programa e executei-o para instalá-lo. A seguir, adicionei o script ao programa. O script é este:
# CreateDir mkdir /sdcard/backup_ # ddImage dd if=/proc/mtd of=/sdcard/backup_/firmware.info dd if=/dev/mtd/mtd0 of=/sdcard/backup_/preloader.img dd if=/dev/mtd/mtd1 of=/sdcard/backup_/nvram.img dd if=/dev/mtd/mtd2 of=/sdcard/backup_/seccnfg.img dd if=/dev/mtd/mtd3 of=/sdcard/backup_/uboot.img dd if=/dev/mtd/mtd4 of=/sdcard/backup_/boot.img dd if=/dev/mtd/mtd5 of=/sdcard/backup_/recovery.img dd if=/dev/mtd/mtd6 of=/sdcard/backup_/secstatic.img dd if=/dev/mtd/mtd7 of=/sdcard/backup_/misc.img dd if=/dev/mtd/mtd10 of=/sdcard/backup_/logo.img dd if=/dev/mtd/mtd11 of=/sdcard/backup_/expdb.img mount -o remount,rw -t yaffs2 /dev/block/mtdblock8 /system cat /sdcard/Install/BackUp/yaffs_back_2.2/gen/mkyaffs2image > /system/bin/mkyaffs2image chmod 4777 /system/bin/mkyaffs2image /system/bin/mkyaffs2image /system /sdcard/backup_/system.img /system/bin/mkyaffs2image /cache /sdcard/backup_/cache.img /system/bin/mkyaffs2image /data /sdcard/backup_/data.img
Modifiquei um pouco este script para gerar arquivos com nomes adequados ao celular Wei Dream (preloader_bird16_a10y.bin, uboot_bird16_a10y.bin) e para dar mensagens mais descritivas do que está acontecendo. Executei este script (dando as permissões de root) e, depois de vários minutos trabalhando, aparece a mensagem “Tudo feito”, conforme indica a imagem abaixo.
Estes comandos todos poderiam ser emitidos em um terminal, um a um, mas num script é mais prático. “dd” é o programa padrão do projeto GNU para cópia de arquivos, convertendo o que for necessário conforme o arquivo de entrada e arquivo de saída. “if” é o “input file”, “of” é o “output file”. No caso, os input files são partições inteiras do Android, que são copiados para um arquivo de backup byte por byte. Isto se chama dump de memória ROM (despejo). Fácil, não? Linux rox!
O comando “dd” faz uma cópia bruta dos dados da memória flash. Depois de gerados estes arquivos, copiei-os para o PC e usei o MTK ROM Studio para eliminar dados desnecessários e deixar as ROMs no formato certo para ser reflashado de volta ao Wei Dream. Este programa também gera o arquivo scatter, usado para indicar as posições de memória em que os arquivos serão gravados. O MTK ROM Studio foi criado pelo russo linerty, talvez o maior hacker de MT6516 do mundo.
O interessante destas informações é que o script acaba informando sobre a estrutura das ROM e de arquivos do sistema. Segundo linerty, a estrutura das ROM de sistema é a seguinte, em tradução livre do russo:
- preloader (0,25 MB.) – Pré-carregador. Fornece ao telefone comunicação com o FlashTool em “modo USB”, e fornece a unidade de partida. Presumivelmente carrega uboot na memória e passa o controle a este módulo. Deve ser carregado com o cabo USB-serial TTL. As ROMs restantes, listadas a seguir, são gravadas pelo cabo USB normal.
- nvram (3,0 MB) – Mantém as células de calibração, IMEI, endereços MAC, endereços de BlueTooth e Wi-Fi e muito mais. O ponto de montagem é /data/nvram.
- seccnfg (0125 MB) – Coisa desconhecida, geralmente contém apenas vazio “FF FF …”.
- uboot (0,375 MB) – Drivers bootloader e para a inicialização do equipamento principal (monitor, CPU, GPIO).
- boot (6,0 MB) – o kernel e drivers de sistema operacional (câmeras, sensores). O ponto de montagem é o diretório raíz /.
- recover (6,0 MB) – mini-sistema (o sistema no kernel). Sua função é unicamente fazer o backup/restore de aplicativos do sistema, ou seja, restaurar as configurações de fábrica. A recuperação funcional estendida, naturalmente, é muito mais rica.
- secstatic (1,156 MB) – sec_ro, Pouco conhecido. Provavelmente ligado à informações de segurança. O ponto de montagem é /system/secro. O sistema de arquivos é YAFFS2.
- misc (0,375 MB) – Conteúdo desconhecido. Geralmente contém apenas vazio “FF FF …”.
- logo (3,0 MB) – A primeira imagem que aparece quando o celular é ligado [acho que a segunda imagem].
- expdb (0,65 MB.) – Conteúdo desconhecido. Geralmente contém apenas vazio “FF FF …”.
- system (~ 160-210 MB) – A partição de sistema Android. É tudo o que se relaciona com a operação do dispositivo. Contém uma série de funções suportadas pelo sistema operacional Linux. Tudo o que se mudar neste aquivo não está sujeito a restauração da reposição de fábrica. Ponto de montagem /system. Sistema de arquivo YAFFS2.
- cache (62,0 MB) – partição para a localização dos arquivos temporários. Normalmente usado por aplicações (“Mercado”, “Gerenciador de ROM” …). Completamente apagada quando se faz uma reposição de fábrica. Ponto de montagem é /cache. Sistema de arquivos YAFFS2.
- userdata (~ 220-290 MB) – dados do usuário. Esta seção guarda dados de softwares instalados como calendários, perfis, configurações de programas e sistemas diferentes. Com a perda de conteúdo da seção, geralmente o desempenho do sistema não é afetado. Completamente apagado quando se faz uma reposição de fábrica. O ponto de montagem é /data. Sistema de arquivos YAFFS2.
Nem todos estes arquivos são necessários para se reflashar com sucesso o Wei Dream.
A estrutura de arquivos também é indicada no log de boot, recuperado com o comando dmesg dentro do shell Android:
<5>[ 1.055415] Creating 13 MTD partitions on "MT6516-Nand": <5>[ 1.056125] 0x000000000000-0x000000020000 : "preloader" <5>[ 1.058539] 0x000000020000-0x000000320000 : "nvram" <5>[ 1.060678] 0x000000320000-0x000000340000 : "seccnfg" <5>[ 1.062672] 0x000000340000-0x0000003a0000 : "uboot" <5>[ 1.064665] 0x0000003a0000-0x0000009a0000 : "boot" <5>[ 1.066647] 0x0000009a0000-0x000000fa0000 : "recovery" <5>[ 1.068716] 0x000000fa0000-0x0000010c0000 : "secstatic" <5>[ 1.070895] 0x0000010c0000-0x000001120000 : "misc" <5>[ 1.072997] 0x000001120000-0x00000bb20000 : "system" <5>[ 1.075592] 0x00000bb20000-0x00000f720000 : "cache" <5>[ 1.077709] 0x00000f720000-0x00000fa20000 : "logo" <5>[ 1.079599] 0x00000fa20000-0x00000fac0000 : "expdb"
O comando “cat /proc/partitions” revela o tamanho das partições em número de blocos:
# cat /proc/partitions major minor #blocks name 31 0 128 mtdblock0 31 1 3072 mtdblock1 31 2 128 mtdblock2 31 3 384 mtdblock3 31 4 6144 mtdblock4 31 5 6144 mtdblock5 31 6 1152 mtdblock6 31 7 384 mtdblock7 31 8 174080 mtdblock8 31 9 61440 mtdblock9 31 10 3072 mtdblock10 31 11 640 mtdblock11 31 12 267520 mtdblock12 179 0 1966080 mmcblk0 179 1 1707008 mmcblk0p1 179 2 258048 mmcblk0p2
E o comando “cat /proc/mounts” descreve os tipos de sistemas de arquivos e parâmetros de montagem:
# cat /proc/mounts rootfs / rootfs ro,relatime 0 0 tmpfs /dev tmpfs rw,relatime,mode=755 0 0 devpts /dev/pts devpts rw,relatime,mode=600 0 0 proc /proc proc rw,relatime 0 0 sysfs /sys sysfs rw,relatime 0 0 tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0 /dev/block/mtdblock8 /system yaffs2 ro,relatime 0 0 /dev/block/mtdblock12 /data yaffs2 rw,nosuid,nodev,relatime 0 0 /dev/block/mtdblock9 /cache yaffs2 rw,nosuid,nodev,relatime 0 0 /dev/block/mtdblock6 /system/secro yaffs2 ro,relatime 0 0 /dev/block/vold/179:1 /mnt/sdcard vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount ro 0 0 /dev/block/vold/179:1 /mnt/secure/asec vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0 tmpfs /mnt/sdcard/.android_secure tmpfs ro,relatime,size=0k,mode=000 0 0
Com estas informações, posso recriar o firmware de um smartphone Android MT6516 a partir do despejo (dump) da ROM (Read Only Memory). A receita de bolo é a seguinte:
- Baixei o programa “MTK_Rom_Studio_1.1.77.146.rar” (Mirror 1 , Mirror 2, Traduzido para o português) e descompactei o arquivo para uma pasta.
Por exemplo: “C:\MTK_Rom_Studio\”. - Criei uma pasta para o firmware coletados.
Por exemplo, “C:\FwForSPFT\”. - Coloquei nesta pasta o dump da ROM.
Por exemplo, uma árvore de diretórios e arquivos ficaria assim:- C:\
- FwForSPFT\
- boot.img
- data.img
- firmware.info
- logo.img
- preloader_bird16_a10y.img
- recovery.img
- secro.img
- system.img
- uboot_bird16_a10y.img
- FwForSPFT\
- C:\
- Executei o programa “MTK_Rom_Studio.exe”.
- Escolhi o menu “Arquivo > Carregar firmware.info” na pasta com o firmware coletado:
Por exemplo, o arquivo “C:\FwForSPFT\firmware.info”. - Escolhi o menu “Modo > Profi”.
- Cliquei no botão “Confere arquivos”. Aparece a tela a seguir.
Em vermelho, aparecem arquivos ROM incorretos; em azul, arquivos não-ótimos; em Preto, arquivos com estado desconhecido. - Cliquei no botão “Corrige arquivos”.
O programa MTK_Rom_Studio irá realizar as seguintes ações automaticamente:- criar um arquivo scatter para uso do programa SP FlashTool. Este arquivo informa sobre a distribuição (scatter) dos arquivos ROM na memória flashdo aparelho;
Será um arquivo “C:\FwForSPFT\MT6516 _Android_scatter.txt”. O nome do arquivo scatter depende de plataforma do celular.
- Coletar e exibir informações sobre o arquivo de firmware (eles devem estar no mesmo diretório do arquivo “firmware.info”);
- Verificar e corrigir os arquivos de dump para o sucesso da gravação do firmware para o telefone. Antes, o programa de ajustamento cria cópias de backup de arquivos em uma pasta chamada “bak”;
Por exemplo, esta será uma pasta: “C:\FwForSPFT\bak”. - Remover firmwares que não puderam ser ajustados e podem ameaçar o reflasheamento, ou arquivos extras desnecessários.
Por exemplo, todas as operações de arquivos serão realizados na pasta: “D:\FwForSPFT\”.
- criar um arquivo scatter para uso do programa SP FlashTool. Este arquivo informa sobre a distribuição (scatter) dos arquivos ROM na memória flashdo aparelho;
- A seguir, cliquei no botão “Grava ‘scatter'” para gravar o arquivo que define a distribuição das imagens na memória flash, para uso do SP FlashTool.
- O firmware pronto para ser flashado pelo SP FlashTool será colocado na pasta original com o dump. A subpasta “bak” pode ser removida.
Por exemplo, uma árvore de diretórios e arquivos de firmware final será:- C: \
- FwForSPFT \
- boot.img
- data.img
- firmware.info
- logo.img
- MT6516_Android_scatter.txt
- preloader_bird16_a10y.img
- recovery.img
- secro.img
- system.img
- uboot_bird16_a10y.img
- FwForSPFT \
- C: \
Bonus track: Engineer mode
Entre no Modo Engenheiro do Wei Dream discando *#*#3646633#*#* (não é preciso clicar no telefonezinho). Podem ser configurados muitos ajustes de hardware neste modo. Incluindo desconfigurar tudo…
Programas e dados utilizados
- Para quem não quer ter todo este trabalho, baixe aqui o firmware do celular Wei Dream (modelo Y803 com chip MT6516).
- Baixe o GScript Lite com script em português para backup do sistema Android Wei Dream.
- Baixe o MTK ROM Studio em português.
Use por sua conta e risco. Não nos responsabilizamos por quaisquer danos ao seu celular.
Referências
- Hero H6 (MT6515, Android 2.2, TV, WiFi)
- Создание дампа ROM и работа с ним (MT65xx, Android). Descarregar ROM e trabalhar com ela.<http://forum.china-iphone.ru/post349443.html#p349443>
Olá alguem poderia mandar o backup desses arquivos para mim boot.img
data.img
firmware.info
logo.img
MT6516_Android_scatter.txt
preloader_bird16_a10y.img
recovery.img
secro.img
system.img
uboot_bird16_a10y.img
; pois eu esqueci de fazer backup.
Olá, Nafis!
Há um link no artigo acima!
Olá,
Estou com um problema em um MT6573. Supostamente seria Star I9220 NOTE. Na parte traseira vem escrito justamente isso NOTE e não PAD. Como os demais que andei vendo (A9220).
Fiz um uma atualização de uma ROM porém incompatível. Desde então o frankstein nunca mais foi o mesmo.
A tela desconfigurou, não tem mais a camera, nem a memória interna de 512 caindo para 120.
Poderia dar uma ajuda nesse caso? Vou postar um fórum que estou desesperado pedindo ajuda.
http://www.movilesdualsim.com/foro/threads/10967-Review-de-I9220-(CHIP-MTK-6573-)/page2
Ajude me!
Olá, Cavendish!
Veja se nos sites russos tem alguma ROM original para este modelo.
Olá José Antonio.
Gostaria que desse uma olhada nesse video que logo abaixo.
http://www.youtube.com/watch?v=5PxzrxKMt5Q
todos os detalhes que precisa saber estar no link do video, mas vou adiantar o assunto.
Meu android travou nessa tela da mãozinha e não passa desse ponto, já tentei todas as alternativas de reset, mas não obtive sucesso algum estava pensando em reinstalar o android novamente. será que seria possível.
Será que você tem a solução para o meu problemas?
Grato desde já pela atenção.
Olá, Wesley!
Reinstale o sistema. Outros artigos deste site mostram como. Coloquei as ROMs originais do Wei Dream para baixar.
ola amigo meu celular A2000 ANDROID 2.2 deu pau ele so fica com a tela preta nao reconhece mais o cartao de memoria pois depois de eu rotear eu foi tenta aumenta a memoria dele e agora ele nao reconhece nada preciço estala outra rons nele mais eu vou na opciao vumeleme powem para estala mais ele nao recolhece as rons que baixei tem que cria outra rons LUACHE para meu android se voce porde mim ajuda eu agradeço eu ja vir que voce maja sobre o android eu ja fis outro procedimento no seu seti e deu certo JA AGRADEÇO
Olá, Daniel!
Tente achar as ROMs certas para seu modelo. Tente instalar primeiro o arquivo de uboot pra ver se o problema é nele. Se não der, instale o resto do sistema.
Caro amigo tenho um Ichina N9770 – i9220 pad e fiz uma atualização nele para o ICS 4.0 e funcionou perfeitamente, depois disso, fiz outra atualização para o 4.1 jelly bean, que funcionou tambem, mas o wifi e a camera não detecta, ativo o WIFI e elenão detecta rede alguma e ao tocar na camera diz que não esta instalada,segundo as suas informações acima, tentei mesclar partes do ICS referente a drivers( os arquivos nvram, uboot e boot) acreditando euq ue com esse kernel ja que no 4.0 o kernelinstala todos os dispositivos, o processo de instalação da fw foi feito normalmente pelo SMART PHONE FLASH TOOLS, mas ao concluir ele trava no boot,
esse processo é possivel? existe alguma maneira de eu integrar esses arquivos para que eu possa usar o ” jelly bean ” 4.1 usando os arquivos de drives do ICS4.0?
Muito obrigado.
antonioamazonas@hotmail.com
Olá, Antonio!
Se o ICS 4 funcionou, fique com ele. Provavelmente os drivers não funcionam no ICS 4.1. O procedimento que você tentou seria o caminho correto (copiar os drivers), mas se tranca no boot, é incompatibilidade, mesmo.
Muito obrigado meu caro, grande abraço