FreeBSD em Laptops

$FreeBSD: doc/en_US.ISO8859-1/articles/laptop/article.sgml,v 1.19 2003/09/14 11:29:06 simon Exp $

FreeBSD is a registered trademark of the FreeBSD Foundation.

Linux is a registered trademark of Linus Torvalds.

Microsoft, IntelliMouse, MS-DOS, Outlook, Windows, Windows Media and Windows NT are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.

XFree86 is a trademark of The XFree86 Project, Inc.

Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this document, and the FreeBSD Project was aware of the trademark claim, the designations have been followed by the " or the ® symbol.

FreeBSD trabalha bem em muitos laptops, com algumas advertências. Algumas questões específicas para rodar o FreeBSD em laptops, relacionando diferentes requerimentos de hardwares de desktops, são discutidas abaixo.


FreeBSD é frequentemente utilizado como um sistema operacional para servidores, mas ele também trabalha bem em desktops, e se você quiser utilizá-lo no seu laptop você também poderá aproveitar todos os benefícios usuais, como: layout sistemático, de fácil administração e atualização, sistema ports/packages para adicionar software, e mais. (Outros benefícios, como estabilidade, performance de rede, e performance dentro de um carregamento pesado, podem não ser tão óbvios em um laptop, claro.) Entretanto, instalar isto em laptops geralmente envolve problemas que não são encontrados em máquinas desktop e não são normalmente discutidos (laptops, são mais uniformes do que desktops, são ajustados para Microsoft® Windows®). Este artigo aponta à discussão dessas questões. Muitas pessoas têm também documentado suas experiências no FreeBSD com modelos específicos de laptop em páginas da web que não fazem parte da documentação do FreeBSD. Você pode muito bem achar mais informações se digitar o nome do modelo do seu laptop e a palavra FreeBSD num mecanismo de busca de sua preferência. Adicionalmente, este é um banco-de-dados on-line específico do FreeBSD que aponta para pegar informações de edições do hardware com laptops, A lista de Compatibilidade de Laptop do FreeBSD .

Para comunicação com outros usuários do FreeBSD em laptop, verifique a lista freebsd-mobile.


1. XFree86"

Versões recentes do XFree86" trabalham com muitos adaptadores gráficos disponíveis em laptops nos dias de hoje. A aceleração pode não ser suportada, mas uma configuração genérica SVGA deve funcionar.

Verifique a documentação do seu laptop para a placa que você possui e verifique na documentação do XFree86 ou na página Status de Drives para XFree86 para ver se ela é especificamente suportada. Se não for suportada, use um dispositivo genérico (não vá para um nome que apenas lhe pareça similar). No XFree86 versão 4, você pode tentar sua sorte com o comando XFree86 -configure que auto-detecta várias configurações.

O problema geralmente é a configuração do monitor. Recursos comuns para XFree86 têm seu foco nos monitores CRT; pegar um modeline apropriado para um monitor LCD pode ser complicado. Você pode estar com sorte e não necessitar especificar um modeline, ou somente necessitar especificar os valores HorizSync e VertRefresh apropriados. Se isso não funcionar, a melhor opção é verificar os recursos da web destinados à configuração do X em laptops (esses são sites frequentemente orientados para Linux, mas isso não faz diferença porque ambos usam XFree86), e copiar um modeline postado por alguém para o hardware similar ao seu.

Muitos laptops vêm com dois botões nos seus dispositivos de apontar (mouse), no qual é um pouco problemático no X (já que o botão do meio é normalmente usado para colar texto); você pode mapear um clique simultâneo dos botões esquerdo-direito na configuração do seu X para servir como um clique do botão do meio, na linha

      Option "Emulate3Buttons"
    

no arquivo XF86Config na seção InputDevice (para XFree86 versão 4; para versão 3, coloque a linha Emulate3Buttons , sem aspas, na seção Pointer.).


2. Modems

Laptops normalmente vêm com modems internos (on-board). Infelizmente, isto significa quase sempre que são winmodems, na qual suas funcionalidades são implementadas no software, para qual somente drives Windows estão normalmente disponíveis (embora uns poucos drivers estejam sendo mostrados para outros sistemas operacionais; por exemplo, se o seu modem tem um Lucent LT chipset ele pode ser suportado pelo port comms/ltmdm.). Se este é o caso, você necessita comprar um modem externo: a opção mais compacta é provavelmente um modem PC Card (PCMCIA), discutido abaixo, mas modems seriais ou USB podem ser mais baratos. Geralmente, modems normais (não-winmodems) devem trabalhar bem.


3. Dispositivos PCMCIA (PC Card)

Muitos laptops vêm com slots PCMCIA (também chamado PC Card); estes são bem suportados dentro do FreeBSD. Olhe através das suas menssagens de boot-up (usando dmesg(8)) e veja se eles foram detectados corretamente (eles devem aparecer como pccard0 , pccard1 etc e dispositivos como pcic0).

FreeBSD 4.X suporta cartões PCMCIA 16-bit e o FreeBSD 5.X suporta ambos os cartões, 16-bit e 32-bit (CardBus). O banco-de-dados sobre cartões suportados está no arquivo /etc/defaults/ pccard.conf. Olhe através disso, e de preferência compre cartões listados nele. Cartões não listados podem também trabalhar como dispositivos genéricos: em particular muitos modems (16-bit) devem trabalhar bem, se ele não for um winmodem (estes existem mesmo como PC Cards, então preste atenção nisso). Se o seu for reconhecido como um modem genérico, note que o arquivo padrão pccard.conf especifica um tempo delay de 10 segundos (para evitar congelamento em certos modems); isto pode ser uma precaução para o seu modem, no entanto você pode querer mexer nisso, reduzindo ou removendo isso totalmente.

Algumas partes do pccard.conf podem ser editadas. Verifique a linha irq, e esteja certo antes de remover qualquer número que atualmente esteja sendo usado: em particular, se você tem um cartão de som on-board, remova a irq 5 (se não você pode experimentar valores quando você inserir o cartão). Verifique também o cartão de memória disponível; se seus valores do cartão não estão sendo detectados, tente alterar isso para um dos outros valores (listados na página de manual pccardc(8)).

Se isto não está rodando atualmente, inicie o daemon pccardd(8). (Para habilitar isso em tempo de boot, adicione

pccard_enable="YES"
      
para o arquivo /etc/rc.conf .) Agora seu cartão deve ser detectado quando você inserir ou removê-lo, e você deve acompanhar o log de mensagens sobre os novos dispositivos sendo habilitados.

Algumas mudanças principais no código do pccard foram feitas antes da liberação do FreeBSD 4.4 (incluindo o roteamento das interrupções, para máquinas onde o FreeBSD não é capaz de usar a BIOS PCI). Se você tiver problemas, tente atualizar o seu sistema.


4. Gerenciamento de energia

Infelizmente, isso não é muito seguramente suportado no FreeBSD. Se você tiver com sorte, muitas funções podem funcionar confiantemente; no entanto elas podem não trabalhar no seu todo.

Para tornar as coisas um pouco mais complexas, existem dois padrões para o gerenciamento de energia: APM e ACPI, o último substituindo o anterior e incluindo mais características, mas também introduzindo mais problemas.

Muitos laptops suportam ambos APM e ACPI (até um determinado grau), outros somente suportam um deles, assim as possibilidades são que você tenha que experimentar ambos para ter um gerenciamento de energia confiável em seu laptop.

Nota: Você não pode ter APM e ACPI habilitados ao mesmo tempo, mesmo se o seu laptop tenha suporte para ambos.


4.1. APM

A BIOS APM (Gerenciamento de Energia Avançado) providencia suporte para várias características de gerenciamento de energia, tais como: modo espera, suspensão, hibernação, retardamento do Clock da CPU etc. e está disponível dentro do FreeBSD 4.X e FreeBSD 5.X.

Para habilitar o suporte APM, você pode compilar o kernel com suporte ao gerenciamento de energia ( device apm0 no FreeBSD 4.X e device apm no FreeBSD 5.X). Um módulo do kernel para APM está disponível dentro FreeBSD 5.X, para simplificar o carregamento do módulo APM do kernel no boot, adicionando a linha apm_load="YES" para /boot/loader.conf.

No FreeBSD 5.X, você também pode setar hint.apm.0.disabled="0" no /boot/device.hints.

Você pode iniciar o APM em tempo de boot tendo apm_enable="YES" no /etc/rc.conf. Você pode também querer iniciar o deamon apmd(8) adicionando apmd_enable="YES" para o arquivo /etc/rc.conf, o qual cuida dos vários eventos do APM que são afixados à BIOS, então você pode ter no seu laptop supensão /resumo pressionando algumas teclas de funções chaves no teclado ou fechando/abrindo a tampa do laptop.

Os comandos APM estão listados na página do manual apm(8). Por exemplo, apm -b retorna para você o status da bateria. (ou 255 se não suportado), apm -Z coloca o laptop em modo espera, apm -z (ou zzz ) suspende isso. Pata reiniciar e desligar a máquina, use o comando shutdown -p. Entretanto, algumas ou todas estas funções podem não trabalhar muito bem ou no seu todo.

Você pode achar que suspensão/modo espera do laptop trabalha no modo console mas não dentro do X (isto é, a tela não vai aparecer agora); se você está rodando FreeBSD 5.X, uma solução para isto pode ser colocar options SC_NO_SUSPEND_VTYSWITCH no arquivo de configuração do kernel e recompilar o mesmo. Um outro jeito é trocar para um console virtual (usando Ctrl +Alt+F1 ou outra função chave) e ele executa apm(8) . Você pode automatizar isso com vidcontrol(1), se você estiver rodando apmd(8). Simplismente edite /etc/apmd.conf e altere isso para:

apm_event SUSPENDREQ {
 exec "vidcontrol -s 1 < /dev/console";
 exec "/etc/rc.suspend";
}

apm_event USERSUSPENDREQ {
 exec "vidcontrol -s 1 < /dev/console";
 exec "sync && sync && sync";
 exec "sleep 1";
 exec "apm -z";
}

apm_event NORMRESUME, STANDBYRESUME {
 exec "/etc/rc.resume";
 exec "vidcontrol -s 9 < /dev/console";
}

4.2. ACPI

ACPI (Configuração Avançada e Interface de Gerenciamento de Energia) providencia não somente o gerenciamento de energia, mas também descobre a plataforma do hardware (substituindo PnP e a BIOS PCI). ACPI somente é disponível dentro do FreeBSD 5.X e é habilitado por padrão, então você não precisa fazer nenhuma coisa em especial para ter isso rodando. Você pode controlar o comportamento da ACPI com acpiconf(8).

Infelizmente, os fabricantes enviam seus laptops com execuções quebradas da ACPI, assim tendo ACPI habilitado somente causa mais problemas do que está sendo útil, até o ponto que você não pode mais carregar o FreeBSD em algumas máquinas com APCI habilitado.

Se ACPI está causando problemas, você pode verificar se o fabricante do seu laptop tem lançado uma nova versão da BIOS que conserta alguns bugs. Desde o FreeBSD a implementação ACPI está ainda envolvendo muitos códigos, você pode também querer atualizar seu sistema; existem chances do seu problema ter sido resolvido.

Se você quiser desabilitar a ACPI simplesmente adicione hint.acpi.0.disabled="1" para o arquivo /boot/device.hints. Você pode desabilitar a ACPI temporariamente no prompt de boot colocando unset acpi_load, se você está tendo problemas carregando uma máquina com ACPI habilitado. FreeBSD 5.1-RELEASE e superiores vêm com um menu boot-time que controla como o FreeBSD está carregando. Uma das opções propostas é desligar a ACPI. Então para desabilitar a ACPI selecione 2. Boot FreeBSD with ACPI disabled no menu.


4.3. Monitor de Gerenciamento de Energia

O sistema X window (XFree86) também inclui um monitor de gerenciamento de energia (olhe na página do manual xset(1), e procure por dpms nele). Você pode querer investigar isso. Entretanto, isso também trabalha inconsistentemente em laptops: isso geralmente desliga o monitor mas não desliga o led luminoso.


Este, e outros documentos, podem ser obtidos em ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Para perguntas sobre FreeBSD, leia a documentação antes de contatar <questions@FreeBSD.org>.
Para perguntas sobre esta documentação, envie e-mail para <doc@FreeBSD.org>.