[Roboticalivre] ioport_duvidas

danilorcesar César danilorcesar em gmail.com
Terça Outubro 23 18:21:05 BRT 2007


O pessoal esta tendo dúvida de como utilizar o ioport.

1 - Baixe o arquivo do sítio da robótica livre (www.roboticalivre).
Entre em Downloads (Repositório de trabalhos ...) e em seguida entre
no diretório "ioport_xfree". Neste diretório você irá encontrar o
"ioport". Faça um download para o diretório /tmp.
2 - Copie o arquivo (tem que ser como root) para o diretório /usr/bin.
     Na linha de comando utilize: cp /tmp/ioport /usr/bin
     No modo gráfico é só arrastar o arquivo de um diretório para o
outro (lembre-se de estar como root).
3 - Crie os links simbólicos (tem que estar como root):
     No modo texto (terminal), entre no diretório /usr/bin e digite os
seguintes comandos:
     ln -s ioport outb (aperte enter)
     ln -s ioport outl   (aperte enter)
     ln -s ioport outw (aperte enter)
     ln -s ioport inb (aperte enter)
     ln -s ioport inl (aperte enter)
     ln -s ioport inw (aperte enter)
4 - Agora é só utilizar:
     outb 0x378 255 (enviar dados para o endereço 0x378 que poderia
ser 0x278, depende do endereçamento da porta paralela. O padrão
normalmente é o 0x378).
     outb [endereço da porta] [valor em decimal]
     inb 0x378 ou inb 0x37a (controle) ou inb 0x379 (status - a IHL
utiliza este endereço).
     inb [endereço da porta para leitura]
     Obs.: Como se trata da porta paralela, somente o root pode
acioná-la. Mas outros usuários podem utilizar o comando, desde que o
root dê permissão com o comando sudo.

Exemplo de utilização de outrios usuários:

1 - Como root execute o seguinte comando no terminal:
visudo
2 - Acrescente o usuario que irá executar os comandos outb e inb,
conforme a linha "usuario"
# User privilege specification
root    ALL=(ALL) ALL
danilo  ALL=(ALL) ALL
usuario ALL=NOPASSWD:/usr/bin/outb, /usr/bin/inb
3 - Feche o editor, salvando o arquivo com as novas configurações.
4 - Como for utilizar os comandos com o usuario cadastrado?
     Faça o login com o usuário que você cadastrou no sudo e "sempre"
execute os comandos da seguinte forma:
     sudo outb 0x378 0 ou sudo inb 0x379


Atenciosamente,


Mais detalhes sobre a lista de discussão RoboticaLivre