Não creio que vá resolver, mas o usuário tem permissão de leitura e escrita no /dev/lp0? Faz parte do grupo lp ou coisa do tipo?

Pra ler da paralela, não seria suficiente fazer algo como
cat /dev/lp0
?

Ou abrir um stream de leitura direto do device... não entendo muito dessa parte em java.


--
Marcos

On 15-08-2006 10:40, Rafael Gimenes Leite wrote:
Galera, blz! estou com um problemas interessante.

Sei que o problema é Java! mas tem haver com direitos.
Como root funciona, como usuário não funciona, e minha aplicação irá rodar como usuário.

Segue um resumo do problema.


Estou usando uma biblioteca para se comunicar com a porta paralela
/dev/lp0
Só que na verdade o código faz referência diretamente ao endereço da porta 0x378.
O nome da biblioteca que uso no java é o LibParPort.
Como disse ela faz referência diretamente ao endereço 0x378, então acredito que eu tenha que dar direitos no nesse endereço, estou ficando meio louco já pessoal me ajude!


Espero ajuda por favor, é inviável usar o sudo pois essa aplicação faz outras coisas que comprometem a segurança.


Segue o código que funciona como root.

public void RecebeValorParalela ()
    {
          ParallelPort lpt1 = new ParallelPort(0x378);
          int aByte;
          aByte = lpt1.read(); // read a byte from the port's STATUS pins
          System.out.println("Leu Paralela: " + aByte);
} // Fim do método RecebeValorParalela
Segue o erro que dá quando executo o código com o usuário normal.


ioperm error: Operation not permitted

An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : 11 occurred at PC=0xB79618FB
Function=(null)
Library=/usr/java/j2sdk1.4.2_04/jre/lib/i386/libparport.so

.....


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Responder a