Unter CrunchBang Linux (Debian-Variante) habe ich einen COM-Port ttyS0
, den ich mit einem NFC-Gerät verwenden möchte. libnfc antwortete, dass keine NFC-Geräte angezeigt werden konnten, daher habe ich versucht, den COM-Port direkt zu öffnen. Dafür habe ich verwendet:
sudo cu -l /dev/ttyS0 -s 9600
Dieser Befehl gibt jedoch Folgendes zurück:
cu: open (/dev/ttyS0): Permission denied
cu: /dev/ttyS0: Line in use
Ich weiß nicht, was diese Verbindung möglicherweise verwenden könnte. Um dies herauszufinden, habe ich versucht, alle offenen Prozesse zu lesen und nach folgenden Elementen zu filtern ttyS0
:
ps -ef | grep tty
Für diesen Befehl wird jedoch nichts angezeigt, das verwendet wird ttyS0
. Ich habe auch versucht, alle geöffneten Dateien abzurufen und nach einer Sperre zu filtern ttyS0
:
lsof | grep tty
dies gibt aber nichts mit zurück ttyS0
.
Wie ist es möglich, cu
dass die Zeile verwendet wird, aber beide ps
und lsof
nichts über diese Zeile zurückgeben?
/dev/ttyS0
. Das verbirgt jedoch alle anderen ttys.minicom
funktioniert gut, abercu
undscreen
weigern sich zu sprechen/dev/ttyUSB0
. Ich wurde geraten , meinen Benutzer des hinzuzufügenuucp
unddialout
Gruppen und ausloggen das hat nicht geholfen.Antworten:
Es gibt wahrscheinlich keine wirkliche Nutzung der Leitung, aber ein Berechtigungsproblem. Der schnelle und schmutzige Weg, um für mich zu testen, bestand darin, Folgendes auszuführen:
und erneut versuchen
cu
. Wenn es funktioniert, müssen Sie sich um die jeweiligeudev
Datei und die Benutzerberechtigungen / -gruppen kümmern . Für mein Gerät sah es so aus (Mitglied in einerplugdev
Gruppe zu sein):quelle
Serielle Geräteberechtigungen werden Mitgliedern der
dialout
Gruppe gewährt . Um eine Verbindung herzustellen, habe/dev/ttyS0
ich den aktuellen Benutzer der Gruppe hinzugefügt, indem ich:sudo adduser <username> dialout
quelle
Es scheint, dass dies ein Fehler ist
cu
. Ich habe dieses Problem gelöst, indem ich die Eigentümergruppe/dev/ttyUSB0
mithilfe des folgenden Befehls geändert habe:quelle