Korzystam z Arduino IDE w Ubuntu i mam problemy z portem szeregowym. Działało to w przeszłości, ale z powodów, które mogą być niepotrzebne, czułem potrzebę zmiany własności niektórych plików z własności root na własność moich użytkowników.
To sprawiło, że IDE działało poprawnie, ale straciłem możliwość używania poprawnego portu szeregowego. W folderze deweloperskim wymagany port jest wymieniony jako pozwolenie 166. Ktoś (kto nie jest już w okolicy, aby mi pomóc) zamienił uprawnienia na 666, co sprawiło, że wszystko działało wspaniale.
Jednak przywrócono go z powrotem, gdy tylko zrestartowałem komputer i jeśli teraz spróbuję użyć polecenia:
sudo chmod 666 ttyACM0
nic się nie dzieje. Brak komunikatów o błędach, ale także brak zmiany uprawnień.
Jak mogę to zmienić i jak mogę to zmienić na stałe?
Przepraszam, jeśli to pytanie jest zbyt uproszczone lub niejasne, jestem ubuntu noob i nie żałuję opinii!
źródło
Odpowiedzi:
Problem z uprawnieniami do
/dev/ttyACM0
można rozwiązać na stałe, dodając się dodialout
grupy. Musisz się wylogować, a następnie zalogować ponownie, zanim zmiana grupy zostanie rozpoznana.Możesz to zrobić za pomocą
sudo usermod -a -G dialout $USER
źródło
Nie mogłem uzyskać sugestii Rinzwind do działania, ponieważ narzekałem, że konto użytkownika już istnieje. Zamiast tego użyłem tego polecenia, aby dodać istniejącego użytkownika (
terrik
) do istniejącej grupy (dialout
), jak opisano na Wiki Pomocy Ubuntu .Przydatne jest także to polecenie do wyświetlania twoich bieżących grup, chociaż jak mówi Rinzwind, musisz się wylogować i zalogować, zanim port szeregowy zacznie Cię wpuszczać.
źródło
Nie mogłem sprawić , by odpowiedź Terrika zadziałała , ale mógłbym, gdyby dokonałem tego drobnego dostosowania ścieżki
ttyACM0
.Zamieściłbym jako komentarz, ale nie mam jeszcze do tego przywilejów ...
źródło
sudo chmod 666 /dev/ttyACM0
i nie działa przy ponownym uruchomieniu. Czy ktoś ma rozwiązanie?Inną możliwością jest utworzenie pliku reguł w
/etc/udev/rules.d/
katalogu. Miałem podobny problem i utworzyłem50-myusb.rules
plik w powyższym katalogu z tą zawartością:Zauważ, że da to każdemu urządzeniu podłączonemu do gniazda ttyACM uprawnienia do odczytu / zapisu. Jeśli potrzebujesz tylko określonego urządzenia, aby uzyskać uprawnienia do odczytu / zapisu, musisz również sprawdzić
idVendor
iidProduct
. Możesz je znaleźć, uruchamiająclsusb
polecenie dwa razy, raz bez podłączonego urządzenia i raz, gdy jest podłączone, a następnie obserwuj dodatkowy wiersz na wyjściu. Tam zobaczysz coś takiegoBus 003 Device 005: ID ffff:0005
. W tym przypadkuidVendor = ffff
iidProduct = 0005
. Twój będzie inny. Następnie zmodyfikuj plik reguł, aby:Teraz tylko to urządzenie otrzymuje uprawnienia. Przeczytaj to, aby dowiedzieć się więcej o pisaniu reguł udev.
źródło
Spróbuj wejść do System / Users and Groups i zaznaczyć pole swojej nazwy użytkownika w grupie TTY.
źródło
[Errno 13] Permission denied: '/dev/ttyACM0'
. Oprócztty
grupy użytkownik jest również wdialout
grupie. Linux Mint 17.1.sudo chmod a+rw /dev/ttyACM0