Wie öffne ich ein serielles Terminal für meinen USB-Gerätekonverter (oder wie aktiviere ich VCP unter Linux)?

Ich verwende ein neues Cyclone V SoC-Board von Enclustra ( Mercury+ SA2 ), das auf ihrem PE-1 BaseBoard montiert ist .

Um auf der Windows-Plattform eine serielle Verbindung zum Board herzustellen, muss ich das Board anschließen, das USB Serial Device Converterim Geräte-Manager als erkannt wird. Und als nächstes muss ich in den Eigenschaften VCP aktivieren . Dadurch wird die angeschlossene Platine jetzt als COM-Port angezeigt, sodass ich über ein serielles Terminal wie Putty darauf zugreifen kann. Dies funktioniert korrekt.

Ich versuche dasselbe auf meinem Linux-System mit Ubuntu 16.04. Das Gerät wird als ttyUSB0 erkannt. Ich habe die Aussage schon probiert screen. Die moserialGUI. Funktioniert nicht. Wie soll ich hier weiter vorgehen? Unten ist ein Screenshot: Screenshot des erkannten FTDI-ChipsDanke :)

Antworten (2)

Bitte überprüfen Sie die Berechtigungen des /dev-Knotens

$ls -la /dev/ttyUSB0

Es besteht eine hohe Wahrscheinlichkeit, dass es ihm ähneln wird

crw-rw----. 1 root dialout 188, 0 Jul 18 13:27 /dev/ttyUSB0

Ein Zeichengerät mit RW-Berechtigungen für ROOT und RW-Berechtigungen für die Dialout-Gruppe.

Überprüfen Sie in diesem Fall die Gruppenmitgliedschaft des Benutzers, der versucht, darauf zuzugreifen

$ groups

Wenn der Benutzer nicht Teil der Dialout-Gruppe ist, fügen Sie ihn hinzu

$ sudo usermod -a -G dialout $username

Der Benutzer muss sich dann abmelden und erneut anmelden, um die Gruppenberechtigungen neu zu laden

Das war großartig! Ich rannte who -u. Habe dann die PID sudo kill PID. Es hat total funktioniert! Mir fehlte der letzte wichtige Punkt, logout . Vielen Dank :)

Ihre neue serielle Schnittstelle ist /dev/ttyUSB0 (und ttyUSB1, wie Sie oben zeigen).

Da es scheint, dass Sie Probleme haben, mit 'screen' darauf zuzugreifen, würde ich vorschlagen, dass Sie sich die Berechtigungen von /dev/ttyUSB0 (und/oder ttyUSB1) ansehen.

Manchmal muss man die Berechtigung ändern, um anderen (außer root) den Zugriff auf die tty-Ports zu erlauben.

als root: chmod ugo+wr /dev/ttyUSB0

(Diese Änderung wird möglicherweise beim Neustart zurückgesetzt. Das kann mit ein wenig Googeln behoben werden.)

Was sehen Sie, wenn Sie in einem Terminal „ ls -l /dev/ttyUSB* “ ausführen?

Außerdem: Bei Putty unter Linux würde man /dev/ttyUSB0 als Port angeben (nicht COM1, etc.)

Bitte ändern Sie die Berechtigungen nicht auf diese Weise ... udev generiert Knoten nach Bedarf, SO dass beim nächsten Neustart die Berechtigungen verloren gehen. udev.rules-Datei ist der bessere Weg, solche Berechtigungen zu verwalten. Ebenso ist diese WIDE-Berechtigung ein Windows-Ansatz und nicht UNIX ... das Richtige ist, die Gruppe zu bestätigen, und es besteht eine hohe Wahrscheinlichkeit, dass ein solcher Knoten als Teil der SERIAL- oder DIALOUT-Gruppe erstellt wird, daher wäre die richtige Methode das Hinzufügen den Benutzer der Berechtigungsgruppe SERIAL/DIALOUT
Die Ausgabe von ls -l /dev/ttyUSB0ist: crw-rw-rw- 1 root dialout 188, 0 jul 18 14:18 /dev/ttyUSB0und das gleiche für /dev/ttyUSB1. Ich habe den Benutzer auch zur Gruppe dialout hinzugefügt, mit diesen Befehlen: 'sudo gpasswd -add amitabhydv dialout' überprüft mit groups amitabhydvund bekam: amitabhydv : amitabhydv adm dialout cdrom sudo dip plugdev lpadmin sambashareTried. Immer noch nichts.
Wenn Sie den Benutzer gerade zu dieser Gruppe hinzugefügt haben, müssen Sie sich abmelden, damit die Gruppen neu geladen werden
@JonRB (Re: Berechtigungen) Ich stimme voll und ganz zu, sobald Sie wissen, was funktioniert und warum es kaputt ist.
@ChrisKnudsen dachte, Sie würden es tun, dies war eher eine Notiz für Leute, die dies in Zukunft finden.
Danke @Chris, es funktioniert jetzt. Ich habe den Abmeldeschritt vermisst . :)