[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