画面を介してシリアルポートを開くことができますが、minicomを介して開くことができないのはなぜですか?

画面を介してシリアルポートを開くことができますが、minicomを介して開くことができないのはなぜですか?

シリアルポート経由のArduino通信があり、/dev/ttyACM0画面から開くことができます。

$ screen /dev/ttyACM0 115200

ただし、何らかの理由でminicomを介して開く権限がありません。

$ minicom /dev/ttyACM0 -b 115200
minicom: cannot open /dev/tty8: Άρνηση πρόσβασης

私のユーザーはdialout次のグループに属しています。

$ groups
pcmagas adm dialout cdrom sudo dip plugdev lpadmin sambashare wireshark kvm docker
$ whoami
pcmagas

どんなアイデアがありますか? AFAIK ArduinoはFTDIチップを使用し、コアで使用されるモジュールは次のとおりですcdc_acm

$ udevadm info --query=all --name=/dev/ttyACM0
P: /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/tty/ttyACM0
N: ttyACM0
S: android0
S: serial/by-id/usb-Arduino__www.arduino.cc__0043_7533131313335170A061-if00
S: serial/by-path/pci-0000:00:14.0-usb-0:3:1.0
E: DEVLINKS=/dev/serial/by-id/usb-Arduino__www.arduino.cc__0043_7533131313335170A061-if00 /dev/android0 /dev/serial/by-path/pci-0000:00:14.0-usb-0:3:1.0
E: DEVNAME=/dev/ttyACM0
E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/tty/ttyACM0
E: ID_BUS=usb
E: ID_MM_CANDIDATE=1
E: ID_MODEL=0043
E: ID_MODEL_ENC=0043
E: ID_MODEL_FROM_DATABASE=Uno R3 (CDC ACM)
E: ID_MODEL_ID=0043
E: ID_PATH=pci-0000:00:14.0-usb-0:3:1.0
E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_3_1_0
E: ID_PCI_CLASS_FROM_DATABASE=Serial bus controller
E: ID_PCI_INTERFACE_FROM_DATABASE=XHCI
E: ID_PCI_SUBCLASS_FROM_DATABASE=USB controller
E: ID_REVISION=0001
E: ID_SERIAL=Arduino__www.arduino.cc__0043_7533131313335170A061
E: ID_SERIAL_SHORT=7533131313335170A061
E: ID_TYPE=generic
E: ID_USB_CLASS_FROM_DATABASE=Communications
E: ID_USB_DRIVER=cdc_acm
E: ID_USB_INTERFACES=:020201:0a0000:
E: ID_USB_INTERFACE_NUM=00
E: ID_VENDOR=Arduino__www.arduino.cc_
E: ID_VENDOR_ENC=Arduino\x20\x28www.arduino.cc\x29
E: ID_VENDOR_FROM_DATABASE=Arduino SA
E: ID_VENDOR_ID=2341
E: MAJOR=166
E: MINOR=0
E: SUBSYSTEM=tty
E: TAGS=:systemd:
E: USEC_INITIALIZED=9517655754

minicomにパラメータを渡すと開かれますが-D

minicom -D /dev/ttyACM0 -b 115200

-Dしかし、なぜパラメータが必要なのかわかりません。plugdevデバイスグループを使用するためですか?

ll /dev/ttyACM0
crw-rw---- 1 root plugdev 166, 0 Αυγ  11 13:05 /dev/ttyACM0

ベストアンサー1

minicomこのオプションがないと、コマンドラインのデバイス名は実際には許可されません-D。オプション以外のパラメーターが指定されている場合は、Minicom構成ファイルの接尾辞として使用されます。

minicom /dev/ttyACM0指定すると、実際にまたはから構成ファイルを読み取ろうとします。/etc/minicom/minirc./dev/ttyACM0~/.minirc./dev/ttyACM0

意図された用途は次のとおりです。

  1. 設定モードでMinicomを起動し、新しい設定に必要な名前(たとえば、minicom -s arduino.、または他のオプション(たとえば))を使用して、ここでポートと速度を指定できますminicom -D /dev/ttyACM0 -b 115200 -s arduino
  2. Serial port setupメニューに移動して、「シリアルデバイス」(アイテムA/dev/ttyACM0をBPS /パリティ/ビット(アイテムE)に115200 8N1(またはデバイスに必要なすべての項目)に変更します。また、必要に応じてハードウェアとソフトウェアを設定します。フロー制御(プロジェクトFG)。
  3. Escを押して設定メニューに戻り、を選択しSave setup as arduinoExit from Minicom
  4. Minicomが設定されているので、単に経由で保存されたポート、速度、およびフロー制御設定から始めることができますminicom arduino

rootとして設定すると、設定が保存され、/etc/minicom/minirc.arduinoシステム内のすべてのユーザーが利用できるようになります(/etc/minicomすべてのユーザーが読むことができると仮定)。一般ユーザーとして構成すると、設定はその~/.minirc.arduinoユーザーアカウントに保存され、そのユーザーのみが使用できます。アカウント。

おすすめ記事