domingo, 9 de dezembro de 2012

tutorial faça Backup do tablet WM8650 antes de atualizar

s tablets com processadores WM8650 da Wondermedia tem se tornado os mais comuns, e porque não dizer, o mais comum em apresentar problemas tais como: travar na tela principal, lags no funcionamento corriqueiro e problemas de conexão.

Alguns destes problemas podem ser resolvidos através da regravação/atualização do firmware interno do tablet (mas não todos), no entanto, após atualizar, o usuario descobre que o touchscreen não funciona, o som, display e outros dispositivos não funcionam e se instala o desespero em utilizar um env_uboot e passar pelo tedioso processo de regravação á cada modificação do env_uboot.

Infelizmente, não é um processo indolor, e muitas vezes causam mais danos ao aparelho (principalmente para leigos) quando se escolhe um env com configurações diferentes.

Por este motivo, o conhecido HardCoreHacker desenvolveu um script que reúne informações do tablet no estado atual e grava em um arquivo para ser utilizado na recuperação/regravação de um novo firmware.
Ele coleta as seguintes informações do aparelho:



Code:
wmtenv get touchcodec - Parâmetros do "codec" do touchscreen (necessário em aparelhos antigos)
wmtenv get wmt.model.no - Parâmetros do aparelho
wmtenv get wmt.audio.i2s - Parâmetros do sistema de áudio
wmtenv get wmt.gpt.gsensor - Parâmetros do sensor de gravidade
wmtenv get wmt.bus.i2c - Parâmetros do BUS de dados 
wmtenv get wmt.sys.keypad - Parâmetros do teclado (externo)
wmtenv get wmt.display.param - Parâmetros do LCD (tamanho, resolução, frequência, etc.)
wmtenv get wmt.display.tmr - Parâmetros do timer de sistema
wmtenv get wmt.display.pwm - Parâmetros do gerenciador de energia do sistema
wmtenv get wmt.io.mxcgsensor - Parâmetros de I/O de calibração do sensor de gravidade
wmtenv get wmt.io.gsensor - Parâmetros de I/O do sensor de gravidade
wmtenv get wmt.io.touch - Parâmetros de I/O do modelo do touchscreen (tamanho, CI, resolução, etc.)
wmtenv get wmt.vt160x.bat - Parâmetros de I/O do PWM de recarga da bateria
wmtenv get wmt.io.ts.2dcal - Parâmetros de calibração default do touchscreen
OBS.: esses parâmetros podem mudar de tablet á tablet, e sua nomenclatura e uso podem ser diferentes.

Após coletar esses dados, o script salvará estes dados no /sdcard do tablet, como exemplo, estes são os parâmetros coletados num modelo M009:
Code:
wmt.model.no:
7inch_std_vt1609_touch 
wmt.audio.i2s
vt1603:f1:f2:ff:ff:100
wmt.gpt.gsensor
3:8:d8110040:d8110080:d8110000:d8110480:d81104c0:83000000:d8110300:8:d8110320:6
wmt.bus.i2c
i2c0:1:1:i2c1:1:1
wmt.sys.keypad
commonboard:1:rc_1:4:c0_73:c1_72:r0_9e:r1_8b
wmt.display.param
2:0:16:0:0:0
wmt.display.tmr
40000:0:10:46:800:20:10:23:480:10
wmt.display.pwm
0:25:50:99
wmt.io.mxcgsensor
1:3:4:0:1:1:1:2:-1
wmt.io.gsensor
1:3:4:0:1:1:-1:2:-1
wmt.io.touch
1:vt1609:2:800:480
wmt.vt160x.bat
1:0:10:0
wmt.io.ts.2dcal
179 -17726 34724999 12066 110 -3921662 41112
Touchcodec:
Coletado estes parâmetros, faça o backup do backup-env_uboot.txt num local seguro.

Como fazer o backup?
No pacote em anexo (WM8650_BackupKit.zip) há um programa para Android chamado ScriptManager e o script backup.sh. O backup.sh é um script shell Linux, que coletará esses dados, e precisará do SM para ser executado (pode ser executado através de um app de Terminal Android, a escolha é sua).
Baixe o arquivo, descompacte, salve o backup.sh e o pacote apk do ScriptManager num cartão. 
Insira o cartão no tablet, e instale o ScriptManager (Ou SManager). 

Abra o programa e verá esta tela:


Veja que o backup.sh já está na raiz do cartão. Ótimo. Clique em cima desse arquivo e a janela seguinte se abrirá. Clique em "Run" para executar o script:






Se tudo ocorreu bem, o arquivo estará salvo no sdcard:


Tudo bem até agora. Remova com segurança o cartão de memória do tablet e conecte ao PC. Salve o backup-env_uboot.txt em local seguro.

Agora, o importante: os parâmetros coletados terão que ser inseridos no env_uboot do firmware que quer utilizar. O necessário aqui será:
1) Ter um firmware do mesmo fabricante de seu tablet;
2) Ter um firmware para o mesmo processador de seu tablet;
3) Esteja discriminado no início do env_uboot o tamanho da memória de processamento do seu tablet (explicarei a seguir)
4) Esteja absolutamente certo de que quer fazer isso, e está ciente dos danos que pode causar á seu aparelho. Informo novamente: não nos responsabilizamos por isto.

Como exemplo, o que foi coletado acima será passado para o env_uboot do firmware que deseja usar.

Este é o exemplo do env de um M009D, modelo mais comum hoje em dia, com 256MB de memória. Você verá os mesmos parâmetros para serem substituídos neste env (não na mesma ordem do script de backup):
setenv memtotal 224M
setenv mmcid 0
setenv lpj AUTO
setenv ipaddr 192.168.0.2
setenv serverip 192.168.0.1
setenv gatewayip 192.168.0.1
setenv netmask 255.255.255.0
setenv kernelargs \
setenv bootargs mem=${memtotal} root=${filesystem-NAND_mtd} noinitrd rootfstype=yaffs2 \
rw console=ttyS0,115200n8 lpj=${lpj} ${android_bootargs} ${platform_bootargs} \
quiet


setenv bootcmd \
nandrw r ${kernel-NAND_ofs} 0x1000000 ${kernel-NAND_len}\; \
if iminfo 0x1000000\; then \
run kernelargs\; \
bootm 0x1000000\; \
fi\; \
echo No kernel found


setenv logocmd \
nandrw r ${wmt.nfc.mtd.u-boot-logo} ${wmt.display.logoaddr} 10000\; \
nandrw r ${wmt.nfc.mtd.u-boot-logo2} ${wmt.display.logoaddr2} 40000\; \
nandrw r ${wmt.nfc.mtd.kernel-logo} ${wmt.kernel.animation.addr} 80000\; \
display init force\; \
decompanima -f ${wmt.display.logoaddr2} 0x3000000; \
decompanima -f ${wmt.display.logoaddr} 0x3000000


setenv wmt.display.logoaddr2 550000
setenv wmt.audio.i2s vt1603:f1:f2:ff:ff:100
setenv wmt.io.pwbn 100:0:2000
setenv wmt.display.logoaddr 500000
setenv wmt.kernel.animation.addr f600000
setenv wmt.eth.param 1
setenv wmt.gpi.bat [0:0:00020000:d8110040:d8110080:d8110000:d8110480:d 81104C0][1:0:00000020:d8110040:d8110080:d8110000:d8110480:d 81104C0][2:1:00010000:d8110040:d8110080:d8110000: d8110480:d81104C0]
setenv wmt.gpo.camera1 1:0:7:D8110040:D8110080:D81100C0
setenv wmt.gpo.wifi 6:1:6:d8110040:d8110080:d81100C0
setenv wmt.gpt.gsensor 3:8:d8110040:d8110080:d8110000:d8110480:d81104c0:8 3000000:d8110300:8:d8110320:6
setenv wmt.io.bat 3:2:1000:db1:b8b:db1:d7a:d43:d0c:cd5:c9e:c67:c30:b f9:bc2:b8b
setenv wmt.io.gsensor 1:3:4:0:1:1:-1:2:-1
setenv wmt.sys.keypad commonboard:1:rc_1:4:c0_73:c1_72:r0_9e:r1_8b
setenv wmt.pwbn.param 100:0:500
setenv wmt.ui.storage 7
setenv wmt.io.touch 1:uor615x:0:800:480
setenv wmt.bus.i2c i2c0:1:1:i2c1:1:1
setenv bootdelay 1
setenv wmt_ui_hibernation 1
setenv wmt_sys_powerhold 0
setenv wmt.gpo.vibrator 1:1:2:D8110040:D8110080:D81100C0:1
setenv wmt.camera.param 0:0
setenv android_bootargs init=/init
setenv platform_bootargs wmtvo=2:1:24:800:480:60
setenv wmt.display.param 2:0:16:0:0:0
setenv wmt.display.tmr 40000:0:10:46:800:20:10:23:480:10
setenv wmt.display.pwm 0:25:50:99
setenv wmt.vt160x.bat 0:1:10:0
setenv wmt.io.mxcgsensor 1:3:4:0:1:1:1:2:-1
setenv wmt.model.no 7inch_std_vt1603
setenv wmt.io.ts.2dcal 3 -17438 67608023 11859 10 -5362731 80387
Atenção ao parâmetro "memtotal". Se colocar acima do que o tablet suporta, causará problemas diversos, como travamento na tela de boot, entre outros. Neste caso, o tablet tem 256MB de memória, mas apenas 224MB que podem ser utilizados pelo sistema. (32MB reservados para vídeo).

link

credito Neno Molina


12 comentários:

  1. Cara tou com um ibak7100 wm8850 aqui que tava só com o problema de login e fui atualizar ele passou todo o procedimento pediu pra remover o cartão e agora ele liga acende a luzinha verde mas a tela fica preta desligada, o que faço?

    ResponderExcluir
  2. intão isso vc instala antes de tentar reinstalar o sistema.. mas e depois da cagada feita? sem acesso ao touch? tem alguma maneira de se executar esse script? tipo um live?

    ResponderExcluir
  3. Cara eu comcequi bota pra funciona meu tablet pegou o touch pegou o áudio mais a câmera não funcionou quando eu coloco pra funciona a câmera ela trava me ajuda meu tablet e um mox 734 de 7 polegadas..vlowwww

    ResponderExcluir
    Respostas
    1. se ferrou!!!
      se não sabe mexer na bagaça, deixa quieto! :-D

      KKKK

      Excluir
  4. mano eu tenho um tablete da navcity nt 1710 e ele ta trava na tela verde onde tem o nome android ja tentei atualizar com o room dele e nao deu certo o que eu faço da uma dica ae.

    ResponderExcluir
  5. Tenho um tablet T-804 da DL e fiz atualização com o Uberoid 11 mas o touchscreen não funciona, já testei várias versões do env_uboot mas não funciona de jeito nenhum. O que fazer? existe como configurar para funcionar o touchscreen?

    ResponderExcluir
  6. tenho um phaser kinno pc 719, não pegou o touch e nem audio

    ResponderExcluir
  7. Eu tenho um tablete navcity nt2755 alguém tem o firmawere original.

    ResponderExcluir
  8. Olá brothers, eu to entando compreender, mas eu não entendo quase nada, eu eu tenho um tablet velho aqui com a versão do android 2.3, eu queria muito poder saber se tem como atualizar ele usando esses procedimentos, alguem pode me ajudar?

    ResponderExcluir
  9. Meu tablet é da marca AOC Breeze, modelo dele é MW0812 BR,

    ResponderExcluir
  10. Quero saber se o processo se faz no PC ou tablet, to mio atrapalhado, não consigo entender direito

    ResponderExcluir