CrunchBang linux(Debianバリアント)では、ttyS0
にCOMポートがあります。これは、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
が回線が使用中であると言っているのに、ps
とlsof
はどちらもその回線を使用して何も返さないのはなぜですか。
行の実際の使用法はおそらくありませんが、許可の問題があります。私のためにテストする迅速で汚い方法は実行することでした:
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"
シリアルデバイス権限は、dialout
グループのメンバーに付与されます。 /dev/ttyS0
に接続するには、次のコマンドを使用して現在のユーザーをグループに追加しました。
Sudo adduser <username> dialout
これはcu
のバグのようです。これを解決するには、次のコマンドを使用して/dev/ttyUSB0
の所有者グループを変更します。
chown root:root /dev/ttyUSB0