このボックスにWindows XPがあり、失敗しました。 OSが破損していると思い、再インストールを試みましたが失敗しました。しかし、その後、Ubuntuをインストールしようとしましたが、USBまたはHDから実行できませんでした。
mem testを実行し、512MBスティックの1つ(2があった)が失敗したことを発見しました。悪いものを削除し、Ubuntuをインストールできましたが、動作が遅くなりました。
ハリケーンサンディのパケットラジオをすばやくセットアップしようとしていました。シリアルポートターミナルをダウンロードし、使用できるようになりましたが、システムはロックし続けました。そのため、Xubuntuをその隣にインストールし、翌日のうちにRAMを入手して箱に入れることを計画しています。 Xubuntuをオンにすると、シリアルポートターミナルで次のエラーが表示されます。
Cannot open /dev/ttyS0: Permission denied
シリアルポートターミナルまたは同等のXubuntuを使用して、kpc3パケットターミナルを使用して、コンピューターの背面にあるcomポートに接続できるようにしたいと思います。
何か案は?
Ttyデバイスは「dialout」グループに属します。あなたはこのグループのメンバーではないため、/ dev/ttyS0へのアクセスが拒否されていると思われるため、そのグループに自分を追加する必要があります。
あなたがそのグループのメンバーであるかどうかを最初に確認してください:
groups ${USER}
..これは、所属するすべてのグループをリストします。ダイアルアウトグループに所属していない場合は、次のように自分を追加します。
Sudo gpasswd --add ${USER} dialout
次に、ログアウトしてから再度ログインして、有効にする必要があります。次に、問題が解決するかどうかを確認します。
私のために働く唯一の解決策は次のとおりです:(マシンを起動するたびに)
Sudo chmod 666 /dev/ttys0
本当にインストール時に修正する必要があります。私は15.10で、16.04 LTSを試しましたが、まだ同じです。このような単純な修正のようです。
古いバージョン10.04LTSにはこの問題はありませんでした。
さまざまなフォーラムを調べてみたところ、権限に関連するバグのようです。問題を回避する方法は次のとおりです(長いバージョン)。 cu
とsetserial
の両方のパッケージをインストールする必要があります。
3つの端末タブで、# tail -f /var/log/messages
からの出力を監視しているのは、/dev/ttyUSB0
があるかどうかを知る方法です。
2番目のタブで、このデバイスをls -l
にループして、アクセス許可とグループIDが「ダイヤルアウト」であることを確認します。これが重要なビットです。何らかの理由で、ユーザーはこのGIDを使用してcu
を実行する必要があるため、...
3番目のタブで、ルートとして# newgrp dialout
を実行しました(ダイヤルアウトのGIDに対応するため)。 # touch /tmp/anything
でテスト...このファイルでls -l
を実行すると、ダイヤルアウトグループを使用してrootによって作成されたことが示されるため、準備が整いました... # cu -l /dev/ttyUSB0
速度を指定する必要がある場合があります。
次のコマンドを使用できます。
Sudo adduser $USER dialout
これにより、現在のユーザーがダイヤルアウトグループに追加されます。ログインしてから有効にします。
Ubuntu 18.04では、次のコマンドを使用してこの問題を修正しました。
Sudo usermod -a -G tty $USER
Sudo usermod -a -G dialout $USER
そして、この後、再起動します。
それでも問題が解決しない場合は、次を使用してデバッグしてください。
strace -ff <COMMAND> > strace.txt 2>&1
そして、トレースで「拒否」を探します。
私の場合、次を使用してユーザーをグループに追加しても、問題は依然として存在します。
だから私が使用するとき:
Sudo gpasswd --add ${USER} dialout
と入力すると:groups
この結果が得られました:
ilyahoo adm cdrom Sudo dip plugdev lpadmin sambashare
しかし、id -Gn ilyahoo
と入力すると、putputは次のようになります。
ilyahoo adm tty dialout cdrom Sudo dip plugdev lpadmin sambashare
私はそれが正直に何であるかわからないという問題があることを知っています。
入力したソリューションを取得するには
newgrp ilyahoo
そして問題は修正されました。
解決策は次のとおりです。
オペレーティングシステムをUbuntu 18に更新しました。通常、ArduinoのWebサイトからarduino IDEをインストールします。Ubuntuソフトウェアポータルで提供されるものは常に古いバージョンであり、最新の機能とボードが必要でした。サポート。しかし、最新のオペレーティングシステムをインストールしたばかりなので、ubuntuの公式ソフトウェアセンターにはIDEの最新バージョンがリストされているはずだと考えました。
ジューシーな部分に!ラップトップとデスクトップの両方で、シリアルポートへのアクセスで同じ問題が発生しました。私はユーザーをダイヤルアップグループの一部にし、シリアルポートのアクセス許可を設定しましたが、常にログアウトしてから再度ログインする必要がありました。楽しくない!。
今回はうまくいきませんでした。ソフトウェアセンターでも、ソフトウェアのアクセス許可オプションにシリアルポートが「切断」されていることが示されています。 Sudoを使用してターミナルウィンドウからすべてのアクセス許可を手動で許可した後でも、ポートへのアクセス許可を許可するオプションはありません。
Arduino IDEをソフトウェアセンターからアンインストールし、Webサイトからインストールすることにしました。今回は、インストールファイルを読んで、シリアルポートのアクセス許可が記載されているかどうかを確認するために、もちろん*****しました。 ******すべてのポートには、フルアクセス許可、ユーザーアクセスが全面的に設定されています。これが答えだったことがわかります。 arduinoが提供するarduino-linux-setup.shファイルを実行すると、シリアルポートの問題はすべて解決されました。以下は、arduino-linux-setup.sh
ファイルからの抜粋です。
echo ""
echo "******* Add User to dialout,tty, uucp, plugdev groups *******"
echo ""
Sudo usermod -a -G tty $1
Sudo usermod -a -G dialout $1
Sudo usermod -a -G uucp $1
Sudo groupadd plugdev
Sudo usermod -a -G plugdev $1
acmrules () {
echo ""
echo "# Setting serial port rules"
echo ""
cat <<EOF
"KERNEL="ttyUSB[0-9]*", TAG+="udev-acl", TAG+="uaccess", OWNER="$1"
"KERNEL="ttyACM[0-9]*", TAG+="udev-acl", TAG+="uaccess", OWNER="$1"
EOF
}
kERNELが影響を受けていることがわかります。私のおすすめ:
arduino ide Webサイトからインストールします。現時点では、修復されるまでソフトウェアセンターを無視します。はい、ソフトウェアセンターは、インストール中、および永久にシリアルポートへのアクセスを許可していません。
問題が解決しました!