Calibrando o Touchscreen pelo Kernel do celular ZTE-V821 Android

Publicado por Daniel Roque em 12/12/2011

[ Hits: 29.563 ]

 


Calibrando o Touchscreen pelo Kernel do celular ZTE-V821 Android



Olá a todos.

Como todos sabem, no Android o que roda por baixo gerenciando os dispositivos, é o nosso bom e velho conhecido: o Kernel do Linux.

Gostaria de compartilhar com todos as dificuldades que tive em calibrar o touchscreen do meu celular ZTE v821 dual chip Android 2.2.

Quando comprei, achei muito estranho o Touch que parecia não estar de acordo o toque com a área reconhecida, então instalei um 'applet' chamado 'touch test' que me mostrou que de fato não estava bem calibrado; na verdade, nada calibrado.

Bom, testei vários calibradores. Inclusive o que vem com o celular e nada. Na verdade, só piorou.

O que eu fiz?

  1. instalei um software chamado 'Universal Androot', fiz o download, passei para o chip e mandei instalar.
  2. depois executei o dito cujo, marquei a opção "Soft Root..." depois cliquei em 'go root'. Se der certo, aparecerá a mensagem: "Woot! Your Device is rooted", algumas vezes falha.
  3. Precisa-se ter certeza de que o celular esteja conectado via Wireless.
  4. Instalei o 'SSHDroid'(no Market) e o executei. Apareceu uma mensagem em inglês pedindo permissão (Allow) para a aplicação acessar como root. Depois de rodar a aplicação ele vai informar o endereço IP.
  5. no console no Linux ou via putty no Windows, acesse seu celular com root@ENDERECO_IP_DO_CELULAR, a senha padrão do SSHDroid é: admin. Pode ser mudado pelo menu do celular.
  6. você se logou no seu celular, parabéns. Senão reveja os passo anteriores o que deu errado.
  7. deixe aberto no celular o Touch test para que você possa calibrá-lo.

Continuando a explicação:

O arquivo de teste em tempo real é "/sys/module/tpd_setting/parameters/tpd_calmat"

Se você der um 'cat' nele, verá que aparecerá uma sequência de 8 números separados por vírgula, esta é a configuração atual.

No arquivo "/sys/module/tpd_setting/parameters/tpd_calmat/tpd_def_calmat" tem o valor padrão de fábrica, que diga-se de passagem, são valores muito bons, pelo menos para mim.

Para testar o valor padão digite:

cat /sys/module/tpd_setting/parameters/tpd_calmat/tpd_def_calmat > /sys/module/tpd_setting/parameters/tpd_calmat

Não achei documentação sobre os arquivos na internet, e ao que parece, o Kernel reconhece o touchscreen como um touchpad; o que eu descobri sobre os 8 números depois de muito, mas muito mesmo testar é o seguinte:

Os 2 primeiros referem-se à área em 'x' do touch. O terceiro é o 'offset', ele serve para levar a área total do touch para cima ou para baixo.

O 4 e o 5 referem-e à área do 'y' do touch. O sexto é o 'offset', ele serve para levar a área total do touch para esquerda ou direita.

O 7 e o 8, eu não sei como denominar, mas ele retorce o quadrado transformando ele em um losango, no meu caso não precisei mexer.

Mais uma observação: a área em 'x' e 'y' precisa ser um múltiplo de 320x240 que é a resolução do celular, ou seja, suponha:

1508,-50,- 98000,-37,1131,-60000,0,0

A área de 'x' é: 1508 - (-50) = 1558, ou seja, fazendo regra de 3 simples (1558 * 240)/320= 1168,5 ~ 1168

A área de 'y' é: 1131 - (-37) = 1167, pelo resultado acima o quadrado da área está 1 menor em 'y' pela proporção, o que é aceitável.

Tudo ok até aqui? Aprendeu bastante coisa?

Falta somente salvar as configurações. Depois que você achou os valores que lhe interessa, execute:

cat /sys/module/tpd_setting/parameters/tpd_calmat > /data/misc/touchpanel/calibration

Pronto. Da próxima vez que iniciar o seu celular, ele vai carregar as configurações padrão.

Boa sorte!

Outras dicas deste autor

O que é um pacote Debian (.deb)

Exemplos prático para VirtualBox em modo console

Configurando Timezone no Wine - Padrão do Brasil

Emuladores de videogame no Linux

Samba - Compartilhamento público sem pedir senha

Leitura recomendada

Recompilando o kernel do Linux

Instalação da placa de rede Attansic no Slackware Linux 12.1

Problema com captive resolvido (NTFS e LUFS)

Kernel Liquorix 3.19.3 - acelere o Ubuntu, Debian e Linux Mint

Slackware - Como atualizar o kernel sem compilar

  

Comentários
[1] Comentário enviado por cgarreto em 03/02/2012 - 18:35h

E quando o acesso não é permitido? Fiz todo os passos de instalação, peguei o putty, acessei o celular, mas qnd coloco o caminho do arquivo dá "Permission denied"

E Agora?

[2] Comentário enviado por tiekookeit em 04/02/2012 - 22:48h

o sshDroid está rodando como root mesmo? se sim, depois disso talvez seja necessario executar
mount -o remount,rw /


[3] Comentário enviado por cgarreto em 08/02/2012 - 15:10h

Como havia lhe dito, fiz TODO o procedimento.
Desinstalei e reinstalei os dois aplicativos.
refiz o procedimento mais uma vez e apesar da mensagem do universal Androot ter dado ok, quando eu coloquei o SSHDroid pra rodar da raiz do celular, deu mensagem de que a rede estava inacessível e o status do root fica off, quando eu coloco ele no SD Card, eu consigo acessar apenas como "ready" e o Status "root: on "

Help!!!

[4] Comentário enviado por tiekookeit em 08/02/2012 - 19:17h

o sshdroid tem a opcao de rodar como root, e sim, o comando remonta a partição principal o / com permissão de escrita (rw)

[5] Comentário enviado por cgarreto em 15/02/2012 - 18:22h

Resolvi o meu problema,
Como?

Formatei tudo, o celular e o cartão de memória... tinha um aplicativo, desconfio dele porque ele sempre estava "fazendo download" no market mesmo depois que eu o desinstalei, acho que era virus, por isso, não instalem o "Dice me online games" (acho que era esse o nome do danado)

Resolveu, tudo voltou a normalidade e o celular está como novo. Mesmo assim, obrigada pela dica, vou estudar um pouco sobre como "rootar" o android! =)

[6] Comentário enviado por THIAGOTMM em 10/05/2012 - 21:44h

Olá amigo tiekookeit tudo bem ?
Cara gostaria de lhe pedir ajuda com o topico acima pois não entendo nada de celular e meu ZTE-V821 descalibrou a tela dai achei vocês ensinando, eu ja baixei os 2 programas mais o putty porem SSHDroid não fio Root:On so fica OFF e não sei como fazer pra deixa-lo on .
Poderia me ajudar ?
Aguardo desesperadamente o retorno Obrigado.

[7] Comentário enviado por removido em 29/05/2012 - 19:20h

ah sim, tinha visto esta dica sua!!! esta gostando do seu ZTE? Eu to muito contente com o meu... uso o tempo todo. ABraço!

[8] Comentário enviado por Ronfel em 08/06/2012 - 09:41h

Eu tambem possuo esse modelo ZTE... percebi que o touch não respondia corretamente os comandos, entretanto com 3 semanas de uso ele começou a funcionar normalmente. Pode ser uma configuração para que o touch não desconfigure com o tempo de uso. Mas gostei da sua dica se um dia precisar vou utiliza-la.

[9] Comentário enviado por serjaoz em 08/08/2012 - 00:59h

eu creio que fiz todo o processo certo, mas acontece isso quando digito o que está em negrito:

Using username "root".
SSHDroid
Use 'root' on rooted devices otherwise any username works
Default password is 'admin'
root@192.168.0.101's password:
/data/data/berserker.android.apps.sshdroid/home # $ cat /sys/module/tpd_setting/
parameters/tpd_calmat/tpd_def_calmat > /sys/module/tpd_setting/parameters/tpd_ca
lmat
sh: $: not found
/data/data/berserker.android.apps.sshdroid/home #


alguem sabe como sair dessa? por favor, meu touch ta tão descalibrado que não consigo calibrar ele pelo celular.

[10] Comentário enviado por tiekookeit em 08/08/2012 - 13:20h

é o seguinte, o $ indica que é para digitar um comando, você deve omiti-lo ao digitar o comando

[11] Comentário enviado por serjaoz em 09/08/2012 - 00:46h

muito obrigado, tiekookeit.. ja consegui dar um avanço então.
mas vejam o que está aparecendo agora:



Using username "root".
SSHDroid
Use 'root' on rooted devices otherwise any username works
Default password is 'admin'
root@192.168.0.101's password:
/data/data/berserker.android.apps.sshdroid/home # cat /sys/module/tpd_setting/pa
rameters/tpd_calmat/tpd_def_calmat > /sys/module/tpd_setting/parameters/tpd_calm
at
cat: can't open '/sys/module/tpd_setting/parameters/tpd_calmat/tpd_def_calmat': Not a directory
/data/data/berserker.android.apps.sshdroid/home #



porque será que está acusando isso?
desculpem minha falta de conhecimento, realmente sou um completo leigo nesse assunto.
(eu nem sabia o que era putty, tive que pesquisar algumas coisas pra chegar nessa "parte final" do tutorial)
obrigado novamente.

[12] Comentário enviado por tiekookeit em 09/08/2012 - 09:23h

seguinte, estou chutando que o teu kernel deva ser diferente, de qualquer forma, tente encontrar o arquivo tpd_def_calmat dentro de algum lugar no diretorio sys, veja o que o camando

find /sys/ | grep tpd_def_calmat retorna

[13] Comentário enviado por tiekookeit em 09/08/2012 - 09:24h

corrigindo, o comando é somente

find /sys/ | grep tpd_def_calmat


[14] Comentário enviado por tiekookeit em 09/08/2012 - 14:40h

cat /proc/cpuinfo

[15] Comentário enviado por serjaoz em 10/08/2012 - 13:56h

Digitei essas coisas, veja só:


Using username "root".
SSHDroid
Use 'root' on rooted devices otherwise any username works
Default password is 'admin'
root@192.168.0.101's password:
/data/data/berserker.android.apps.sshdroid/home # find /sys/ | grep tpd_def_calm
at
/sys/module/tpd_setting/parameters/tpd_def_calmat
/data/data/berserker.android.apps.sshdroid/home # cat /proc/cpuinfo
Processor : ARM926EJ-S rev 5 (v5l)
BogoMIPS : 207.66
Features : swp half thumb fastmult edsp java
CPU implementer : 0x41
CPU architecture: 5TEJ
CPU variant : 0x0
CPU part : 0x926
CPU revision : 5

Hardware : MT6516 E1K
Revision : 659e8b01
Serial : 0000000000000000
/data/data/berserker.android.apps.sshdroid/home #



Alguma ideia do que fazer?
Abraços.

[16] Comentário enviado por MrHardRock em 28/08/2012 - 20:14h

Amigo acabei de ler o seu post e tentei fazer usando todos os procedimentos que você mostrou só que quando o putty acessa o ip do telefone ele mostra a seguinte mensagem

Using username "sftp://root".
SSHDroid
Use 'root' as username
Default password is 'admin'
sftp://root@192.168.25.9's password:

só que eu não consigo digitar mais nada depois disso tento digitar a senha tento colocar o caminho que você mostrou aqui mas ele simplismente não faz nada gostaria de saber o que está acontecendo porque se for a questão do SSHDroid entrar como root eu não sei te dizer pois o status dele aparece ready e mais nada ficarei muito agradecido se você puder me ajudar.

só como sugestão seria interessante você fazer um video tutorial sobre isso!

[17] Comentário enviado por serjaoz em 29/08/2012 - 14:23h


[16] Comentário enviado por MrHardRock em 28/08/2012 - 20:14h:

Amigo acabei de ler o seu post e tentei fazer usando todos os procedimentos que você mostrou só que quando o putty acessa o ip do telefone ele mostra a seguinte mensagem

Using username "sftp://root".
SSHDroid
Use 'root' as username
Default password is 'admin'
sftp://root@192.168.25.9's password:

só que eu não consigo digitar mais nada depois disso tento digitar a senha tento colocar o caminho que você mostrou aqui mas ele simplismente não faz nada gostaria de saber o que está acontecendo porque se for a questão do SSHDroid entrar como root eu não sei te dizer pois o status dele aparece ready e mais nada ficarei muito agradecido se você puder me ajudar.

só como sugestão seria interessante você fazer um video tutorial sobre isso!


Olá, amigo.

Provavelmente eu entendo menos do que você dessas coisas de putty,
mas se entendi bem, sua dúvida é bastante simples.
Tente digitar a senha "admin" (sem aspas), mesmo não acontecendo nada,
e pressione enter. Após isso você terá o acesso total ao celular.

Abraços, espero ter lhe ajudado.

[18] Comentário enviado por MrHardRock em 29/08/2012 - 20:04h

bom tentei seguir sua recomendação
primeiro quando digito "admin" sem aspas claro a palavra não aparece
e quando pressiono enter vai para linha abaixo e aparece a mensagem "access denied" isso na primeira tentativa na segunda a conexão é abortada.
agradeço sua atenção mas infelizmente não deu certo ainda.

[19] Comentário enviado por MrHardRock em 29/08/2012 - 20:55h

consegui acessar o telefone porém o acesso ao arquivo está sendo negado
o que aparece é o seguinte:
sh: /sys/module/tpd_setting/parameters/tpd_calmat: Permission denied
/data/data/berserker.android.apps.sshdroid/home # mount -o remount,rw
rootfs on / type rootfs (ro,relatime)
tmpfs on /dev type tmpfs (rw,relatime,mode=755)
devpts on /dev/pts type devpts (rw,relatime,mode=600)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
tmpfs on /mnt/asec type tmpfs (rw,relatime,mode=755,gid=1000)
/dev/block/mtdblock8 on /system type yaffs2 (ro,relatime)
/dev/block/mtdblock12 on /data type yaffs2 (rw,nosuid,nodev,relatime)
/dev/block/mtdblock9 on /cache type yaffs2 (rw,nosuid,nodev,relatime)
/dev/block/mtdblock6 on /system/secro type yaffs2 (ro,relatime)
/dev/block/mtdblock8 on /data/local/tmp/sys_bin_orig type yaffs2 (ro,relatime)
/dev/block/mtdblock12 on /system/bin type yaffs2 (rw,relatime)
/data/data/berserker.android.apps.sshdroid/home # yaffs2
sh: yaffs2: not found
/data/data/berserker.android.apps.sshdroid/home # /data/local/tmp/sys_bin_orig t
ype yaffs2
sh: /data/local/tmp/sys_bin_orig: Permission denied
/data/data/berserker.android.apps.sshdroid/home # find/sys/ | grep tpd_def_calma
t
sh: find/sys/: not found
/data/data/berserker.android.apps.sshdroid/home # find /sys/ | grep tpd_def_calm
at
/sys/module/tpd_setting/parameters/tpd_def_calmat
/data/data/berserker.android.apps.sshdroid/home # /sys/module/tpd_setting/parame
ters/tpd_def_calmat
sh: /sys/module/tpd_setting/parameters/tpd_def_calmat: Permission denied
/data/data/berserker.android.apps.sshdroid/home #

e agora o que eu faço para conseguir esse acesso?

[20] Comentário enviado por serjaoz em 29/08/2012 - 20:57h


[18] Comentário enviado por MrHardRock em 29/08/2012 - 20:04h:

bom tentei seguir sua recomendação
primeiro quando digito "admin" sem aspas claro a palavra não aparece
e quando pressiono enter vai para linha abaixo e aparece a mensagem "access denied" isso na primeira tentativa na segunda a conexão é abortada.
agradeço sua atenção mas infelizmente não deu certo ainda.


Tente, na tela anterior, na parte do "Host Name", digitar somente root@IP sem o "sftp://".
No seu caso ficaria assim "root@192.168.25.9";
após isso siga os procedimentos ditos, vamos ver se dará certo.


[21] Comentário enviado por Gumac em 02/08/2014 - 08:51h

Ola, sou novato aqui, na verdade registrei neste site, para poder pedir uma ajuda, pois não encontro solução em nenhum lugar... Ao que interessa:

Comprei um celular tipo replica, que vocês devem saber bem que são da China(!), e desde que ele chegou em minhas mãos, vejo que ele tem alguns erros, e um em especial é sobre o touch dele, que funciona bem, mas no rodapé da tela, ele não reconhece nenhum toque, o que atrapalha um pouco, principalmente pra enviar mensagens eu preciso virar o celular pra conseguir. Fiz uns testes, e conhecendo um pouco sobre o android, fiz root nele, e fui vasculhando informações do hardware dele e percebi algumas configurações erradas, o que sugere que colocaram uma rom sem configurar direito... Entao creio que esse problema no touch não seria problema de hardware mas sim no software... já tentei editar como ensinado nesse tópico (não pelo Windows, mas no próprio smartphone, com programas editores de texto rooteados) tanto o tpd_calmat, quanto tpd_def_calmat, consigo salvar, mas quando reinicio pra ver se muda algo, as configurações voltam ao padrão, entao deixo abaixo as informações e peço ajuda:

mt65??
Android: 4.2.2

Resolução da tela: fwvga 854x480

o conteúdo dos arquivos no diretório / sys / module / tpd_settings /parameters


tpd_calmat: 962,0,0,0,1600,0,0,0
tpd_def_calmat:962,0,0,0,1600,0,0,0
tpd_em_asamp: 1
tpd_em_auto_time_interval: 10
tpd_em_debounce_time: 0
tpd_em_debounce_time0: 1
tpd_em_debounce_time1: 4
tpd_em_pressure_threshold: 0
tpd_em_sample_cnt: 16
tpd_em_spl_num: 1
tpd_firmware_version: 0,0
tpd_load_status: 1
tpd_mode: 0
tpd_mode_axis: 0
tpd_mode_keypad_tolerance: 144
tpd_mode_max: 854
tpd_mode_min: 427
tpd_type_cap: 1
tpd_magnify_x: 10
tpd_magnify_y: 10

Creio que alguns desses valores podem estar errados, e que há algum outro lugar para se editar, mas já não sei qual. Desculpe o texto tão extenso. obrigado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts