Linuxはシリアルポートが使用中であると教えてくれましたが、使用されていません


11

CrunchBang linux(Debianバリアント)では、COMポートがttyS0にあり、NFCデバイスで使用しようとしています。libnfcがNFCデバイスを認識できないと応答したので、COMポートを直接開いてみました。このために、私は使用しました:

sudo cu -l /dev/ttyS0 -s 9600

ただし、このコマンドは以下を返します。

cu: open (/dev/ttyS0): Permission denied
cu: /dev/ttyS0: Line in use

この接続を使用している可能性があるのか​​わかりません。知るために、私はすべての開いているプロセスを読み、を使用するためのフィルタリングを試みましたttyS0

ps -ef | grep tty

しかし、このコマンドでは、を使用しているものは何も表示されませんttyS0。私はまた、開いているすべてのファイルを取得し、ロックオンのためにフィルタリングしようとしましたttyS0

lsof | grep tty

しかし、これはを使用して何も返しませんttyS0

どのようにそれは可能ですcuが、両方、回線が使用中であると言うpslsof戻り何もそのラインを使用していませんか?


lsof / dev / ttyS0についてはどうですか
Ciclamino 2014

@Ciclamino変更しません-ttyはのサブストリングです/dev/ttyS0。ただし、他のすべてのttyは非表示になります。

私も同じ問題を抱えてる。minicom正常に動作しますがcuscreenとの会話を拒否し/dev/ttyUSB0ます。uucpdialoutグループにユーザーを追加してログアウトすることをお勧めしましたが、役に立ちませんでした。
2015年

回答:


12

回線の実際の使用法はおそらくありませんが、許可の問題があります。私のためにテストするための迅速で汚い方法は実行することでした:

ls -la /dev/ttyUSB0
sudo chmod 666 /dev/ttyUSB0

そして再試行してくださいcu。それが機能し始めたら、それぞれのudevファイルとユーザーのパーミッション/グループに注意する必要があります。私のデバイスでは、次のようになりました(plugdevグループのメンバー):

> cat /etc/udev/rules.d/42-CP210x.rules 
ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", SUBSYSTEMS=="usb",
ACTION=="add", MODE="0666", GROUP="plugdev"

2

シリアルデバイス権限は、dialoutグループのメンバーに付与されます。接続する/dev/ttyS0には、次のコマンドを使用して現在のユーザーをグループに追加しました。

sudo adduser <username> dialout


1

これはのバグのようcuです。これを解決するには/dev/ttyUSB0、次のコマンドを使用して所有者グループを変更します。

chown root:root /dev/ttyUSB0
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.