Ich hatte Windows XP auf dieser Box und es ist fehlgeschlagen. Ich dachte, es sei ein beschädigtes Betriebssystem. Ich habe versucht, es neu zu installieren, und es ist fehlgeschlagen. Aber dann habe ich versucht, Ubuntu zu installieren, und ich konnte es nicht von USB oder von der Festplatte ausführen.
Hab den mem Test gemacht und herausgefunden, dass einer meiner 512MB Sticks (hatte 2) ausgefallen ist. Ich habe die schlechte entfernt und konnte Ubuntu installieren, aber es war träge.
Ich habe versucht, schnell mein Paketfunkgerät für den Hurrikan Sandy einzurichten. Das Serial Port Terminal wurde heruntergeladen und konnte verwendet werden, das System stürzte jedoch weiter ab. Also installierte Xubuntu daneben und plante, am nächsten Tag nicht mehr genügend RAM für die Box zu haben. Wenn Sie Xubuntu einschalten, wird der folgende Fehler mit dem seriellen Anschluss angezeigt:
Cannot open /dev/ttyS0: Permission denied
Ich möchte in der Lage sein, ein Terminal mit serieller Schnittstelle oder ein mit Xubuntu vergleichbares Terminal zu verwenden, damit ich mein kpc3-Paket-Terminal verwenden und eine Verbindung mit dem COM-Port auf der Rückseite meines Computers herstellen kann.
Irgendwelche Ideen?
quelle
/dev/ttyS0
. Was ist der mögliche Grund?dialout
nicht definiert war. Running hatnewgrp dialout
das Problem behoben.dialout
. pergroups
Befehl überprüft . Auch nach dem Anhängen des Benutzernamens an diedialout
Gruppe per Befehlsudo usermod -a username -G dialout
. Nach der Verwendungnewgrp dialout
hat dieser Befehlesptool.py -p /dev/ttyUSB0 flash_id
funktioniert.Die einzige Lösung, die für mich funktioniert, ist: (jedes Mal, wenn ich die Maschine starte)
Es muss wirklich zum Zeitpunkt der Installation behoben werden. Ich bin am 15.10 und habe 16.04 LTS ausprobiert, immer noch das selbe da. Scheint so eine einfache Lösung zu sein.
Die älteren Versionen 10.04LTS hatten dieses Problem nicht.
quelle
Sie können einfach diesen Befehl verwenden:
Dadurch wird der aktuelle Benutzer der Wählgruppe hinzugefügt. Loggen Sie sich ein und aus, um wirksam zu werden.
quelle
Unter Ubuntu 18.04 habe ich dieses Problem mit den folgenden Befehlen behoben:
Und danach neu starten.
Wenn Sie immer noch Probleme haben, versuchen Sie zu debuggen mit:
Und suchen Sie nach "verweigert" in der Straße.
quelle
Wir haben uns in verschiedenen Foren umgesehen und es scheint ein Fehler in Bezug auf Berechtigungen zu sein. Hier ist, wie ich das Problem umgangen habe (lange Version). Sie müssen BEIDE
cu
undsetserial
Pakete installiert haben.Überwachte Ausgabe von Auf drei Registerkarten
# tail -f /var/log/messages
wissen wir, ob wir eine haben/dev/ttyUSB0
oder nicht.ls -l
Führen Sie auf der zweiten Registerkarte einfach eine Schleife zu diesem Gerät aus, um die Berechtigungen anzuzeigen und die Gruppen-ID lautet "Dialout". DAS ist das kritische Stück. Aus irgendeinem Grund MUSS Ihr Benutzer diese GID verwendencu
, um ...In der dritten Registerkarte, als root, wurde
# newgrp dialout
(entsprechend der GID des Dialouts). Getestet mit# touch /tmp/anything
...ls -l
zeigt, dass diese Datei von root mit einer Dialout-Gruppe erstellt wurde. Wir sind also bereit für ...# cu -l /dev/ttyUSB0
In meinem Fall musste ich erneut die Eingabetaste drücken, um die erwartete Eingabeaufforderung zu sehen. In anderen Fällen kann Geschwindigkeit erforderlich sein um genau zu sein.quelle
Hier ist die Lösung:
Ich hatte gerade mein Betriebssystem auf Ubuntu 18 aktualisiert. Normalerweise würde ich die Arduino IDE über die Arduino Web-Sicht installieren, da die über das Ubuntu Software-Portal bereitgestellte Version immer eine ältere Version war und ich die neuesten Funktionen und Board-Unterstützung haben wollte. Da ich jedoch gerade das neueste Betriebssystem installiert habe, stellte ich fest, dass im offiziellen Software-Center von Ubuntu die neueste Version der IDE aufgeführt ist, und das tat es auch.
Nun zum saftigen Teil! Sowohl mein Laptop als auch mein Desktop hatten die gleichen Probleme beim Zugriff auf die seriellen Schnittstellen. Ich hatte den Benutzer zum Teil der Einwählgruppe gemacht und Berechtigungen für den seriellen Port festgelegt, musste mich aber immer wieder abmelden und alles bei jedem Neustart wiederholen! KEIN SPASS!.
Diesmal hat es nicht funktioniert. Auch im Software-Center wird in der Berechtigungsoption für die Software die serielle Schnittstelle "nicht verbunden" angezeigt. Es gibt keine Option, um die Berechtigung für den Port zuzulassen, auch wenn alle Berechtigungen manuell über das Terminalfenster mit sudo erteilt wurden.
Ich habe beschlossen, die Arduino IDE aus dem Software-Center zu deinstallieren und sie über die Web-Ansicht zu installieren. Dieses Mal habe ich die Installationsdateien gelesen, nur um zu sehen, ob darin Berechtigungen für die serielle Schnittstelle erwähnt sind oder nicht, ***** hat es natürlich getan! ****** Alle Ports sind mit Vollzugriffsberechtigungen eingerichtet, Benutzerzugriff auf der ganzen Linie. Es stellte sich heraus, dass dies die Antwort war. Nach dem Ausführen der von arduino bereitgestellten Datei arduino-linux-setup.sh wurden alle Probleme mit der seriellen Schnittstelle behoben. das folgende ist ein Auszug aus der
arduino-linux-setup.sh
Akte;Sie sehen also, dass sogar der KERNEL betroffen ist. Mein Vorschlag:
Installieren Sie von der Arduino Ide-Website. Ignorieren Sie das Software Center zu diesem Zeitpunkt, bis es repariert ist. Ja, das SOFTWARE-CENTER lässt während der Installation und für immer keine Berechtigungen für die serielle Schnittstelle zu.
Problem gelöst!
quelle
In meinem Fall bleibt das Problem bestehen, auch wenn ich meinen Benutzer zur Gruppe hinzufüge mit:
Also wenn ich benutze:
und wenn ich tippe:
groups
Ich habe folgendes Ergebnis:Aber wenn ich
id -Gn ilyahoo
tippe, ist der Putput:Ich weiß, dass es ein Problem gibt, von dem ich ehrlich gesagt nicht weiß, woran es liegt.
Um eine Lösung zu finden, habe ich nur getippt
und das problem wurde behoben.
quelle
Die Antwort ist einfach. Sie müssen Ihren Benutzer zu zwei Gruppen hinzufügen, um Zugriff auf die USB-Ports zu erhalten. Diese Gruppen sind
dialout
undtty
:Ersetzen Sie
<user>
in diesen Befehlen durch den tatsächlichen Benutzernamen.quelle