Um Manifesto!

...

  • Increase font size
  • Default font size
  • Decrease font size

Acpi e Bateria no Acer 5050 (REPUBLICADO)

E-mail Print PDF

Nota: aparentemente havia problemas para acessar o post anterior sobre este tema, devido a algum componente do joomla. 

Para ter o Linux no Acer 5050 com tudo funcionando, incluindo Wireless (wifi) com atheros ath5k, Webcam com uvcvideo, som, etc e etc, sem tanto trabalho, leia o link. Caso ainda tenha dúvidas leia mais artigos da série.

Após muita luta com o acer aspire 5050, quase tudo funcionando, apenas uma coisa incomodava e  muito, a bateria, não era possivel monitorar. Agora sim, esta funcionando o monitor de bateria do Acer 5050 no Linux! Viva!!

O Processo é demorado e um pouco complicado, mas vale a pena.

O primeiro passo é reconstruir a tabela DSDT para corrigir os erros de acpi que a tornam incompatível. Verifique se a versão da sua bios é a "v1.3309", se não for deve-se atualizar(ou desatualizar) para esta versão, no site do acer tem como, use o comando dmidecode -s bios-version para saber.  

Caso seja esta versão, e você esteja usando o Acer Aspire 5050, você pode baixar a minha tabela aqui. Ou corrija a sua própria para garantir. Com alguma distribuição Live que funcione sem o acpi=off no boot, aconselho o Damn Small Linux ou o Ubuntu, pegue a dsdt, desta forma, como root, acpidump -b -t DSDT -o DSDT.aml, e copie para algum lugar que possa pegar depois na sua distro atual.

Já na sua distro e com o arquivo DSDT.aml "em mãos", você vai precisar das seguintes ferramentas:

# apt-get install iasl flex-old bison

O que vamos fazer é "de-assemblar" o arquivo, corrigir e recompilar novamente. Para de-compilar:

# iasl -d DSDT.aml

Isso ira gerar um arquivo chamado DSDT.dsl, é neste que vamos trabalhar, abra-o para edição:

# gedit DSDT.dsl 

Localize o trecho (linhas 89 e 90):

OperationRegion (PLPT, SystemIO, 0×0378, 0×01)
Field (PLPT, DWordAcc, Lock, Preserve)

A linha 89 deverá ficar assim:

OperationRegion (PLPT, SystemIO, 0×0378, 0×04)

e troque todas as ocorrências de “_T_0″ para “TTT0″ - sem as aspas.(Use o replace do seu editor para ser mais rápido).

Uma ultima edição:

Edite a linha 3906 "Store (_SB.PHSR (0x0D, 0x00), TJ85)" para ficar:

"Store (_SB.WMID.PHSR (0x0D, 0x00), TJ85)".

Inserindo o "WMID.". Agora "re-assemblando"(como se fala?):

# iasl -tc DSDT.dsl

Deve retornar "0 Errors", mas pode ter warnings sem problemas. Isso vai gerar um arquivo DSDT.hex, quarde-o.

# cp DSDT.hex ~/DSDT.hex 

O proximo passo é instalar as fontes do Kernel para o compilar com o ACPI corrigido. Instale os seguintes pacotes:

# apt-get install kernel-package libncurses5-dev fakeroot wget bzip2 build-essential gcc g++

Instale também o kernel e suas fontes e headers:

# apt-get install linux-source-2.6.18 linux-kbuild-2.6.18 linux-headers-2.6.18-4

Agora vamos a pasta com a fonte de kernel e começar o processo para compila-lo:

# cd /usr/src

# tar xjf linux-source-2.6.18.tar.bz2

# ln -s linux-source-2.6.18 linux

# cd linux 

Descompactamos, linkamos e estamos na pasta com as fontes do kernel. Agora vamos editar o arquivo de configuração, copiamos a configuração do kernel atual(supondo que é o mesmo, 2.6.18*qualquer_coisa) e então a alteramos:

# cp /boot/config-`uname -r` ./.config

# gedit .config

Adcione as seguintes linhas ao final do arquivo:

CONFIG_STANDALONE=n
CONFIG_ACPI_CUSTOM_DSDT=y
CONFIG_ACPI_CUSTOM_DSDT_FILE="DSDT.hex"

Salve o arquivo, agora vamos copiar o DSDT.hex para inclui-lo no kernel:

# cp ~/DSDT.hex include/DSDT.hex

# cp ~/DSDT.hex drivers/acpi/DSDT.hex

Agora vamos nos preparar para recompilar o kernel, as ultimas configurações:

# make menuconfig 

Escolha "Load an Alternate Configuration File" e no input que vai abrir digite ".config" e confirme. Entre em Device Drivers , depois em Generic Driver Option e desmarque Select only drivers(...) . exit, exit , exit. Agora entre em Power Management, depois ACPI e depois Custom DSDT, e coloque DSDT.hex no input que vai abrir e confirme. Agora coloque exit até ser perguntado se deseja salvar as alterações para o arquivo de configurações ("Do you wish to save...") e responda Sim ou Yes.

Pronto o kernel esta configurado devidamente. Agora vamos contrui-lo e instala-lo. Recomendo que durante este processo evite qualquer coisa que use muito do processador, como jogos e videos, programas em java(...). Não faça nada muito pesado. Compilar um kernel é um processo bem demorado e vai exigir bastante recurso da maquina. Se possivel também mantenha o processador resfriado, com um ventilador em cima dele(naquela saida lateral de calor) para garantir que ele não esquente demais e o pc desligue. Não sei bem o tempo que levou aqui, mas demorou um bocado, então paciencia. Vamos lá:

# make-kpkg clean

# make-kpkg --initrd kernel_image kernel_headers

E agora é só esperar...

Quando ele terminar, caso não haja nenhum erro(Caso haja reveja o processo todo...)  ele vai gerar dois pacotes .deb, que são o kernel novo e os seus headers. Instale-os, verifique os nomes certos:

# dpkg -i linux-image-2.6.18_2.6.18-10.00.Custom_i386.deb

# dpkg -i linux--headers-2.6.18_2.6.18-10.00.Custom_i386.deb 

Com isso o initrd já foi criado, assim como a entrada no grub, mas ainda vamos edita-lo:

# gedit /boot/grub/menu.list

Devem haver a seguinte entrada(aqui já editadas):

title        Debian GNU/Linux, kernel 2.6.18
root        (hd0,1)
kernel        /boot/vmlinuz-2.6.18 root=/dev/sda2 ro noapic nolapic vga=791 irqpoll pci=nommconf
initrd        /boot/initrd.img-2.6.18
savedefault

Na linha kernel é onde passamos os parametros. Para o acpi funcionar deve esta sem o "acpi=off"  e ainda sem o "apm=off" que antes eram necessários. Mas precisamos do noapic e nolapic ainda por causa do wireless. Salve-o com esta entrada e instale o grub novo:

# grub-install hd0 

Agora reinicie o computador e escolha seu novo kernel. O sistema deve iniciar corretamente, talvez "de tempo" de ver algumas mensagens sobre estar usando o acpi na tela. Caso aconteça algum erro e o sistema pare durante a inicialização, reinicie e entre no kernel antigo para tentar corrigir.

ATENÇÂO: Ao usar o novo sistema algumas coisas, que foram compiladas para o antigo, podem deixar de funcionar, como os drivers da ATI, webcam e wireless. Apenas vai ser preciso reinstala-los, que vou explicar ao final deste texto.

Agora, já usando seu novo kernel, abra um terminal e ative o daemon acpi, e levante os modulos ac e battery, como root:

# acpid

# modprobe ac

# modprobe battery

E Pronto, esta funcionando!(Finalmente) basta Adcionar o Monitor de bateria ao painel(no caso do gnome) que vai funcionar. Caso alguma coisa fique errado, deixe um comentário que eu vejo se posso ajudar.

Agora basta assegurar que estes comandos sejam executados no boot. 

Sobre os drivers que não funcionam mais, faça assim: 

Wireless: 

# svn co https://ndiswrapper.svn.sourceforge.net/svnroot/ndiswrapper/trunk/ndiswrapper ndiswrapper 

# cd ndiswrapper

# make distclean

# make  ; make install

#  ndiswrapper -r net5211

# wget http://manifesto.blog.br/extras/downloads/net5211.inf

# ndiswrapper -i net5211.inf

# ndiswrapper -m ; ndiswrapper -ma ; ndiswrapper -mi

# modprobe ndiswrapper

Webcam:

# svn chekout http://svn.berlios.de/svnroot/repos/linux-uvc/linux-uvc/trunk/ uvc

# cd uvc 

# make ; make install

# modprobe uvcvideo

Placa Gráfica ATI :

# m-a a-i fglrx 

# modprobe fglrx 

Reinicie e tudo deve estar funcionando. Caso o monitor de bateria não funcione apos reiniciar, basta levantar o modulos de novo e o acpid, lembre de coloca-lo para acontecer em todos os boot.

Mais uma conquista! Espero que ajude, em caso de dúvida basta perguntar.

  • Melquior
    E ai Diogo tudo bem?
    Eu segui passo a passo suas instruções de como ativar o monitor da bateria.
    Os 2 arquivos de instalação do novo kernel foram gerados, editei e reinstalei o grub, mas na inicialização os sistema para.
    A ultima linha que aparece fala alguma coisa sobre acpi.
    Alguma ideia do que pode ser?
  • admin
    É meio complicado isso.
    Ao gerar o DSDT.hex, ficou realmente sem erros? A edição desse arquivo é deve ser exata. Se possivel me envie o DSDT.dsl (o editavel) após as alterações.
  • Melquior
    Diogo fiz uma vez com o seu dsdt.hex e outra com um diferente, mas nas duas compilações não houve erro, na seguanda vez deu 4 warning, mas como vc disse não tem problema.
    Me passa o teu e-mail que eu te envio o dsdt.dsl.
    Meu laptop é um acer 5050-4916 e a bio é a mesma versão da sua!
  • Diego Nobuyoshi de Souza Tsuji
    olá Diogo
    quero saber qual foi a distribuição que você usou
    porque eu estou usando o Ubuntu 7.10
    e tem um monte de coisa que não deu certo tipo, na parte que precisa abaixar os pacotes linux-source-2.6.18, linux-kbuild-2.6.18 e linux-headers-2.6.18-4 eu achei nenhuma desses pacotes, aí eu baixei linux-source-2.6.22 e o linux-headers-2.6.22-14, afinal a diferença é só o 22 no lugar do 18.
    deu tudo certo até a parte que precisa fazer o comando que você falou # make-kpkg --initrd kernel_image kernel_headers. É para rever o processo caso dê erro, mas eu já verifiquei várias vezes e continua dando erro no final. por favor me ajude que eu estou aguniado com esse erro chato....
    abraços
  • admin  - Pacotes
    Para quem estiver com problemas em construir o kernel, aqui estão os pacotes gerados no meu processo. Provavelmente funcione em outros debian-like.

    http://manifesto.blog.br/extras/downloads/linux-headers-2.6.18_2.6.18-10.00.Custom_i386.deb
    http://manifesto.blog.br/extras/downloads/linux-image-2.6.18_2.6.18-10.00.Custom_i386.deb

    Com estes, siga após o comando make-kpgk, apartir das instalações com dpkg -i.
  • Gustavo de Tarso  - Parabéns
    Primeiro gostaria de parabenizá-lo pelo excelente tutorial e pela disponibilização da DSDT.hex previamente corrigida para o Ace Aspire 5050. Aqui ocorreu tudo perfeitamente bem, seguindo todas as suas orientações, inclusive o resfriamento do laptop com um ventilador bem nas fuças dele e com o ar-condicionado ligado no ambiente em temperatura 17ºC (exagero? Talvez rsrsrs). Somente a parte do reconhecimento da placa ati, som, wireless e webcam fiz de modo diferente. Preferi instalar tudo através dos drivers dos respectivos fabricantes. Mais uma vez parabéns e obrigado.
  • admin
    Obrigado!

    Nada de exagero esse resfriamento, eu fiz parecido e ainda fiquei com medo dele desligar! rsrs

    Parabéns para você também por conseguir configurar tudo, é uma verdadeira luta!

    Abraço!
  • Daniel Gusmão  - bios-version v1.3315
    Se a versao da bios for a v1.3315 não tem como funcionar ???
  • admin
    Daniel, pode ser que funcione sim, mas é um tiro no escuro.
    A tabela DSDT que tenho é para a v1.3309, talvez para a sua seja uma tabela diferente.

    Vi este relato também:
    http://is.gd/a8ii (inglês)
    Mas não sei se é bom.
  • Gustavo de Tarso  - Conserto em DEFINITIVO
    Já estava pra postar esse texto mó cara. Pesquisando em vários blogs e forum, descobri, na base da tentativa e erro, o conserto definitivo para este maldito erro de incompatibilidade da BIOS e padrão ACPI do linux. Na verdade é bem simples, beirando o ridículo, basta a pessoa DESATUALIZAR, isso mesmo DESATUALIZAR, sua bios para a versão 1.3303 e pronto, todos os bugs de PnP e IRQ, os principais no gerenciamento de ACPI, estarão corrigidos e diga adeus para aquelas especificações de "noapic nolapic acpi=off" para qualquer GNU/Linux que porventura vc queira instalar e também evite aventurar-se em customização de kernel sem ter os devidos pré-requisitos para tal. O arquivo da bios está em: ftp://ftp.work.acer-euro.com/notebook/aspire_5050/bios/ só escolher a versão 3303 e instalar. Infelizmente o instalador está em ambiente M$ por isso vc precisará de instalá-lo por ele ou dar um boot com um sistema de arquivos FAT32 ou NTFS. NÃO USE O WINE, vou repetir, NÃO USE O WINE, emulaçã...
  • Almir Mendes  - Alguém já fez este teste?
    Olá Gustavo de Tarso e também Diogo. Gostaria de saber se algum de vocês já fez esse downgrade de BIOS.

    Como é uma operação arriscada, eu estou querendo obter informações para saber se tudo correu bem, para assim quem sabe eu tomar coragem.

    E, Diogo, o kernel 2.6.27 já tem suporte a UVC, bastando habilitar essa configuração nos dispositivos USB no .config do kernel.

    Ps.: Estou para postar um artigo também sobre a configuração do Acer 5050, mas ainda o estou montando.
  • admin
    Oi Almir, eu não cheguei a fazer o downgrade.

    Eu vi esta questão do kernel, para esses hardwares "problemáticos" como os nossos sempre é bom usar um kernel recente.
  • Almir Mendes  - ACPI + Batteria
    Olá Diogo, denovo! rsrs
    Amigo, também tenho um Acer como já percebeu, e recentemente reinstalei meu Linux. Fiz o processo como sempre e tudo blz, exceto por um detalhe que me entriga.

    Minha bateria mostra apenas 40min de duração e meu Gnome reclama informando que a bateria pode estar com problema.

    Você já passou por isso? Quanto tempo de bateria vc tem?
  • admin
    Fala Almir!

    Faz um "cat /proc/acpi/battery/BAT1/info" e "cat /proc/acpi/battery/BAT1/state" para saber como esta a bateria.

    A diferença entra o segundo(design capacity) e o terceiro(last full capacity) do arquivo info pode dizer se esta com problemas mesmo.

    No meu, se estiver tudo "normal", sem controle do processador e brilho no máximo, ficava cerca de 40min mesmo. Era assim antes de configurar o ACPI e o cpufreqd .

    Quando deixo a cpu no mínimo(uso o cpufreqd) e o brilho também, ficam cerca de 1:30h.

    O cpufreqd ajuda bastante a economizar bateria.
  • Almir Mendes  - Bateria Acer 5050
    Pois é Diogo, o meu já está no modo conservative (800 MHz) e mesmo ajustando o brilho do monitor não ajuda muito. Segue o meu "cat /proc/acpi/battery/BAT1/info":

    design capacity: 4000 mAh
    last full capacity: 813 mAh
    battery technology: rechargeable
    design voltage: 11100 mV
    design capacity warning: 300 mAh
    design capacity low: 32 mAh
    capacity granularity 1: 32 mAh
    capacity granularity 2: 32 mAh
    model number: ZR3
    serial number: 10261
    battery type: LION
    OEM info: SONY

    To estranhando esses itens:
    design capacity: 4000 mAh
    last full capacity: 813 mAh

    Se ele foi projetado para 4000, porque só tem 813 ? Sabe me dizer?
  • admin
    Parece que é isso mesmo, a bateria perdeu capacidade infelizmente. Isso acontece bastante até, dificil saber o que pode ter causado.

    O tempo faz ela perde carga(algo como 3 anos). Descargas completas frequentes da bateria também. Guardar ela sempre em 100% também vai perdendo um pouco. Enfim, podem ser "n" causas. Bateria ainda é algo muito fraco mesmo.

    Se você usa muito plugado na tomada e não costuma deixar ele descarregar por completo, pode deixar ele descarregar uma vez por completo até desligar, e depois fazer uma recarga completa. Pode ser que recupere um pouco da capacidade, dependendo da causa.

    Qual o perfil de uso?

    Só para ilustrar, o meu esta assim:

    present: yes
    design capacity: 4000 mAh
    last full capacity: 3497 mAh
    battery technology: rechargeable
    design voltage: 11100 mV
    design capacity warning: 300 mAh
    design capacity low: 139 mAh
    capacity granularity 1: 32 mAh
    capacity granularity 2: 32 mA...
  • Almir Mendes  - Bateria
    Estou começando a achar que o problema é outro, estou fazendo o teste de descarregar a bateria do notebook. Já faz alguns minutos que está assim o meu state:

    present: yes
    capacity state: ok
    charging state: discharging
    present rate: 2072 mA (isso fica alternando)
    remaining capacity: 0 mAh
    present voltage: 10222 mV (também muda)
  • admin
    Isso já é bem estranho, remaining capacity deveria esta contando também.
    O outros mudam mesmo.

    O comando "acpi -V" reporta como? Eu acho que ele usa usa os mesmo dados, mas não tenho certeza.
  • Almir Mendes  - Bateria
    Parece que agora está melhorando, pois fiz o lance de desligar com o término da bateria.

    Ps.: você tem msn, jabber ou gtalk? poderia me adicionar? Meu MSN/GTalk é o mesmo e-mail que adicionei aqui no comentário.
  • Gustavo de Tarso  - Downgrade
    Sim, eu fiz e funcionou, fácil, rápido e prático. Desculpe a demora de voltar aqui, mas como resolvi facilmente com o downgrade acabei deixando este espaço sem visita rsrs.
    Abraços.
  • Marcello Queiroz  - Downgrade
    Cara qual era a versão do seu KERNEL quando v fez o downgrade? E como você fez? Pq no site da AMD só tem versão p/ Windows.

  • Marcello Queiroz  - BATERIA
    Pessoal, vai uma dica para melhorar o rendimento da bateria nos ACER com placas ATI.

    Geralmente, por padrão a placa de video da ATI trabalha em clock máximo, o que acaba consumindo mais energia e aquecendo ainda mais o notebook. Para resolver façam o seguinte:

    #aticonfig --lsp (esse comando serve para verificar como está configurado a frequencia do clock da placa de video)

    # aticonfig --set-powerstate=1 (economia de energia)
    # aticonfig --set-powerstate=2 (desempenho intermediário)
    # aticonfig --set-powerstate=3 (desempenho máximo)

    Espero que esta dica seja útil.
    Abraços!

Write comment
Your Contact Details:
 
Comment:
Security Please input the anti-spam code that you can read in the image.

!joomlacomment 4.0 Copyright (C) 2009 Compojoom.com . All rights reserved."

Last Updated on Thursday, 06 August 2009 03:22