Análise do celular Wei Note II (MT6575): fuja dele!

smartphone-wei-note-2-ii-wifi-android__21174_zoomAnálise curta: o Wei Note II tem ótimo hardware mas pouca memória interna e RAM e o software é uma porcaria. Não é um Android genuíno. É uma “réplica” do Samsung GT-N7100 (esta é a identificação no selo interno). O pior de tudo é que não funciona o armazenamento USB, apenas a conexão como dispositivo de mídia e como câmera. Mas outro defeito grave é a falta de sincronização com os contatos e com a agenda Google. Então, recomendo expressamente não comprar este celular.

Comprei  um modelo em maio de 2013, e poucas semanas depois reclamei para a loja e enviei para a assistência técnica; Depois de alguns dias, fui informado que não tinha conserto e me foi enviado outro, que demorou mais uns seis meses para chegar, muito por culpa da burocracia dos Correios  e da Aduana brasileira.

Pois o novo celular enviado apresenta os mesmos problemas! Portanto, são defeitos do modelo, não apenas um acidente de fabricação. O dispositivo até é usável, mas com deficiências muito desagradáveis. Não vou pedir outro modelo pois a Receita Federal pode tentar me cobrar novamente os impostos. Se devolver, perco mais de 100 reais de impostos federais e estaduais. Mas, a bem da verdade, diga-se que a loja MPXShop é honesta e confiável. Nunca deixa de responder a uma reclamação no Reclame Aqui, e as reclamações são sempre pela demora, o que é muito culpa da burocracia fiscal brasileira.

Análise longa

O celular tem bom acabamento, mostrando a evolução da indústria “shanzhai“. Veio com uma canetinha capacitiva desenvolvida para outro aparelho. Está equipado com o Android 4.0.4, embora diga que é a versão 4.1.2. Reconheceu os chips da Oi e da Vivo automaticamente e configurou as conexões internet corretamente sem intervenção do usuário. Aceitou o registro de contas Google, mas as contas não podem ser abertas para edição, na opção em que se determina o que pode vai ser sincronizado ou não. Assim, alguns programas Google funcionam, como Play. Outros, como Contatos e Agenda (importantíssimos!), não. A saída é usar estes serviços pelo navegador Web, quando possível.

Felizmente, eu consegui imagens de sistemas Android e extraí os dois programas responsáveis pela sincronização da agenda e dos contatos: GoogleCalendarSyncAdapter.apk e GoogleContactsSyncAdapter.apk. O primeiro foi instalado sem problemas e funcionou corretamente sem modificações. O segundo aplicativo dava erros. Primeiro, um erro relacionado a usuário compartilhado impedia a instalação.

Para hackeá-los, descomprimi e descodifiquei os dois aplicativos com o programa apktool (que coloquei no caminho, em /usr/local/bin/):

apktool decode GoogleCalendarSyncAdapter.apk
apktool decode GoogleContactsSyncAdapter.apk

Isto criou sub-diretórios, com o nome dos aplicativos, contendo todos os seus elementos. Assim, pude olhar e alterar o arquivo AndroidManifest.xml, onde constam os usuários e permissões dos aplicativos.

Depois de modificá-lo, recompilei o app com o comando:

apktool build GoogleContactsSyncAdapter GoogleContactsSyncAdapter.apk

Para resolver o erro de usuário compartilhado no sincronizador de contatos, troquei android:sharedUserId=”com.google.android.uid.shared” por android:sharedUserId=”com.google.android.contacts.uid.shared”. Recompilei, certifiquei e alinhei os bytes usando o Android Kitchen e instalei o app sem problemas, mas o sincronizador de contatos fechava quando eu pedia sincronização. Pelo Dalvik Debugger, vi que o erro estava relacionado a permissões. Comparei o conteúdo dos dois arquivos AndroidManifest.xml e colei no manifest do sincronizador dos contatos as permissões que havia no manifest do sincronizador da agenda, que funcionava bem. Bingo! O aplicativo de sincronização de contatos foi instalado e rodou sem problemas, depois de um reboot.

As linhas modificadas aparecem marcadas abaixo:

<?xml version="1.0" encoding="utf-8"?>
<manifest android:sharedUserId="com.google.android.contacts.uid.shared" android:versionCode="15" android:versionName="4.0.4-299849" package="com.google.android.syncadapters.contacts"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.READ_CONTACTS" />
    <uses-permission android:name="android.permission.WRITE_CONTACTS" />
    <uses-permission android:name="android.permission.USE_CREDENTIALS" />
    <uses-permission android:name="android.permission.READ_SYNC_STATS" />
    <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
    <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="com.google.android.googleapps.permission.GOOGLE_AUTH" />
    <uses-permission android:name="com.google.android.googleapps.permission.GOOGLE_AUTH.cp" />
    <uses-permission android:name="android.permission.SUBSCRIBED_FEEDS_READ" />
    <uses-permission android:name="android.permission.SUBSCRIBED_FEEDS_WRITE" />
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
    <uses-permission android:name="com.google.android.providers.gsf.permission.WRITE_GSERVICES" />
    <application android:label="@string/contacts_sync_adapter_label" android:icon="@drawable/app_icon" android:process="com.google.process.gapps">
        <service android:name="ContactsSyncAdapterService" android:exported="true">
            <intent-filter>
                <action android:name="android.content.SyncAdapter" />
            </intent-filter>
            <meta-data android:name="android.content.SyncAdapter" android:resource="@xml/syncadapter" />
        </service>
        <receiver android:name="ContactsSyncAdapterBroadcastReceiver">
            <intent-filter>
                <action android:name="android.accounts.LOGIN_ACCOUNTS_CHANGED" />
                <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
        </receiver>
        <service android:name="ContactsSyncAdapterIntentService" />
        <provider android:name="com.google.android.syncadapters.contacts.GalProvider" android:multiprocess="false" android:authorities="com.google.contacts.gal.provider">
            <meta-data android:name="android.content.ContactDirectory" android:value="true" />
        </provider>
    </application>
</manifest>

Baixe os aplicativos de sincronização de agenda e de contatos do Wei Note II.

Os aplicativos de sincronização podem ser instalados como aplicativos normais. Com o Link2SD, tanto o aplicativo quanto o odex ficam no cartão SD, deixando mais espaço no armazenamento interno. A desvantagem é que não são reinstalados depois de um reset de fábrica. Para transformá-los em aplicativos de sistema, pode-se usar o Link2SD ou copiá-los para a pasta de sistema com os comando do shell Linux com a depuração USB habilitada (no Windows, o programa é adb.exe):

adb remount
adb push GoogleCalendarSyncAdapter.apk /system/app
adb push GoogleContactsSyncAdapter.apk /system/app

Baixe aqui o Android Debugging Bridge (ADB) para Windows e para Linux.

Notei que o sincronizador de contatos sincroniza os contatos de todos os grupos do Google Contacts, e não apenas os do grupo “Meus contatos”, como algumas versões do Android. Isto pode ser bom. Mas pode ser ruim se houver muitos contatos, pois pode ocupar muito espaço no armazenamento interno, que já é escasso.

Com estes apps, um dos grandes defeitos do Wei Note II fica resolvido. A questão do pouco espaço de memória interna pode ser mitigado pela instalação do ótimo aplicativo Link2SD, que cria links simbólicos no armazenamento interno e move os aplicativos reais para o cartão SD, juntamente com os arquivos odex. Também é bom  instalar um  limpador de memória como Clean Master e limpar as memórias constantemente.

Hacking o Wei Note II

O acesso às entranhas do celular pelo Android Debug Bridge (ADB) é fácil. Ele entra direto no login Root, embora não esteja rooteado. Para ver as informações do hardware, usei o seguinte comando:

root@android:/ # cat /proc/cpuinfo
 Processor    : ARMv7 Processor rev 10 (v7l)
 BogoMIPS    : 1993.93
 Features    : swp half thumb fastmult vfp edsp thumbee neon vfpv3
 CPU implementer    : 0x41
 CPU architecture: 7
 CPU variant    : 0x2
 CPU part    : 0xc09
 CPU revision    : 10

 Hardware    : SMDK4X12
 Revision    : 65fb8a00
 Serial        : 0000000000000000

Este relatório é falso!  O hardware não é SMDK4X12 e não roda a 1993.93 bogomips (Exynos de 4 núcleos, como diz o adesivo protetor da tela), mas um MTK6575 mononúcleo. A versão do Android reportada pelo aplicativo Quick System Info PRO e palas versões de diversos apps é 4.1.2, mas o SDK é 15, o kernel Linux é 3.0.13 e o nome do device é sanstar15_ics2, indicando que é um Android Ice Cream Sandwich versão 4.0.4. Na partição de boot achei as animações de boot do Samsung, inclusive. Não tenho nada contra a cultura “Shanzhai” da indústria chinesa. Acho interessante esta prática, que tem subsidiado e desenvolvido a indústria daquele país. Apenas critico o sistema defeituoso e “capado” oferecido por esta “réplica” específica.

Ao se ligar o celular conectado por USB ao Windows XP, o Windows automaticamente reconhece o driver de modem USB e o driver de ADB. No entanto, no Windows XP, o driver de MTD deve ser baixado da Microsoft, junto com o Windows Media Player 11. O problema é que o MTD só mostra alguns diretórios do celular. Para substituir o USB Mass Storage no Android, talvez possa-se colocar link simbólico no diretório de media. Mas a melhor solução é usar o Airdroid para gerenciar os arquivos.

A tela é o forte do Wei Note II. Tem boa resolução de 480×800 pixels, o tamanho de 5.3 polegadas é ótimo. É bem brilhante e o sensor de toque funciona muito bem. A CPU MT6567 de 1 MHz é bem rápida e responsiva. Isto seria muito bom se o aparelho não tivesse tão pouca memória. Apenas 233 MB de RAM e 134 MB de armazenamento interno (a área da partição /data onde ficam programas do usuário e dados de todos os programas). Isto só permite a instalação de uma dúzia de programas simples. Esta área pode ficar rapidamente cheia se a gente usar programas que armazenam muitos dados, como Facebook.

Estes constrangimentos de memória interna obrigam o uso do Link2SD para podermos instalar mais aplicativos, e o uso de um limpador de dados como Clean Master.

Mesmo ligado na entrada USB ou carregador, ele descarrega mais rápido do que carrega. O escalonador de frequência da CPU do chip MT6575, que permitiria diminuir o clock do processador para diminuir o consumo, não funciona com nenhum aplicativo para esta tarefa, como o Antutu CPU Marster Free. A CPU fica sempre rodando a 1001 MHz. Provavelmente não compilaram o kernel Linux com este recurso.

O modo “Recovery” (ligar segurando a tecla de aumentar o volume) simplesmente não funciona. Tranca na tela com o robozinho aberto com uma placa vermelha com ponto de exclamação. Para sair deste estado, só tirando a pilha. Para rootear o celular e instalar o CyanogenMod Recovery, usei o programa russo MtkDroidTools_v246_pt_BR (para Windows) com o cabo USB e o modo Depuração USB ligado. A operação foi simples e transcorreu sem problema. Recomendo instalar um cartão SD com bastante espaço e fazer um backup da ROM original, depois de rootear, e só depois instalar o CWM Recovery. Para acessar o novo Recovery, liga-se o aparelho segurando a tecla de aumentar o volume. Também pode-se entrar no modo de teste de hardware segurando a tecla de diminuir o volume e ligando, como é padrão em aparelhos Mediatek.

A câmera é falsificada para indicar 8 megapixels, mas tira fotos de apenas 1600×1200 pixels (2 megapixels).

No diretório /system/etc achei um arquivo chamado disableapplist.txt com o seguinte conteúdo:

com.mediatek.bluetooth
com.meidatek.mobilelog
com.mediatek.mdlogger
com.mediatek.weather
com.android.email
com.android.exchange
com.android.providers.calendar
com.android.providers.contacts
com.android.providers.downloads
com.android.providers.downloads.permission.tests
com.android.providers.downloads.public_api_access_tests
com.android.providers.downloads.ui
com.android.providers.drm
com.android,providers.media
com.android.providers.telephony

Talvez seja a lista de arquivos que o infeliz fabricante deste celular modificou para desabilitar várias funções do Android. Vou tentar descobrir similares originais e substituir para ver se consigo fazer funcionar como um Android original.

ROM

Coloquei no meu Dropbox a ROM do Wei Note II (Sanstar15, clone do Samsung GT-N7100), para quem precisar.

 [Artigo em desenvolvimento. Em breve, mais informações]

Pontos positivos

  • Tela de ótimo tamanho e resolução: 5,3 polegadas, 480×800 pixels.
  • Bom hardware Mediatek.
  • Cartões SIM da Oi e da Vivo configurados automaticamente.
  • Canetinha resistiva bem útil.

Pontos negativos

  • Pouca memória RAM e de armazenamento interno. O armazenamento interno é de apenas 134 MB.
  • Quando ligado ao carregador na rede elétrica, a tela de toque fica fora de controle.
  • O sensor de distância é falso. Não há sensor.
  • Recepção WiFi fraca.
  • O modo Engineer do MT não funciona discando-se *#*#3646633#*#*.
  • O modo “Recovery” não funciona, o que é muito ruim e pode deixar o proprietário na mão.
  • Não tem GPS.
  • O software é “capado”, provavelmente porque necessitaria de licença do Google para botar Android, e como é uma imitação, não conseguiria. Ou porque tem pouca memória de sistema e de armazenamento interno.

Sobre José Antonio Meira da Rocha

Jornalista, professor de Planejamento Gráfico e Mídias Digitais da Universidade Federal de Santa Maria, campus da cidade de Frederico Westphalen, Rio Grande do Sul, Brasil. Doutorando em Design na UFRGS, Porto Alegre, Brasil, 2014.