USBシリアルリンクを開くヘルプ

USBシリアルリンクを開くヘルプ

私の目標は、次のコマンドを使用してSeggerシリアルリンクを介してARM mmcと通信することです。

python3 -m serial.tools.miniterm -e /dev/ttyUSB3 115200

ただし、次のエラー メッセージが表示されます。

No such file or directory: '/dev/ttyUSB3'

dmesgを使用すると、USBポートに接続されているSeggerシリアルデバイスを表示できます(下記参照)。

[159707.574338] usb 1-3: new full-speed USB device number 17 using xhci_hcd
[159707.724537] usb 1-3: New USB device found, idVendor=1366, idProduct=0101, bcdDevice= 1.00
[159707.724542] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[159707.724545] usb 1-3: Product: J-Link
[159707.724546] usb 1-3: Manufacturer: SEGGER
[159707.724548] usb 1-3: SerialNumber: 000801025943

だからUSB3に接続しましたが、シリアルリンクを開くことができないようです。また、これを参照してください:

USER@USERdev:/dev$ ls -ld ttyU*
ls: cannot access 'ttyU*': No such file or directory

なぜシリアルリンクを開くことができないのか知っていますか?私はDebian 11.7を使用しています。

助けてくれてありがとう :)

ベストアンサー1

多くのデバイスアクセスの問題は、グループメンバーシップの変更で解決できます。

sudo journalctl --follow接続されているデバイスを見ると、デバイス名を見つけることができます。または、ls -1 /dev >dev.beforeデバイスを接続して10秒間待ちますls -1 /dev >dev.after;diff dev.{before,after}

特に、ls -l グループ表示権限(2番目のrwx三重項)が「」rw(例: " -rw-rw----")の場合、デバイスを所有するグループに自分自身を追加すると、rwアクセス権が付与されます。

それだけです:

# change to your device name 
device="/dev/ttyUSB3"
sudo adduser $USER $(stat -c "%G" $device)

これにより、デバイスを使用できるグループのメンバーになることができますrwしかし、もう一つのステップがあります。

すべてのプロセスを新しいグループのメンバーにするには、ログアウトしてログインします。グループメンバーシップは時間ベースで設定されますlogin

新しいグループから単一のプロセスを作成するには(テスト用、ログアウト/ログイン前):

newgrp $(stat -c "%G" $device)  

またはグループ名を入力してください。望むよりman newgrp

おすすめ記事