Dokumentacja Beam Bench

Uprawnienia do portu szeregowego w systemie Linux

Beam Bench nie może otworzyć portu szeregowego, ponieważ użytkownik nie ma wymaganych uprawnień. Rozwiąż problem, dodając użytkownika do grupy dialout.

Objawy

W systemie Linux podłączasz laser. Port szeregowy istnieje (/dev/ttyUSB0 lub /dev/ttyACM0), ale:

  • Beam Bench nie wyświetla go na liście rozwijanej lub
  • Beam Bench podczas łączenia wyświetla komunikat „Permission denied”.

Co się dzieje

Linux chroni porty szeregowe za pomocą uprawnień systemu plików. Domyślnie tylko grupa dialout może uzyskiwać dostęp do urządzeń szeregowych. Jeśli użytkownik nie należy do tej grupy, nie można otworzyć portu.

Rozwiązanie

Sprawdzenie, czy port jest widoczny na poziomie systemu operacyjnego

ls -la /dev/ttyUSB* /dev/ttyACM*

Jeśli wyświetlają się wpisy z crw-rw---- 1 root dialout lub podobne, port istnieje, ale dostęp do niego jest ograniczony do grupy dialout.

Dodanie użytkownika do grupy dialout

sudo usermod -aG dialout $USER

Wyloguj się i zaloguj ponownie, aby zmiana grupy zaczęła obowiązywać. (Ponowne uruchomienie komputera również zadziała). Sprawdź za pomocą:

groups

Na liście powinno pojawić się dialout.

Jeśli dystrybucja używa innej nazwy grupy

Niektóre dystrybucje używają uucp (Arch) lub tty zamiast dialout. Sprawdź grupę portu:

ls -la /dev/ttyUSB0

Grupa znajduje się w czwartej kolumnie. Dodaj użytkownika do tej grupy.

Sprawdzenie działania portu

Po ponownym zalogowaniu:

echo '?' > /dev/ttyUSB0

Polecenie nie powinno powodować błędu uprawnień. Odczyt danych zwrotnych jest bardziej złożony (użyj screen, minicom lub po prostu otwórz Beam Bench).

Jeśli port nadal nie pojawia się w Beam Bench

  • Potwierdź, że system operacyjny go widzi (ls /dev/tty*).
  • Potwierdź, że użytkownik ma do niego dostęp (stat -c "%U %G" /dev/ttyUSB0 oraz lista grup użytkownika).
  • Uruchom ponownie Beam Bench, aby ponownie przeskanował listę urządzeń systemu operacyjnego.

Jeśli używasz flatpak / snap / appimage z mechanizmem piaskownicy

Niektóre pakowane formaty aplikacji dla systemu Linux mają ograniczony dostęp do urządzeń. Sprawdź dokumentację używanego formatu pakietu. W przypadku AppImage może być konieczne uruchomienie z opcją --no-sandbox lub jawne przyznanie dostępu do urządzeń.

Sprawdzenie poprawnego działania

  • Lista rozwijana portów w Beam Bench wyświetla używany port.
  • Połączenie zostaje nawiązane.
  • Konsola wyświetla powitalny komunikat GRBL.

Nadal masz problem?

On this page