Guia do Linux/Iniciante+Intermediário/Hardware/Configurações de Dispositivos
Configurações de Dispositivos
[editar | editar código-fonte]As seções abaixo explicam como fazer configurações em dispositivos diversos no sistema Linux
como placas de rede, som, gravador de CD entre outras.
Como regra geral, para um hardware funcionar adequadamente, deve-se:
- Identificar o nome (marca, fabricante, versão, etc) do hardware. Provavelmente esta informação está no manual do computador ou pode ser obtida via software. Um programa que pode ajudar é o lshw[1]
- Descobrir quais são os módulos que fazem este hardware funcionar. Neste ponto, uma busca por palavras-chave na Internet pode ser útil.[2]
- Baixar, instalar e carregar este(s) módulo(s).
- Configurar o hardware. Normalmente, este é o passo mais complicado, já que cada hardware tem opções peculiares e exóticas.
- Baixar e instalar o software aplicativo que usa o hardware.
Os subcapítulos abaixo procuram seguir este caminho para diversos hardwares diferentes.
Configurando uma placa de rede
[editar | editar código-fonte]Para configurar sua placa de rede no Linux
siga os passos a seguir:
- Identifique se sua placa de rede é ISA ou PCI. Uma forma de verificar isso é rodar o comando lspci (que lista os dispositivos PCI). Se a placa nã aparece, provavelmente ela é ISA; neste caso pode ser preciso alterar a configuração de jumpers ou plug-and-play, evitando conflitos de hardware ou o não funcionamento da placa (veja como configura-la em [#s-hardw-metodoscfg Hardwares configuráveis por jumpers, dip-switches, jumperless e Plug-and-Play., Seção 3.4].
- Identifique a marca/modelo de sua placa. O programa
lshw
é útil para isto. Caso sua placa seja PCI ou CNR, execute o comandolspci
e veja a linha "Ethernet". - Em último caso, abra a máquina e procure a marca na própria placa. Quase todos os fabricantes colocam a marca da placa no próprio circuito impresso ou no CI principal da placa (normalmente é o maior).
- Depois de identificar a placa, será preciso carregar o módulo correspondente para ser usada no
Linux
. Em algumas instalações padrões o suporte já pode estar embutido no kernel, neste caso, você poderá pular este passo.
Para carregar um módulo, digite o comando modprobe modulo (Veja [ch-kern.html#s-kern-modprobe modprobe, Seção 16.8]) . Em placas ISA, geralmente é preciso passar a IRQ e porta de I/O como argumentos para alocar os recursos corretamente. O modprobe
tentará auto-detectar a configuração em placas ISA, mas ela poderá falhar por algum motivo. Por exemplo, para uma NE 2000: modprobe ne io=0x300 irq=10.
Para evitar a digitação destes parâmetros toda vez que a máquina for iniciada é recomendável coloca-lo no arquivo /etc/modules.conf
da seguinte forma:
options ne io=0x300 irq=10
A partir de agora, você pode carregar o módulo de sua placa NE 2000 apenas com o comando modprobe ne. O parâmetro io=0x300 irq=10 será automaticamente adicionado. Em sistemas Debian
, o local correto para colocar as opções de um módulo é em arquivos separados localizados dentro de /etc/modutils
. Crie um arquivo chamado /etc/modutils/ne
e coloque a linha:
options ne io=0x300 irq=10
Depois disso, execute o comando update-modules para o sistema gerar um novo arquivo /etc/modules.conf
com todos os módulos de /etc/modutils
e substituir o anterior.
- Após carregar o módulo de sua placa de rede, resta apenas configurar seus parâmetros de rede para coloca-la em rede. Veja [ch-rede.html#s-rede-interfaces-c Atribuindo um endereço de rede a uma interface (ifconfig), Seção 15.4.2].
Configurando uma placa de SOM no Linux
[editar | editar código-fonte]A configuração de dispositivos de audio no Linux é simples, bastando carregar o módulo da placa e ajustar o mixer. Atualmente existem 2 padrões de som no sistema Linux: OSS (Open Sound System) e ALSA (Advanced Linux Sound Architecture).
O OSS foi o primeiro padrão adotado em sistemas Linux
, que tinha como grande limitação a dificuldade em usar diversas placas e a impossibilidade dos programas utilizaram ao mesmo tempo a placa de som. O ALSA é mais novo, suporta full duplex e outros recursos adicionais, além de manter a compatibilidade com OSS. O ALSA é um padrão mais moderno e garante mais performance para a CPU da máquina, principalmente para a exibição de vídeos, etc.
Configurando uma placa de som usando o padrão OSS
[editar | editar código-fonte]OSS é o presente por padrão desde que o suporte a som foi incluído no kernel. Para configurar uma placa de som para usar este sistema de som, primeiro compile seu kernel com o suporte ao módulo de sua placa de som. Caso seja uma placa ISA, você provavelmente terá que habilitar a seção "Open Sound System" para ver as opções disponíveis (entre elas, a Sound Blaster e compatíveis). Uma olhada na ajuda de cada módulo deve ajuda-lo a identificar quais placas cada opção do kernel suporta.
Caso seu kernel seja o padrão de uma distribuição Linux
, provavelmente terá o suporte a todas as placas de som possíveis. Siga o passo a passo abaixo para configurar sua placa de som no sistema:
- Primeiro descubra se sua placa de som é ISA. Caso seja, verifique se os seus recursos estão alocados corretamente (veja [#s-hardw-conflitos Conflitos de hardware, Seção 3.6]). Caso seja PCI, AMR, execute o comando
lspci
, procure pela linha "Multimedia" e veja o nome da placa. Você também poderá executar o comandolshw
para descobrir qual placa você possui (veja [#s-hardw-findhw Listando as placas e outros hardwares em um computador, Seção 3.5]) para detalhes. - Carregue o módulo da placa de som com o comando modprobe módulo (veja [ch-kern.html#s-kern-modprobe modprobe, Seção 16.8]). Na
Debian
, você pode executar o comandomodconf
para navegar visualmente entre os módulos disponíveis e carregar os módulos necessários.
Algumas placas (principalmente ISA) requerem que seja especificado o recurso de hardware sejam passados para seu módulo, ou simplesmente você quer especificar isto para manter o uso de hardware sobre seu controle. Alguns dos parâmetros mais usados em placas Sound Blaster são os seguintes:
modprobe sb io=0x220 irq=5 dma=1 dma16=5 mpu_io=0x330
Para evitar ter que passar estes parâmetros todas as vezes para o módulo, você poderá coloca-los no arquivo /etc/modules.conf
da seguinte forma:
options sb io=0x220 irq=5 dma=1 dma16=5 mpu_io=0x330
Assim, quando der o comando modprobe sb
ele será carregado com as opções acima. Na distribuição Debian
, você deverá criar um arquivo chamado /etc/modutils/sb
contendo a linha acima, depois execute o update-modules
para "juntar" todos os arquivos do /etc/modutils
e criar o /etc/modules.conf
.
- Após carregar o módulo correto de sua placa de som, seu sistema de som deverá estar funcionando. Se você utiliza uma distribuição
Linux
, os dispositivos de som como/dev/audio
,/dev/dsp
,/dev/mixer
estarão criados e então poderá passar para o próximo passo. Caso não existam, entre no diretório/dev
e execute o comando MAKEDEV audio. - O próximo passo consiste em instalar um programa para controle de volume, tonalidade e outros recursos de sua placa de som. O recomendado é o
aumix
por ser simples, pequeno e funcional, e permitindo restaurar os valores dos níveis de volumes na inicialização (isso evita que tenha que ajustar o volume toda vez que iniciar o sistema).
Caso o aumix
apareça na tela, sua placa de som já está funcionando! Caso acesse o sistema como usuário, não se esqueça de adicionar seu usuário ao grupo audio para ter permissão de usar os dispositivos de som: adduser usuario audio .
Configurando um gravador de CD/DVD no Linux
[editar | editar código-fonte]Caso seu gravador seja IDE, veja [#s-hardw-cfgdisp-cdwritter-ide Configurando o suporte a um gravador IDE, Seção 3.11.3.1] caso seja um autêntico gravador com barramento SCSI, vá até [#s-hardw-cfgdisp-cdwritter-scsi Configurando o suporte a um gravador SCSI, Seção 3.11.3.2].
Configurando o suporte a um gravador IDE
[editar | editar código-fonte]Caso tenha um gravador IDE e use um kernel 2.6 ou superior, não é necessário fazer qualquer configuração, pois seu gravador já está pronto para ser usado, sendo acessado através de seu dispositivo tradicional (/dev/hdc
, /dev/hdd
, etc). De qualquer forma, você poderá realizar a configuração da unidade IDE com emulação SCSI, assim como utilizava no kernel 2.4 e inferiores seguindo as instruções abaixo.
Para configurar seu gravador de CD/DVD IDE para ser usado no Linux
usando o método para o kernel 2.4 e inferiores, siga os seguintes passos:
- Tenha certeza que compilou o suporte as seguintes características no kernel:
Em "ATA/IDE/MFM/RLL support" marque as opções: * Include IDE/ATAPI CDROM support * SCSI emulation support Depois em "SCSI support" marque as opções: * SCSI support M SCSI CD-ROM Support M SCSI Generic Support
As opções marcadas como "*" serão embutidas no kernel e as "M" como módulos. Note que ambas as opções "IDE/ATAPI CDROM" e "SCSI Emulation" foram marcadas como embutidas. Isto faz com que o driver ATAPI tenha prioridade em cima do SCSI, mas vou explicar mais adiante como dizer para o kernel para carregar o suporte a SCSI para determinada unidade. Isto é útil quando temos mais de 1 unidade de CD IDE no sistema e queremos configurar somente o gravador para SCSI, pois alguns aplicativos antigos não se comunicam direito tanto com gravadores SCSI como emulados. Você também pode marcar somente a opção "SCSI Emulation" para que sua(s) unidade(s) seja(m) automaticamente emulada(s) como SCSI. Caso tenha usado esta técnica, vá até a seção [#s-hardw-cfgdisp-cdwritter-teste Testando o funcionamento, Seção 3.11.3.3].
- O próximo passo é identificar o dispositivo de CD/DVD. Isto é feito através do comando dmesg. Supondo que sua unidade de CD é "hdc" (primeiro disco na segunda controladora IDE) e que compilou ambos o suporte a "IDE ATAPI" e "SCSI emulation" no kernel, adicione o argumento "hdc=ide-scsi" no
/etc/lilo.conf
ou nogrub
:
# Lilo vmlinuz=/vmlinuz append="hdc=ide-scsi"
Isto diz para o kernel que a unidade "hdc" usará emulação "ide-scsi". Caso tenha outras unidades de CD no sistema, estas ainda utilização ATAPI como protocolo de comunicação padrão. Execute o lilo
para gerar novamente o setor de inicialização com as modificações e reinicie o computador.
OBS: Cuidado ao colocar um disco rígido IDE como hdc
! A linha hdc=ide-scsi deverá ser retirada, caso contrário, seu disco rígido não será detectado.
Agora, siga até [#s-hardw-cfgdisp-cdwritter-teste Testando o funcionamento, Seção 3.11.3.3].
Configurando o suporte a um gravador SCSI
[editar | editar código-fonte]Caso tenha um autentico gravador SCSI, não será preciso fazer qualquer configuração de emulação, a unidade estará pronta para ser usada, desde que seu suporte esteja no kernel. As seguintes opções do kernel são necessárias para funcionamento de gravadores SCSI:
Depois em "SCSI support" marque as opções: * SCSI support M SCSI CD-ROM Support M SCSI Generic Support
Além disso, deve ser adicionado o suporte EMBUTIDO no kernel a sua controladora SCSI. Se o seu disco rígido também é SCSI, e seu CD está ligado na mesma controladora SCSI, ela já está funcionando e você poderá seguir para o passo [#s-hardw-cfgdisp-cdwritter-teste Testando o funcionamento, Seção 3.11.3.3]. Caso contrário carregue o suporte da sua placa adaptadora SCSI antes de seguir para este passo.
Testando o funcionamento
[editar | editar código-fonte]Para testar se o seu gravador, instale o pacote wodim
e execute o comando: wodim -scanbus para verificar se sua unidade de CD-ROM é detectada.
Você deverá ver uma linha como:
scsibus0: 0,0,0 0) 'CREATIVE' 'CD-RW RWXXXX ' '1.00' Removable CD-ROM 0,1,0 1) * 0,2,0 2) *
O que significa que sua unidade foi reconhecida perfeitamente pelo sistema e já pode ser usada para gravação. Vá até a seção [ch-tasks.html#s-tasks-cdwriting Gravando CDs e DVDs no Linux, Seção 24.1] para aprender como gravar CDs no Linux
. Note que gravadores IDE nativos, não são listados com esse comando.
Configurando o gerenciamento de energia usando o APM
[editar | editar código-fonte]O APM (Advanced Power Management - Gerenciamento Avançado de Energia) permite que sistemas gerenciem características relacionadas com o uso e consumo de energia do computador. Ele opera a nível de BIOS e tenta reduzir o consumo de energia de várias formas quando o sistema não estiver em uso (como reduzindo o clock da CPU, desligar o HD, desligar o monitor, etc.).
O uso de advanced power management também permite que computadores com fonte de alimentação ATX sejam desligados automaticamente quando você executa o comando halt
. Caso sua máquina tenha suporte a ACPI, este deverá ser usado como preferência ao invés do APM por ter recursos mais sofisticados (veja [#s-hardw-cfgdisp-acpi Configurando o gerenciamento de energia usando ACPI, Seção 3.11.5]).
Para ativar o suporte a APM no Linux
, compile seu kernel com o suporte embutido a APM e também a "Advanced Power Management" (senão sua máquina não desligará sozinha no halt). Caso deseje compilar como módulo, basta depois carregar o módulo apm
adicionando no arquivo /etc/modules
. Depois disso instale o daemon apmd
para gerenciar as características deste recurso no sistema.
Você pode desativar o uso de APM de 3 formas: removendo seu suporte do kernel, passando o argumento apm=off (quando compilado estaticamente no kernel) ou removendo o nome do módulo do arquivo /etc/modules
(quando compilado como módulo). Depois disso remova o daemon apmd
.
Configurando o gerenciamento de energia usando ACPI
[editar | editar código-fonte]O ACPI (Advanced Configuration and Power Interface - Interface de Configuração e Gerenciamento de Energia Avançado) é uma camada de gerenciamento de energia que opera a nível de sistema operacional. Apresenta os mesmos recursos que o APM, e outros como o desligamento da máquina por teclas especiais de teclado, controle de brilho e contraste de notebooks, suspend para RAM, suspend para disco, redução de velocidade de CPU manualmente, monitoramento de periféricos, temperatura, hardwares, etc.
Desta forma, o ACPI varia de sistema para sistema em questões relacionadas com suporte a recursos especiais, estes dados são armazenados em tabelas chamadas DSDT. O Linux
inclui suporte a recursos ACPI genéricos entre placas mãe, recursos específicos devem ser extraídos diretamente da BIOS e disassemblados manualmente para a construção de um kernel com suporte específico a tabela DSDT do hardware (não falarei das formas de se fazer disso aqui, somente do suporte genérico).
Quanto mais nova a versão do kernel, maiores as chances do seu hardware ser suportado plenamente pelo ACPI, principalmente no caso de notebooks. Para compilar estaticamente, marque com Y a opção ACPI, depois marque os módulos que você quer que ele monitore: button (botão power), fan (ventoinhas), etc. Se compilou como módulo, adicione o nome do módulo acpi no arquivo /etc/modules
. Não há problema em compilar também o suporte a APM, pois não causará problemas com um kernel com ACPI também compilado.
Caso não saiba quais módulos ACPI seu sistema aceita, marque o suporte a todos e carregue-os. Após isto, entre no diretório /proc/acpi
e de um ls entrando nos diretórios e vendo se existem arquivos dentro deles. Remova o módulo correspondente daqueles que não tiver conteúdo.
Após isto, instale o daemon acpid
e configure-o para monitorar algumas características do seu sistema. Por padrão o acpid
monitora o botão POWER, assim se você pressionar o power, seu sistema entrará automaticamente em run-level 0, fechando todos os processos e desligando sua máquina.
O suporte a ACPI pode ser desativado de 3 formas: Removendo seu suporte do kernel, passando o argumento acpi=off ao kernel (caso esteja compilado estaticamente) ou removendo o módulo de /etc/modules
(caso tenha compilado como módulo. Após isto, remova o daemon acpid
do seu sistema.
Ativando WakeUP on Lan
[editar | editar código-fonte]Algumas placas mãe ATX possuem suporte a este interessante recurso, que permite que sua máquina seja ligada através de uma rede. Isto é feito enviando-se uma sequência especial de pacotes diretamente para o MAC (endereço físico) da placa de rede usando um programa especial. Para usar este recurso, seu sistema deverá ter as seguintes características:
- Placa mãe ATX
- Fonte de alimentação ATX compatível com o padrão 2.0, com fornecimento de pelo menos 720ma de corrente na saída 3v.
- Placa de rede com suporte a WakeUP-on-Lan (WOL), você poderá confirmar isto vendo um conector branco de 3 terminais instalado na placa que é o local onde o cabo wake-up é conectado.
- Suporte na BIOS também deverá ter a opção para WakeUP-on-Lan.
Com todos esses ítens existentes, instale em uma máquina da rede o pacote etherwake
. Depois disso, pegue o MAC address a placa de rede da máquina que tem o wakeup on lan e na máquina da rede onde instalou o pacote execute o seguinte comando:
ether-wake AA:BB:CC:DD:EE:FF
Onde AA:BB:CC:DD:EE:FF é o endereço MAC da placa de rede. A máquina deverá ligar e realizar o procedimento padrão de POST normalmente. Algumas das situações onde o WOL não funciona é quando sua rede é controlada por Switches (devido a natureza de funcionamento deste equipamentos) ou caso esteja atrás de um roteador que não faz proxy arp.
Resolução de problemas
[editar | editar código-fonte]Kernel já tem um módulo - mas este módulo está errado
[editar | editar código-fonte]Neste caso, a solução é simples: coloque o módulo errado na lista negra de módulos. Para mais detalhes, ver Kernel e módulos/modprobe.
Dois módulos com o mesmo nome mas em lugares diferentes
[editar | editar código-fonte]Pode acontecer que um dispositivo tenha um programa de instalação para Linux, mas este programa pode não estar corretamente costumerizado. Neste caso, é possível que após os comandos de construção do módulo, normalmente:
- ./configure
- make
- make install
o módulo compilado não seja usado, e o sistema esteja ainda utilizando uma versão antiga e errada do módulo. Para verificar isto, usar a função Kernel e módulos/modinfo junto com a função Como obter ajuda no sistema/locate:
- modinfo nome-do-módulo # mostra onde está o módulo instalado
- locate nome-do-módulo # mostra se existem outras versões