Arquivo da categoria: android

Link2SD, Apps2SD com problemas no android Marshmallow 6.0. Solução: ext3 format.

Sempre utilizei o Link2SD em aparelhos android com root, inclusive no LG H442 que possuo. Um dos motivos que me impediram de fazer o upgrade do android Lollipop para o Marshmallow nesse aparelho foi não haver uma estratégia de root disponível no MM, o que iria impedir de continuar usando o Link2SD.

Após o pessoal do XDA Developers conseguir um bootloader destravado e a criação de um recovery com TWRP o root passou a ser possível e o interesse no upgrade retornou.

Após o upgrade a primeira coisa que percebi foi uma mensagem de erro do Link2SD informando que não conseguia escrever os scripts na segunda partição (formatada com ext4).

Encontrei um guia do techmagus que resolveu o problema parcialmente: utilizar o Apps2SD (app similar em funcionalidade ao Link2SD, porém mais recente e com atualizações mais frequentes). Já era possível mover os apps para a segunda partição, porém a mensagem “Cartão SanDisk corrompido” permanecia e outro agravante: a opção de utilizar o cartão SDHC para armazenar as fotos e vídeos da câmera ficava indisponível. 😦

No guia do techmagus há um pequeno FAQ que informa que por conta do algoritmo de detecção de partição ext4 do Marshmallow ele pode dar essa mensagem de erro, porém a partição é funcional e não tem erros.

Sim, funcional mas não atendia minha expectativa.

Procurando mais informações vi a nova funcionalidade do MM, adopted storage, que utiliza uma partição ext4 encriptada como uma extensão da memória interna, mais ou menos como o Link2SD e APPs2SD funcionam.

Então pensei que antes do MM a partição ext4 ficava “invisível” para o android e agora, quando o android passou a utilizar uma partição ext4 para seu uso, a partição passa a ser vista pelo sistema. Como ela não está encriptada, o sistema dispara uma mensagem de erro.

Ocultar a partição seria uma solução, algo que não sei se é possível. A outra opção seria buscar um formato “invisível” para o android. No LG H44x os particionamentos disponíveis são ext2, ext3 e ext4. Vamos então tentar formatar a segunda partição com ext3 e… problema resolvido.

O ext3 permitiu que o Apps2SD criasse seus scripts, a mensagem de “Cartão SanDisk corrompido” desapareceu e a opção de utilizar o cartão SD como armazenamento para fotos e vídeos da câmera voltou a ficar disponível.

O Link2SD aparenta ter problemas coma criação de scripts no android Marshmallow, vários usuários estão recomendando utilizar o Apps2SD apenas para criar os scripts e depois utilizar o Link2SD. Não fiz esse teste, mas deve funcionar.

Esse post está disponível em inglês no xda-developers.

Instalando o android 6.0 Marshmallow no LG Volt H442f (LG Spirit 4G)

ATENÇÃO: esse método de upgrade para o LG Volt H442f é não-oficial e requer maiores conhecimentos. Se feito inadequadamente pode inutilizar o aparelho!

Ainda não há root para o android 6.0 no LG Volt H442f. Se você precisa de root no aparelho não faça esse upgrade!

Créditos: todo o método foi feito e descrito pelo K Stênio que o enviou como um comentário em outro post. Gentilmente autorizou a publicação que achei bastante completa e importante, apenas formatei o texto para o blog.


 

Descobri ontem dando uma passeada pelo XDA-Developers. Foi lançada uma imagem KDZ Polonesa para o LG-H440N, que em resumo é o mesmo que o nosso LH-H442F. Segui as instruções nos tópicos e consegui instalar no meu aparelho. Está funcionando perfeitamente bem!

Se alguém tiver interesse, fiz um pacote com a maioria dos arquivos necessários aqui: https://www.dropbox.com/s/181rlx7tzbquk5y (só não inclui as imagens KDZ porque são muito grandes).

Para instalar o Android 6.0 Marshmallow em seu LG-H442F (“LG Volt 4G”), basta seguir esses passos:

1º – Extraia os arquivos. Entre na primeira pasta e installe os drivers da LG (recomendo remover os antigos, caso tenha instalado). Talvez seja necessário reiniciar o computador;

2º – Na segunda pasta, abra o arquivo “DOWNLOAD LINK” e baixe a imagem H440n10. Salve ela nessa mesma pasta. Após, coloque o celular em modo de download e rode o programa “LGFlashTool2014” com permissão de administrador para fazer o flash dessa imagem;

3º – Passe a introdução do celular e deixe ele ligado conectado ao computador. Entre na terceira pasta e instale os arquivos do LGUP em ordem (primeiro o LGUP_8994_DLL_Ver_0_0_3_23 e depois o 2nd – LGUP_Install_Ver_1_14_3);

4º – Abra a quarta pasta e execute o comando “h440n.bat” com permissão de administrador;

5º – Finalmente na quinta pasta, faça o download da imagem H440n20a . Após, abra o LGUP e insira o caminho completo de onde está essa nova imagem KDZ, incuindo a extensão (o LGUP não vai conseguir enxergar o arquivo pois está configurado apenas para a extensão .tot e não para .kdz, mas funciona mesmo assim);

6º – Clique no botão start e espere. O celular irá reiniciar algumas vezes e então você terá o Android 6.0 Marshmallow!

Pokémon GO: Failed to detect location.

Pokémon GO foi oficialmente lançado no Brasil fazendo o mesmo sucesso que o jogo obteve no mundo.

Pude observar um problema, a mensagem de Failed to detect location. Curiosamente o problema é restrito o jogo, qualquer outra aplicação (Google Maps, iGO, GPS Tester) que faça uso do GPS funciona normalmente e em poucos segundos obtém a posição do sensor GPS do aparelho.

É possível observar nos ícones indicadores que o GPS está ativo e a localização também.

O problema ocorre quando o aparelho está com a opção “Permitir localizações fictícias” (“Allow mock locations”) habilitada no menu de configuração “Opções de desenvolvedor” (“Developer options”).

Desmarque essa opção e o jogo poderá utilizar o GPS sem maiores problemas.

Sem a mensagem de erro de localização após a alteração:

2016-08-06 13.29.37

iGO no android kitkat 4.x e lollipop 5.x com root

Algumas pessoas gostam de utilizar o programa de GPS iGO nos celulares android, para terem uma opção de navegação completamente offline, em termos de mapas e rotas.

A partir do android kitkat o Google mudou a api que permite o acesso ao cartão SDHC do dispositivo por programas de terceiros, causando alguns problemas relativos a perda de acesso a gravação no cartão de memória.

No caso do iGO algumas pessoas estavam instalando o programa inteiro na memória interna do aparelho, mas isso é só para quem tem dispositivos com muita memória, já que dependendo da configuração de mapas a instalação ocupa facilmente 500M, podendo chegar a 1G.

Fiquei curioso e resolvi fazer uns testes. A instalação ocorria normalmente, mas observei que toda vez que o programa fosse acessado era necessário fazer a configuração inicial (linguagem, escolha de vozes, sistema de medidas, configurações regionais).

Com o adb dei uma olhada no diretório da aplicação (no caso um LG H442f firmware 10f, a localização pode mudar entre diferentes fabricantes e versões de firmware):

C:\adt-bundle-windows-x86-20131030\sdk\platform-tools> .\adb shell
shell@c70ds:/ $ su
su
root@c70ds:/ # cd /data/data/com.navngo.igo.javaclient
cd /data/data/com.navngo.igo.javaclient
root@c70ds:/data/data/com.navngo.igo.javaclient # ls -l
ls -l
lrwxrwxrwx u0_a118  u0_a118           2016-04-21 21:47 android_linked_root -> /storage/external_SD/iGO/
lrwxrwxrwx u0_a118  u0_a118           2016-04-21 21:47 branding.gro -> /storage/external_SD/iGO/branding.gro
lrwxrwxrwx u0_a118  u0_a118           2016-04-21 21:47 branding.zip -> /storage/external_SD/iGO/branding.zip
drwxrwx--x u0_a118  u0_a118           2016-04-21 21:47 cache
lrwxrwxrwx u0_a118  u0_a118           2016-04-21 21:47 content -> /storage/external_SD/iGO/content
lrwxrwxrwx u0_a118  u0_a118           2016-04-21 21:47 data.gro -> /storage/external_SD/iGO/data.gro
lrwxrwxrwx u0_a118  u0_a118           2016-04-21 21:47 data.zip -> /storage/external_SD/iGO/data.zip
lrwxrwxrwx u0_a118  u0_a118           2016-04-21 21:47 debug -> /storage/external_SD/iGO/debug
lrwxrwxrwx u0_a118  u0_a118           2016-04-21 21:47 gfx -> /storage/external_SD/iGO/gfx
-rw------- u0_a118  u0_a118         2 2016-04-21 21:47 kuka_logger.txt
lrwxrwxrwx install  install           2016-04-22 00:31 lib -> /data/app/com.navngo.igo.javaclient-2/lib/arm
lrwxrwxrwx u0_a118  u0_a118           2016-04-21 21:47 license -> /storage/external_SD/iGO/license
-rw------- u0_a118  u0_a118        94 2016-04-21 21:47 monkey.txt
lrwxrwxrwx u0_a118  u0_a118           2016-04-21 21:47 save -> /storage/external_SD/iGO/save
-rw------- u0_a118  u0_a118       656 2016-04-21 21:47 sentinel.txt
lrwxrwxrwx u0_a118  u0_a118           2016-04-21 21:47 sys.txt -> /storage/external_SD/iGO/sys.txt
lrwxrwxrwx u0_a118  u0_a118           2016-04-21 21:47 ui_android -> /storage/external_SD/iGO/ui_android
lrwxrwxrwx u0_a118  u0_a118           2016-04-21 21:47 ui_igo9 -> /storage/external_SD/iGO/ui_igo9
lrwxrwxrwx u0_a118  u0_a118           2016-04-21 21:47 ux -> /storage/external_SD/iGO/ux

Pode-se observar que a maioria dos arquivos estão com link simbólico, isto é, o arquivo está fisicamente no cartão SDHC (/storage/external_SD) e são referenciados na memória interna, para economizar o armazenamento interno do aparelho.

A informação de link está presente tanto no “l“(ink) das permissões vistas no lado esquerdo (ex.: lrwxrwxrwx) como no símbolo -> do lado direito que aponta onde fisicamente está armazenado o arquivo.

No caso de um aparelho com root fica fácil corrigir o problema, basta trazer o mínimo necessário de arquivos para a memória interna, que são os arquivos que sofrem algum tipo de escrita (preferências, locais favoritos, etc): sys.txt e as pastas android_linked_root e save. Para isso remove-se o link com o comando rm e copia-se o arquivo com o comando cp:

root@c70ds:/data/data/com.navngo.igo.javaclient # rm sys.txt
root@c70ds:/data/data/com.navngo.igo.javaclient # cp /storage/external_SD/iGO/sys.txt .

As pastas android_linked_root e save são removidas com o rm e criadas internamente com o comando mkdir. Basta recriar a pasta save, a pasta android_linked_root é criada de maneira automática pelo programa com todas as permissões e conteúdos necessários quando o iGO é executado pela primeira vez:

root@c70ds:/data/data/com.navngo.igo.javaclient # rm android_linked_root
root@c70ds:/data/data/com.navngo.igo.javaclient # rm save
root@c70ds:/data/data/com.navngo.igo.javaclient # mkdir save

Os arquivos criados e copiados são pertencentes ao usuário que os criou (root), então é necessário corrigir a propriedade para que fique igual ao usuário interno do programa (u0_a118, no exemplo):

...
drwx------ root root 2016-04-22 01:00 save
-rw------- u0_a118 u0_a118 656 2016-04-21 21:47 sentinel.txt
-rwx------ root root 13455 2016-04-22 00:58 sys.txt
...
root@c70ds:/data/data/com.navngo.igo.javaclient # chown -R u0_a118.u0_a118 sys.txt save

Após a correção das permissões temos o seguinte:

drwx------ u0_a118 u0_a118 2016-04-22 01:00 save
-rw------- u0_a118 u0_a118 656 2016-04-21 21:47 sentinel.txt
-rwx------ u0_a118 u0_a118 13455 2016-04-22 00:58 sys.txt

A partir desse momento o iGO passa a funcionar corretamente, não sendo necessário a configuração inicial a cada utilização e a gravação de favoritos e demais personalizações são permanentes.

LG Volt Spirit 4G, erro após colocar firmware stock: Current version is not available for user. Can’t find matched cust for NT-code mcc/mnc [72402],subset[FF]

Adquiri um smartphone LG Volt H442f 4G (modelo vendido no mercado externo como LG Spirit H440). Boa relação custo benefício, mas abarrotado de aplicativos da operadora. Como a operadora deve achar pouco, assim que coloquei o chip do telefone, ainda baixou mais uns.

Percebi que a rotina de apps intrusos não ser fácil e resolvi instalar um firmware stock, sem o bloatware que as operadoras gostam de instalar.

Atualizado o firmware (H442f10b_00.kdz), a seguinte mensagem de erro era apresentada:

Current version is not available for user. Can’t find matched cust for NT-code mcc/mnc [72402],subset[FF]

2015-08-11 23.38.39

A mensagem era incômoda, mas nenhuma funcionalidade do smartphone foi afetada. Procurei como remover isso, mas sem sucesso. Informavam que podia ser algo relacionado a diferença de serviços permitidos pelo firmware e o hardware do aparelho, diferenças entre a região do original do firmware e a de utilização do aparelho (não era o caso, o firmware é para o Brasil e o aparelho é o disponibilizado nas lojas).

O site que deu mais informações sobre o problema foi esse:

http://forum.xda-developers.com/lg-g3/general/how-to-change-region-t2904951

O resumo: a LG não utiliza mais um firmware para cada região onde vende seus aparelhos. Utiliza um único firmware que verifica durante o boot informações regionais obtidas em alguns arquivos internos, seleção de idioma e até o chip da operadora e, reunindo essas informações, escolhe o perfil mais adequado, ou aplica um genérico.

Os parâmetros regionais ficam na pasta /cust, especificamente no arquivo /cust/cust_path_mapping.cfg.

Por exemplo, um arquivo cust_path_mapping.cfg tem esse conteúdo:

20810,FF=/cust/VDF_COM/FR
20810,01=/cust/VDF_COM/LPM

Os dígitos são uma combinação: os três primeiros dígitos são o código do país, os dois seguintes são da operadora e os dígitos após a vírgula, o perfil.

No exemplo acima “208” se refere a França, “10” a operadora Vivendi.

Qualquer país que a informação de país, operadora e vendor (o fornecedor do aparelho, que pode ser um de operadora, bloqueado ou desbloqueado ou um aparelho desbloqueado sem nenhum vínculo de operadora, vendido diretamente pela LG ou seus fornecedores) se referir a “FF” será aplicado o perfil “/cust/VDF_COM/FR”, caso esse código seja “01”, o perfil específico “/cust/VDF_COM/LPM” é aplicado.

A wikipedia tem uma página bem completa com os códigos de país e operadora: https://en.wikipedia.org/wiki/Mobile_country_code

Seguindo a mesma idéia, abri o arquivo /cust/cust_path_mapping.cfg do meu LG Volt e encontrei as seguintes linhas:

FFFFFF,31=/cust/OPEN_COM
FFFFFF,34=/cust/OPEN_COM

Um único perfil é aplicado para dois seletores (“31” e “34”). Como é um único perfil, então foi só adicionar uma linha para a combinação que gera o erro apontando para ele, modificando o arquivo /cust/cust_path_mapping.cfg deixando-o dessa maneira:

FFFFFF,31=/cust/OPEN_COM
FFFFFF,34=/cust/OPEN_COM
72402,FF=/cust/OPEN_COM

Agora não aparece mais a mensagem de erro incômoda de antes.

Para alterar esse arquivo é necessário que tenha sido feito root no aparelho. Para essa versão de firmware o root foi feito com o Kingroot, versão desktop.

Caso vá fazer essa alteração, não se esqueça de fazer backup de todo o conteúdo de seu celular e tenha ferramentas para recuperação em caso de travamentos.

Howto: make adb recognize your android device

adb (android debug bridge) is the official tool for android development.

Usually it is activated just by connecting your android device, select USB debugging and verify connection using the “adb devices” command, that should return a list with the serial numbers from the connected devices.

That is the theory. On the real world only devices from established manufacturers as HTC, Motorola, Samsung are recognized automatically… if your device is from some obscure or newcomer manufacturer or even some cheap chinese device you get something like this:

adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached

To your device be recognized it must have it’s identifier added at the adb_usb.ini file.

How to identify the manufacturer:

Conect you device to the USB port on your computer (enable USB debugging).

Linux: type the command lsusb and look the device list


$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 003: ID 10ab:0816 USI Co., Ltd
Bus 002 Device 003: ID 04f2:b1da Chicony Electronics Co., Ltd
Bus 002 Device 004: ID d324:9018

The android device is the last in the list. The first four digits group after ID is VendorID, the code that we need

The example device is a Genesis GT-7250 tablet. The lack of manufacturer description when you use lsusb is typical from rush made chinese devices, that are released without proper care. Usually they just use the base design released by the CPUs and chipset manufacturer.

Windows: open Control Panel -> System and Safety -> System -> Device Manager and look for the properties of a device named as Android Phone or Android ADB Interface.

Right click that device and select Properties. Select the Details tab and the select on the combo box Hardware IDs.

The value at front of the text USB\VID_ is the VendorID.

How to update the file:

Linux: on your home directory there should be a hidden directory named .android, the file adb_usb.ini is inside that directory.

Update that file with your device using the command

echo 0xd324 >> adb_usb.ini

Windows: on your personal folder there should be a folder named .android, the file adb_usb.ini is inside that folder.

Open that file using some editor that has no special format, like notepad and add a line with the VendorID

0xd324

Be sure that USB debugging is enabled on your device and check if your device has been identified:

adb kill-server
* server not running *

adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
1234567890ABCDEF device

If that folder is not present, open a command promp window (Windows Explorer does not create folders whose name start with a dot) and type these commands to create the folder and file:

cd /d %USERPROFILE%
md .android
cd .android
echo 0xd324 >> adb_usb.ini

Done! Now you can use adb and do nice things to your android devices like app development or rooting.

This post is a translation from another post in this blog, since I realized that I was getting many hits looking for that information coming from USA and Europe. I hope that translation makes easier to readers that don’t speak portuguese to use that information. Feel free to suggest corrections on grammar or spelling, since english is not my native language.

Solução para dispositivo não reconhecido no android Market ou Google Play Store

Lembre-se que toda alteração de arquivos de sistema pode trazer problemas inesperados a seu dispositivo. Não me responsabilizo por problemas e muito provavelmente não poderei ajudá-lo a resolver problemas em dispositivos que desconheço.

Você foi avisado…

Agora seguimos em frente…

================================================================================================================

Às vezes você procura algum aplicativo para o android no market e quando tenta fazer a instalação recebe uma mensagem de que ele é incompatível.

Às vezes você sabe que o aplicativo existe, sabe o nome mas ele nunca retorna quando você faz a busca com um determinado aparelho e aparece com outros.

Esse tipo de problema ocorre quando o desenvolvedor não tem certeza que o aplicativo é compatível com determinados ou quer restringir o público que pode ter acesso (comum em desenvolvedores de jogos que preferem que os usuários com dispositivos sem recursos gráficos avançados baixem jogos e fiquem desapontados com o baixo desempenho causado por seus aparelhos).

Se seu dispositivo está rooteado você pode contornar esse problema, fazendo com que seu dispositivo se identifique como um Nexus S, que é o aparelho base de desenvolvimento para android, onde todos os aplicativos devem rodar.

O arquivo onde as informações do dispositivo estão é o build.prop.

Você pode editá-lo no seu micro, usando os recursos do adb ou no próprio dispositivo com um editor como o BuildProp Editor, que pode fazer backups do seu build.prop original ou diferentes build.props caso você queira testar o comportamento das buscas com diferentes alterações.

Caso você se sinta corajoso e com sorte, essas são as linhas que você deve alterar no build.prop para que seu dispositivo seja identificado como um Nexus S.

ro.product.model=Nexus S
ro.product.manufacturer=samsung
ro.build.fingerprint=google/soju/crespo:2.3.4/GRJ22/121341:user/release-keys
ro.build.description=soju-user 2.3.4 GRJ22 121341 release-keys


Após fazer as alterações, vá em Configurações -> Aplicativos -> Gerenciar Aplicativos -> Google Play Store e clique em Limpar Cache e Limpar Dados.

Desligue o dispositivo, ligue e entre no Play Store (antigo Market) e faça suas buscas.

Teclado Bluetooth no android

Você tem um teclado Bluetooth sobrando ou então comprou uma capa com teclado Bluetooth pro seu tablet android para ajudar na composição de textos e descobriu que não consegue conectar o teclado ao dispositivo e, quando consegue, o teclado não é reconhecido por nenhuma aplicação.

Por que isso ocorre? Má sorte? Inferno astral? Não. Simplesmente a pilha Bluetooth do android não é completa, implementa as funções para fone de ouvido ou head-set, umas coisinhas para transferência de arquivo e acabou.

Para outras funções você depende de aplicativos que fazem a implementação da pilha Bluetooth internamente.

E o teclado? Você tem duas opções: utiliza um app como o Bluekeyboard JP, que é dependente do layout do teclado usado (se seu teclado não usa um layout suportado nem todas as teclas são reconhecidas corretamente) ou usa a força bruta e instala os utilitário Bluetooth do android (sim, existem. Só não são incluídos nos aparelhos).

Esse método exige que seu aparelho seja rooteado. Cada aparelho tem um método próprio e o usuário deve descobrir qual o método para fazer o root em seu aparelho. Alguns aparelhos não possuem método, geralmente por serem muito novos. Nesses casos é preciso paciência e aguardar.

Se seu aparelho tem root, baixe os utilitário Bluetooth desenvolvidos pelo Google. Você vai precisar do hidd, hcitool e hciconfig .

Conecte seu aparelho via USB ao micro, ative a depuração USB e use o adb:

$ su
# mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
# chmod 777 /system/xbin

Copie os utilitários para o dispositivo:

$ adb push hidd /system/xbin
$ adb push hcitool /system/xbin
$ adb push hciconfig /system/xbin

Ative o bluetooth em seu dispositivo, coloque seu teclado em modo de reconhecimento e mande o dispositivo procurar periféricos.

Selecione o teclado e quando aparecer a janela coloque uma senha qualquer como 0000, 1234 ou 1111. Logo em seguida digite a mesma senha que você escolheu no teclado e aperte a tecla ENTER no teclado.

Siga isso atentamente, pois é mais uma limitação do android. Caso você tenha testado esse teclado no Windows ao ter conectado com o teclado deve ter surgido uma janela com uma sequência de dígitos para serem repetidos no teclado para fazer a sincronização.

O android sempre espera que o dispositivo forneça um PIN. Isso não ocorre com teclados. Então você coloca um PIN qualquer no android e rapidamente repete o mesmo PIN no teclado.

Seu teclado está pareado mas não está conectado.

Agora comece a utilizar os utilitários que você baixou e copiou no seu dispositivo:

Verifique o endereço Bluetooth de seu teclado:

# hcitool scan
Scanning ...
00:1D:4F:A7:9A:49 Bluetooth Keyboard

Conecte ao teclado:

# hidd --connect 00:1D:4F:A7:9A:49

Alguns comando bluetooth úteis:

Verifique o status do adaptador bluetooth do dispositivo:

# hciconfig
hci0: Type: UART
BD Address: 00:22:A5:B8:AD:65 ACL MTU: 1021:4 SCO MTU: 180:4
UP RUNNING PSCAN
RX bytes:8672 acl:98 sco:0 events:285 errors:0
TX bytes:3336 acl:102 sco:0 commands:89 errors:0

# hcitool dev
Devices:
hci0 00:22:A5:B8:AD:65

Conexões bluetooth ativas:

# hcitool con
Connections:
< ACL 00:1D:4F:A7:9A:49 handle 1 state 1 lm MASTER

Esses comandos devem ser digitados pelo adb. Obviamente você também quer fazer isso quando não tem nenhum computador por perto, para isso instale um emulador de terminal em seu dispositivo e digite os comandos diretamente pela linha de comando.

Conseguindo root no tablet android Genesis GT-7250

O Genesis GT-7250 é um tablet android usando a versão 2.3 (Gingerbread). Ao contrário da maioria dos tablets de marcas desconhecidas ou chineses sem marca, este possui acesso 3G sem a utilização de adaptador USB, pois possui slot para SIM card interno.

Pelo processador Qualcomm MSM7227 de modestos 800MHz eu diria que está mais para celular com tela de 7″ do que para tablet.

Como todo dispositivo android vem de fábrica sem acesso root. O root é o que permite maiores possibilidades de utilização de seus recursos internos (alteração de clock, acesso ao sistema de arquivos, acesso ao hardware, instalar arquivos no cartão SDHC externo…)

O root é conseguido geralmente através de utilitários criados por desenvolvedores espalhados pelo mundo (mas que parecem todos frequentar o xda-developers).

Alguns aplicativos são instalados diretamente no celular, como qualquer outra aplicação. O exemplo mais famoso desse tipo é o Z4root, porém a vulnerabilidade que ele explorava foi corrigida e dificilmente irá funcionar em um dispositivo que tenha menos de 2 anos.

Dos aplicativos utilizados no micro e que enviavam comandos ao dispositivo via cabo USB o mais famoso era o SuperOneClick, que está perdendo utilização nos dispositivos mais novos, lançados no mercado a partir de 2012. A vulnerabilidade que ele utilizava foi corrigida no final de 2011 e se o kernel for superior a 2.3.5 ele não consegue o root.

O kernel do GT-7250 é 2.3.6, compilado em março de 2012, o que me impossibilitava o root e a utilização do Link2SD, um utilitário que permite que aplicativos android sejam instalados em uma partição extra no cartão SDHC externo (de maneira melhor e mais eficiente do que a funcionalidade similar existente no Gingerbread, na minha opinião).

Então nossos amigos do xda-developers apareceram com uma solução, o Easy Root -Android 2.3.6 & ICS – CASUAL. Apesar de ser para dispositivos Motorola, funciona com o GT-7250.

Selecione a opção RootICSRAZR, ligue o tablet na USB e aperte o botão Do It! e pronto!

Como toda ferramenta que usa os comandos do adb, o GT-7250 deve ser reconhecido pelo adb. Se ele não aparece na listagem quando você usa o comando adb devices não perca tempo com o Easy Root. Primeiro resolva o problema com o adb.

Fiz uma postagem anterior explicando como resolver.

Fazendo o adb reconhecer seu dispositivo android

This post has been translated to english.

o adb (android debug bridge) é uma ferramenta desenvolvimento para android.

Geralmente para ativar basta conectar seu dispositivo android, ativar a depuração USB (USB debugging) e verificar com o comando “adb devices”, que deve retornar uma lista com o número serial dos dispositivos que estejam conectados.

Essa é a teoria. A prática é que só são reconhecidos de maneira automática dispositivos de fabricantes como HTC, Motorola, Samsung… se seu dispositivo é de algum fabricante obscuro ou um legítimo xing-ling, o resultado é parecido com esse:

adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached

Para que seu dispositivo seja reconhecido é necessário colocar o identificador de seu dispositivo no arquivo adb_usb.ini.

Como identificar o fabricante:

Conecte seu dispositivo na porta USB do seu micro (ative a depuração USB).

Linux: digite o comando lsusb e veja a lista de dispositivos


$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 003: ID 10ab:0816 USI Co., Ltd
Bus 002 Device 003: ID 04f2:b1da Chicony Electronics Co., Ltd
Bus 002 Device 004: ID d324:9018

O dispositivo android é o da última linha. O primeiro grupo de quatro dígitos após o ID é o VendorID, o código que precisamos

Esse dispositivo do exemplo é um tablet Genesis GT-7250. O fato de não haver uma descrição do fabricante ao se usar o lsusb é típico de produtos chineses feitos sem maiores cuidados. Praticamente se limitam a usar o projeto base do fabricante da CPU e chipset utilizados.

Windows: abra o Painel de Controle -> Sistema e Segurança -> Sistema -> Gerenciador de Dispositivos e veja as propriedades de um dispositivo identificado como Android Phone ou Android ADB Interface.

Clique com o botão direito sobre esse dispositivo e selecione Propriedades. Selecione a aba Detalhes e na caixa de seleção IDs de Hardware.

O valor a frente do texto USB\VID_ é o VendorID.

Uma maneira mais simpless é utilizar o aplicativo  USBView. Execute e conecte seu dispositivo ao computador. Observe o o valor da linha idVendor, é ele que você vai utilizar. Observe na figura abaixo que destaquei um caso em que aparece um triângulo amarelo na frente do nome de um dispositivo. Isso é um indicador que os drivers para seu dispositivo não foram instalados corretamente. Os drivers de Windows precisam ser instalados corretamente ou você nunca irá obter a conexão com o aparelho. Verifique se há um CD de instalação ou se no site do fabricante os drivers estão a disposição.

Captura de tela 2017-03-05 15.17.44

Como atualizar o arquivo:

Linux: no seu diretório home deve haver um diretório oculto com o nome .android, dentro desse diretório está o arquivo adb_usb.ini.

Atualize o arquivo com seu dispositivo com o comando

echo 0xd324 >> adb_usb.ini

Windows: na sua pasta pessoal deve haver uma pasta com o nome .android, dentro dessa pasta está o arquivo adb_usb.ini.

Abra esse arquivo com um editor sem formatação, como o notepad e adicione uma linha com o valor do VendorID

0xd324

Certifique-se que a depuração USB está ativa no seu dispositivo e confirme a identificação do seu dispositivo:

adb kill-server
* server not running *

adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
1234567890ABCDEF device

Caso essa pasta não exista, abra uma janela do prompt de comando (o Explorer não cria arquivos ou pastas cujo nome se iniciam com um ponto) e digite os seguintes comandos para criar a pasta e o arquivo:

cd /d %USERPROFILE%
md .android
cd .android
echo 0xd324 >> adb_usb.ini

Pronto! Agora você pode usar o adb e fazer coisas legais no seu android como desenvolvimento de aplicações ou coisas mais legais ainda como root.

Nas versões de android 4.x e superiores quando você digitar algum comando no adb irá aparecer uma janela de alerta na tela do dispositivo. Confirme tocando o OK e, se for um computador onde o dispositivo será sempre utilizado, marque a caixa “Sempre permitir deste computador” para que o alerta não seja acionado nas próximas vezes.

Screenshot_2017-04-23-18-46-27

Nos próximos posts:

– fazendo root no tablet Genesis GT7250 (por que vocês acham que eu descobri isso tudo sobre o adb?)

– conectando um teclado bluetooth no android

Matt's Entropy

... seeding /dev/random, one blog post at a time.

Maravilhoso Mundo Novo

De volta ao Paraíso

androideia

Idéias e Android, necessariamente não nessa ordem.

Another Airgun Blog

Idéias e Android, necessariamente não nessa ordem.

Armas de Pressão - Modificações e afins

Metade da graça em atirar está em fazer ajustes na arma.