Mais ajustes

Aproveite que agora está rodando o Froyo e instale o Flash Player e o Chrome to Phone usando o Android Market, tendo acesso à mais duas das grandes novidades do Froyo, que são a possibilidade de rodar vídeos e jogos em flash e de enviar links e mapas para o telefone diretamente a partir do navegador do desktop.

Outra vantagem de rodar a ROM customizada é a possibilidade de fazer um ajuste fino nas frequências e tensões usadas. Overclock você pode fazer mesmo nos aparelhos com o 2.1.1 usando o Milestone Overclock, mas com a atualização você ganha a possibilidade de ajustar também as tensões usadas em cada degrau de frequência, com uma flexibilidade muito maior.

O ShadowMod vem de fábrica com um overclock para 900 MHz e tensões moderadas para garantir a operação estável em todos os aparelhos. Entretanto, na grande maioria dos casos é possível usar frequências mais altas (até 1.2 GHz) e/ou tensões mais baixas nas frequências intermediárias, reduzindo (ou até mesmo anulando completamente) o impacto sobre a bateria do overclock. Se você der a sorte de ter um aparelho capaz de funcionar com tensões especialmente baixas, é possível ter simultaneamente um overclock generoso e uma autonomia superior à padrão.

Embora trabalhosa, a edição manual das frequências e tensões é bem mais flexível que simplesmente usar o Milestone Overclock, pois ela permite setar a tensão usada em cada um dos degraus de frequência, diferente do Milestone Overclock, que permite ajustar apenas a frequência máxima e a tensão usada por ela.

Você pode ajustar as frequências e tensões livremente através do arquivo /system/etc/init.d/71_overclock.sh, especificando as frequências e tensões máximas e mínimas para o processador, bem como os degraus intermediários entre elas. Entretanto, antes de chegarmos nele é importante testar as configurações que pretende usar, já que qualquer valor que faça o sistema travar no boot vai gerar um loop infinito, te obrigando a regravar a imagem do sistema.

Você pode alterar a configuração através de um punhado de arquivos dentro da pasta “/proc/overclock/“, que são na verdade variáveis de memória. Eles permitem testar vários ajustes livremente, já que as configurações não são permanentes e basta um reset para resolver qualquer problema,

Comece instalando o Android Terminal Emulator no market, que oferece um terminal com acesso de root. Dentro dele, digite “su”, “ash” e em seguida acesse a pasta /proc/overclock (cd /proc/overclock) dentro da qual executaremos todos os comandos daí em diante:

A configuração das frequências e tensões é armazenada em dois arquivos, o freq_table (que lista as frequências usadas) e o mpu_opps (que lista as tensões usadas em cada uma). Você pode checar o conteúdo deles usando o comando “cat“, como no Linux. Em uma instalação padrão do ShadowMod o conteúdo dos dois é o seguinte:

cat freq_table:

freq_table[0] index=0 frequency=900000
freq_table[1] index=1 frequency=700000
freq_table[2] index=2 frequency=500000
freq_table[3] index=3 frequency=250000

cat mpu_opps:

mpu_opps[5] rate=900000000 opp_id=5 vsel=60
mpu_opps[4] rate=700000000 opp_id=4 vsel=49
mpu_opps[3] rate=500000000 opp_id=3 vsel=44
mpu_opps[2] rate=250000000 opp_id=2 vsel=33
mpu_opps[1] rate=125000000 opp_id=1 vsel=32

Isso faz com que o sistema use frequências de 900, 700, 500 e 250 MHz, com tensões de respectivamente 60, 49, 44, 33 e 32 (estes valores são uma percentagem de um ampére, 60 = 600 mA). O freq_table especifica o uso de apenas quatro valores, por isso a última linha do mpu_opps, que especifica uma frequência de 125 MHz é ignorada.

Você pode editar estes valores diretamente através da linha de comando, especificando a linha, o valor e o arquivo. Para aumentar a frequência máxima para 1.0 GHz, com tensão de 63, por exemplo, você usaria:

echo "0 1000000" > freq_table

echo "5 1000000000 63" > mpu_opps

Liste novamente os dois arquivos e você verá:

cat freq_table:

freq_table[0] index=0 frequency=1000000
freq_table[1] index=1 frequency=700000
freq_table[2] index=2 frequency=500000
freq_table[3] index=3 frequency=250000

cat mpu_opps:

mpu_opps[5] rate=1000000000 opp_id=5 vsel=63
mpu_opps[4] rate=700000000 opp_id=4 vsel=49
mpu_opps[3] rate=500000000 opp_id=3 vsel=44
mpu_opps[2] rate=250000000 opp_id=2 vsel=33
mpu_opps[1] rate=125000000 opp_id=1 vsel=32 (ignorada)

Para que os valores entrem em vigor, é necessário especificar a tensão máxima e a frequência máxima em mais dois arquivos:

echo 63 > /proc/overclock/max_vsel

echo 1000000 > /proc/overclock/max_rate

Similarmente, para testar tensões mais baixas para as frequências intermediárias você usaria:

echo "5 700000000 45" > mpu_opps
echo "5 500000000 40" > mpu_opps
echo "5 250000000 31" > mpu_opps

A tensão padrão do Milestone a 550 MHz é 54, por isso você pode aumentá-la para até 64 ou 65 sem riscos. Assim como em um processador de PC, uma tensão mais alta pode ser necessária para estabilizar o processador em uma frequência mais alta, mas ela também faz com que ele consuma mais energia e aqueça mais. Similarmente, o processador suporta o uso de tensões muito muito mais baixas nas frequências mais baixas, o que permite economizar energia.

O OMAP 3430 é um SoC bastante flexível, que possui uma margem de operação muito abrangente. Como se não bastasse suportar um overclock de mais de 100%, ele é capaz também de operar estavelmente com tensões extremamente baixas, é só mesmo questão de testar.

Se você estiver preocupado apenas com o desempenho, pode aumentar a frequência para logo 1.2 GHz com tensão de 63, que funciona bem praticamente todos os aparelhos e oferece um desempenho realmente muito bom em vídeos e flash. Entretanto, se você está está mais preocupado com a autonomia, vai preferir usar frequências medianas, combinadas com tensões mais baixas. No meu caso, por exemplo, estou usando:

cat freq_table:

freq_table[0] index=0 frequency=800000
freq_table[1] index=1 frequency=500000
freq_table[2] index=2 frequency=250000
freq_table[3] index=3 frequency=125000

cat mpu_opps:

mpu_opps[4] rate=800000000 opp_id=5 vsel=53
mpu_opps[3] rate=500000000 opp_id=4 vsel=41
mpu_opps[2] rate=250000000 opp_id=3 vsel=30
mpu_opps[1] rate=125000000 opp_id=2 vsel=21

Note que ativei o uso dos 125 MHz como frequência mínima e o uso de tensões bem mais baixas para economizar bateria. No meu caso estes valores funcionam perfeitamente bem, mas os resultados variam de aparelho para aparelho. Em alguns casos você pode conseguir tensões ainda mais baixas que as minhas e em outros pode ser obrigado a manter os valores padrão.

Depois de testar, você pode salvar a configuração definitivamente no arquivo /system/etc/init.d/71_overclock.sh, para que elas passem a ser executadas durante o boot. É preciso testar bem os valores antes de salvá-los dentro do arquivo, pois valores muito baixos (ou muito altos) podem fazer com que ele passe a travar no boot, te obrigando a regravar a imagem do sistema (mesmo processo que você usaria para atualizar a versão do ShadowMod) para voltar a usá-lo.

Para editar o arquivo, você pode usar o Root Explorer, que oferece a opção de montar a pasta /system e modo de leitura e escrita e oferece um editor de textos integrado.

Dentro dele, acesse a pasta /system/etc/init.d e clique na opção “Mount R/W” no canto da tela para remontar a pasta com permissão de escrita:

Em seguida, dê um clique longo sobre o arquivo 71_overclock.sh e escolha a opção de abrir usando o editor de texto, no final do menu, para finalmente editá-lo. No final do processo, basta mudar novamente a pasta para R/O, dar um clique curto sobre o arquivo e executá-lo (não é preciso reiniciar).

No meu caso, por exemplo, ele ficou com o seguinte conteúdo:

#!/system/bin/sh
# Load overclock modules

insmod /system/lib/modules/symsearch.ko
insmod /system/lib/modules/overclock.ko

# Set max values for frequency and vsel
echo "53" > /proc/overclock/max_vsel
echo "800000" > /proc/overclock/max_rate

# Configure available frequencies
echo "4 800000000 53" > /proc/overclock/mpu_opps
echo "3 500000000 41" > /proc/overclock/mpu_opps
echo "2 250000000 30" > /proc/overclock/mpu_opps
echo "1 125000000 21" > /proc/overclock/mpu_opps

# Configure scaling frequencies
echo "0 800000" > /proc/overclock/freq_table
echo "1 500000" > /proc/overclock/freq_table
echo "2 250000" > /proc/overclock/freq_table
echo "3 125000" > /proc/overclock/freq_table

# Set min value for frequency

echo "125000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq

# Load cpufreq stats
insmod /system/lib/modules/cpufreq_stats.ko

O uso da frequência de 125 MHz faz com que o aparelho pareça um pouco menos responsível (o sistema demora uma fração de segundo para “acordar” e aumentar o clock do processador) e segundo alguns relatos ela pode causar instabilidade em alguns aparelhos. No meu caso entretanto ela está funcionando perfeitamente, e resultou em um aumento perceptível na autonomia, já que embora a diferença de consumo entre os 250 e 125 MHz seja pequena, o sistema passa muito tempo na frequência mínima, justificando a mudança. Você pode acompanhar a percentagem de uso das diferentes frequências usando o Android System Info, que está disponível no market e assim ajustar as frequências de acordo com o uso:

Normalmente, o sistema passa a maior parte do tempo na frequência mínima, e uma percentagem pequena na frequência máxima (de acordo com o seu perfil de uso). É por isso que um overclock agressivo normalmente não impacta tanto a autonomia quanto pode parecer à primeira vista.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X