Originariamente inviato da *Ray*
Sono andato a dare un occhio in /dev/ e ho visto che tutti i file appartengono a root, e quindi il problema e' proprio questo.
Non proprio, direi.
Che i device appartengano a root/root (o a root/gruppoapposito) e` la norma sotto *nix, ed e` giusto cosi`. Il problema, piuttosto, e` che l'utente che lancia il programma non dispone dei privilegi per accedere il device.
La soluzione classica e` aggiungere l'utente all'apposito gruppo (p.es. dialout in debian) o cambiare i permessi.
Mi domandavo a questo punto cosa fare: il software e' di fatto un driver, quindi deve potere accedere direttamente alla porta seriale.
driver kernel space o user space?
chmoddare /dev/ttySx e' fuori discussione anche perche' non so a priori a che porta seriale sara' attaccata la mia periferica.
Invece direi che e` la soluzione migliore
O il tuo software ha bisogno dei privilegi di root, e allora c'e` poco da fare, oppure la via e` modificare i permessi del device.
Come faccio ad accedere direttamente a una porta seriale senza essere root e senza modificare i permessi di tutte le ttySx?
O scrivi un modulo kernel o non puoi