web-dev-qa-db-ja.com

Ubuntu:シリアルポートへの書き込み:許可が拒否されました

USBをシリアルブリッジドングルに接続し、dmesg | grep ttyを実行すると次のように出力されました。

[    0.000000] console [tty0] enabled
[603199.380677] usb 2-2: cp210x converter now attached to ttyUSB0

だから今私は次のように実行して この前の質問の答え に従ってそれに書き込もうとしています:

cat hello.txt > /dev/ttyUSB0

そして

Sudo cat hello.txt > /dev/ttyUSB0

ただし、どちらも次のエラーが発生します。

bash: /dev/ttyUSB0: Permission denied

私は何が間違っているのですか?

ありがとう

4
CL22

それでもSudoを使用してポートにアクセスする場合、問題はcatがroot権限で実行されているが、リダイレクトが実行されていないことです。 cat hello.txt | Sudo tee /dev/ttyUSB0をお試しください。これは、rootとして実行されるteeツールを使用します。 stdout(端末)と指定された宛先(この場合はシリアルポート)の両方に出力します。

4
ssmy

Ubuntuのシリアルポートは「ダイヤルアウト」グループに属していることを思い出しますが、デフォルトでは。次のようなものを実行することで、このグループに自分を追加できます。

Sudo gpasswd --add jodes dialout

これを有効にする前に、ログアウトして再度ログインする必要がある場合がありますが、そうすると、USBからシリアルへのコンバーターを含むシリアルポートとの間で読み取りと書き込みができるようになります。

4