Arduino funziona solo in root

4

Ho installato Arduino ma, come dice il titolo, posso caricare solo con sudo . E sì, il mio utente fa parte del gruppo dialout , quindi questa è la cosa strana.

Arduino ha funzionato prima sul mio sistema. Cosa potrebbe essere sbagliato?

Output ls -l :

ls -l /dev/ttyUSB*
crw-rw-rw- 1 root dialout 188, 0 apr  2 09:23 /dev/ttyUSB0
    
posta Sjors123 02.04.2017 - 09:45

1 risposta

1

Come mostrato nell'output del tuo comando ls , /dev/ttyUSB0 e tutti i file di dispositivo ttys simili appartengono a dialout group.

crw-rw-rw- 1 root dialout 188, 0 apr 2 09:23 /dev/ttyUSB0

Quindi devi aggiungerti a quel gruppo tramite il comando usemod :

sudo usermod -a -G dialout $USER

La modifica richiede la disconnessione e il log-in. Questa è una soluzione molto frequente e la utilizzo io stesso per tutte le schede di sviluppo che richiedono una console seriale.

Alternativa potrebbe essere la creazione di uno script udev che cambierà la proprietà di quel file ogni volta che è connesso, ma cambiare gruppo per utente è l'approccio preferito in molti casi

In particolare, dovresti esaminare l'output di dmesg per ottenere le informazioni sul fornitore e sull'ID prodotto del tuo arduino. Quindi in /etc/udev/rules.d/ potresti impostare 50-arduino.rules script. Ad esempio, ecco un esempio di ciò che uso per la scheda FPGA di Altera:

$ cat /etc/udev/rules.d/51-usbblaster.rules                                                                              
# USB-Blaster II
SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="*", \
ENV{DEVTYPE}=="usb_device",MODE="0666"

Sostituisci "09fb" con il tuo ID venditore di Arduino. ATTR parte può rimandare lo stesso. Puoi eseguire chown con l'argomento RUN . Ad esempio, usa "RUN = +" / percorso / per / chmod_script.sh root: myuser% k ". Vedi questo per maggiori informazioni.

    
risposta data Sergiy Kolodyazhnyy 02.04.2017 - 11:23

Leggi altre domande sui tag