ESPボード名を変更するudevのルールは機能しません。

ESPボード名を変更するudevのルールは機能しません。

2つのESPボード(USBハブに接続)を接続しました。したがって、ESPボードは、USBハブのUSBポートの1つを介して間接的にacer-extensa-5630z(以前のモデル)に接続されました。 / devディレクトリには、2つのESPボードがttyUSB0とttyUSB1としてリストされています。

「ttyUSB0」と「ttyUSB1」の名前をそれぞれ「esp1」と「esp2」に変更したいと思います。私の名前を変更するために実行した手順は次のとおりです。

  1. 以下に示す属性を取得するには、次のコマンドを使用して属性を一覧表示しました。
udevadm 情報 --attribute-walk --name=/dev/ttyUSB0
ram@ram-Extensa-5630:/etc/udev/rules.d$udevadm info --attribute-walk --name=/dev/ttyUSB0

udevadm 情報は devpath で指定されたデバイスから始まります。
親デバイスチェーンの上に移動します。すべてのデバイスに印刷されます。
udev ルール・キー形式で可能なすべての属性を検索します。
一致ルールはデバイス属性で構成できます。
単一の親デバイスの属性。

  デバイスを表示
    カーネル == "ttyUSB0"
    サブシステム == "tty"
    ドライバー==""

  親デバイス '/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1.2/2-1.2:1.0/ttyUSB0' 表示:
    カーネル == "ttyUSB0"
    subsystem=="USB-シリアル"
    ドライバー=="ch341-uart"
    ATTRS{ポート番号}==“0”

  親デバイス '/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1.2/2-1.2:1.0' 表示:
    カーネル=="2-1.2:1.0"
    サブシステム == "usb"
    ドライバー=="ch341"
    ATTRS{bInterfaceNumber}==“00”
    ATTRS{承認済み}=="1"
    ATTRS{bAlternateSetting}==“0”
    ATTRS{bInterfaceSubClass}==“01”
    ATTRS{bInterfaceClass}=="ff"
    ATTRS {サポート_自動 - 一時停止} =="1"
    ATTRS{bInterfaceProtocol}==“02”
    ATTRS{bNumEndpoints}==“03”

  親デバイス '/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1.2' 表示:
    カーネル=="2-1.2"
    サブシステム == "usb"
    ドライバー=="USB"
    ATTRS{bmAttributes}=="80"
    ATTRS{bDeviceClass}=="ff"
    ATTRS{速度}=="12"
    ATTRS{rx_lanes}=="1"
    ATTRS{バージョン}=="1.10"
    ATTRS{idProduct}=="7523"
    ATTRS{bNumConfigurations}==“1”
    ATTRS{product}=="USB2.0 - シリアル"
    ATTRS{削除可能}=="不明"
    ATTRS{avoid_reset_quirk}==“0”
    ATTRS{bMaxPacketSize0}==“8”
    ATTRS{bNumInterfaces}==“1”
    ATTRS{urbnum}=="16"
    ATTRS{devnum}=="27"
    ATTRS{idVendor}=="1a86"
    ATTRS{bDeviceProtocol}==“00”
    ATTRS{devpath}=="1.2"
    ATTRS{設定}==""
    ATTRS{tx_lanes}==“1”
    ATTRS{bMaxPower}==“98mA”
    ATTRS{ltm_capable}=="いいえ"
    ATTRS{バス番号}=="2"
    ATTRS{maxchild}==“0”
    ATTRS{bcdDevice}==“0263”
    ATTRS{bDeviceSubClass}==“00”
    ATTRS{Quirk}=="0x0"
    ATTRS{承認済み}=="1"
    ATTRS{bConfigurationValue}==“1”

  親デバイス '/devices/pci0000:00/0000:00:1d.7/usb2/2-1' 表示:
    カーネル == "2-1"
    サブシステム == "usb"
    ドライバー=="USB"
    ATTRS{bDeviceProtocol}==“01”
    ATTRS{rx_lanes}=="1"
    ATTRS{バージョン}=="2.00"
    ATTRS{bDeviceClass}==“09”
    ATTRS{bMaxPacketSize0}==“64”
    ATTRS{urbnum}==“35”
    ATTRS{bNumInterfaces}==“1”
    ATTRS{idVendor}=="045b"
    ATTRS{Quirk}=="0x0"
    ATTRS{devnum}=="25"
    ATTRS{bConfigurationValue}==“1”
    ATTRS{devpath}=="1"
    ATTRS{承認済み}=="1"
    ATTRS{bDeviceSubClass}==“00”
    ATTRS{削除可能}=="不明"
    ATTRS{idProduct}==“0209”
    ATTRS{速度}=="480"
    ATTRS{tx_lanes}==“1”
    ATTRS{バス番号}=="2"
    ATTRS{bNumConfigurations}==“1”
    ATTRS{avoid_reset_quirk}==“0”
    ATTRS{bMaxPower}==“0mA”
    ATTRS{maxchild}=="4"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bcdDevice}==“0100”
    ATTRS{ltm_capable}=="いいえ"
    ATTRS{設定}==""

  親デバイス '/devices/pci0000:00/0000:00:1d.7/usb2' 表示:
    カーネル=="usb2"
    サブシステム == "usb"
    ドライバー=="USB"
    ATTRS{idVendor}=="1d6b"
    ATTRS{bcdDevice}==“0504”
    ATTRS{avoid_reset_quirk}==“0”
    ATTRS{Quirk}=="0x0"
    ATTRS{シーケンス}=="0000:00:1d.7"
    ATTRS{バージョン}=="2.00"
    ATTRS{bDeviceSubClass}==“00”
    ATTRS{rx_lanes}=="1"
    ATTRS{bNumConfigurations}==“1”
    ATTRS{ltm_capable}=="いいえ"
    ATTRS{bConfigurationValue}==“1”
    ATTRS{メーカー}=="Linux 5.4.0-58-一般 ehci_hcd"
    ATTRS{tx_lanes}==“1”
    ATTRS{authorized_default}==“1”
    ATTRS{速度}=="480"
    ATTRS{バス番号}=="2"
    ATTRS{bMaxPower}==“0mA”
    ATTRS{bmAttributes}=="e0"
    ATTRS{削除可能}=="不明"
    ATTRS{devnum}=="1"
    ATTRS{maxchild}=="6"
    ATTRS{urbnum}=="226"
    ATTRS{製品}=="EHCIホストコントローラ"
    ATTRS{bMaxPacketSize0}==“64”
    ATTRS{bDeviceClass}==“09”
    ATTRS{bNumInterfaces}==“1”
    ATTRS{承認済み}=="1"
    ATTRS{設定}==""
    ATTRS{interface_authorized_default}==“1”
    ATTRS{bDeviceProtocol}==“00”
    ATTRS{devpath}=="0"
    ATTRS{idProduct}==“0002”

  親デバイス '/devices/pci0000:00/0000:00:1d.7' 表示:
    カーネル == "0000:00:1d.7"
    サブシステム == "pci"
    ドライバ=="ehci-pci"
    ATTRS{local_cpulist}=="0-1"
    ATTRS{dma_mask_bits}==“32”
    ATTRS{d3cold_allowed}==“1”
    ATTRS{サブシステムプロバイダ}=="0x1025"
    ATTRS{サプライヤー}=="0x8086"
    ATTRS{uframe_periodic_max}==“100”
    ATTRS{confirm_dma_mask_bits}==“32”
    ATTRS{numa_node}=="-1"
    ATTRS{driver_override}=="(空白)"
    ATTRS{改訂}=="0x03"
    ATTRS{デバイス}=="0x293a"
    ATTRS{irq}=="23"
    ATTRS{local_cpus}=="3"
    ATTRS{有効化}=="1"
    ATTRS{コンパニオン}==""
    ATTRS{サブシステムデバイス}=="0x013c"
    ATTRS{ari_enabled}==“0”
    ATTRS{msi_bus}==“1”
    ATTRS{broken_parity_status}==“0”
    ATTRS{class}=="0x0c0320"

  親デバイス "/devices/pci0000:00" 表示:
    カーネル=="pci0000:00"
    サブシステム==""
    ドライバー==""

ram@ram-Extensa-5630:/etc/udev/rules.d$

以下は、ttyUSB1のプロパティを表示するために使用したコマンドです。

udevadm 情報 --attribute-walk --name=/dev/ttyUSB1
ram@ram-Extensa-5630:/etc/udev/rules.d$udevadm 情報 --attribute-walk --name=/dev/ttyUSB1

udevadm 情報は devpath で指定されたデバイスから始まります。
親デバイスチェーンの上に移動します。すべてのデバイスに印刷されます。
udev ルール・キー形式で可能なすべての属性を検索します。
一致ルールはデバイス属性で構成できます。
単一の親デバイスの属性。

  デバイスの表示
    カーネル == "ttyUSB1"
    サブシステム == "tty"
    ドライバー==""

  親デバイス '/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1.1/2-1.1.4/2-1.1.4:1.0/ttyUSB1' 表示:
    カーネル == "ttyUSB1"
    subsystem=="USB-シリアル"
    ドライバー=="ch341-uart"
    ATTRS{ポート番号}==“0”

  親デバイス '/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1.1/2-1.1.4/2-1.1.4:1.0' 表示:
    カーネル=="2-1.1.4:1.0"
    サブシステム == "usb"
    ドライバー=="ch341"
    ATTRS{bAlternateSetting}==“0”
    ATTRS{bNumEndpoints}==“03”
    ATTRS{bInterfaceProtocol}==“02”
    ATTRS{bInterfaceClass}=="ff"
    ATTRS{bInterfaceSubClass}==“01”
    ATTRS{bInterfaceNumber}==“00”
    ATTRS {サポート_自動 - 一時停止} =="1"
    ATTRS{承認済み}=="1"

  親デバイス '/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1.1/2-1.1.4' 表示:
    カーネル=="2-1.1.4"
    サブシステム == "usb"
    ドライバー=="USB"
    ATTRS{速度}=="12"
    ATTRS{承認済み}=="1"
    ATTRS{idProduct}=="7523"
    ATTRS{バージョン}=="1.10"
    ATTRS{bMaxPower}==“98mA”
    ATTRS{ltm_capable}=="いいえ"
    ATTRS{bDeviceProtocol}==“00”
    ATTRS{tx_lanes}==“1”
    ATTRS{bNumConfigurations}==“1”
    ATTRS{bNumInterfaces}==“1”
    ATTRS{bmAttributes}=="80"
    ATTRS{devpath}=="1.1.4"
    ATTRS{urbnum}=="16"
    ATTRS{削除可能}=="不明"
    ATTRS{bcdDevice}==“0263”
    ATTRS{バス番号}=="2"
    ATTRS{avoid_reset_quirk}==“0”
    ATTRS{設定}==""
    ATTRS{bConfigurationValue}==“1”
    ATTRS{bDeviceSubClass}==“00”
    ATTRS{devnum}=="28"
    ATTRS{product}=="USB2.0 - シリアル"
    ATTRS{Quirk}=="0x0"
    ATTRS{maxchild}==“0”
    ATTRS{bMaxPacketSize0}==“8”
    ATTRS{rx_lanes}=="1"
    ATTRS{bDeviceClass}=="ff"
    ATTRS{idVendor}=="1a86"

  親デバイス '/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1.1' 表示:
    カーネル=="2-1.1"
    サブシステム == "usb"
    ドライバー=="USB"
    ATTRS{Quirk}=="0x0"
    ATTRS{ltm_capable}=="いいえ"
    ATTRS{idProduct}==“0209”
    ATTRS{avoid_reset_quirk}==“0”
    ATTRS{設定}==""
    ATTRS{bcdDevice}==“0100”
    ATTRS{バージョン}=="2.00"
    ATTRS{bDeviceProtocol}==“01”
    ATTRS{削除可能}=="不明"
    ATTRS{urbnum}=="26"
    ATTRS{tx_lanes}==“1”
    ATTRS{devnum}=="26"
    ATTRS{rx_lanes}=="1"
    ATTRS{bConfigurationValue}==“1”
    ATTRS{速度}=="480"
    ATTRS{bDeviceSubClass}==“00”
    ATTRS{バス番号}=="2"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bDeviceClass}==“09”
    ATTRS{bNumConfigurations}==“1”
    ATTRS{maxchild}=="4"
    ATTRS{bMaxPower}==“0mA”
    ATTRS{idVendor}=="045b"
    ATTRS{bNumInterfaces}==“1”
    ATTRS{bMaxPacketSize0}==“64”
    ATTRS{承認済み}=="1"
    ATTRS{devpath}=="1.1"

  親デバイス '/devices/pci0000:00/0000:00:1d.7/usb2/2-1' 表示:
    カーネル == "2-1"
    サブシステム == "usb"
    ドライバー=="USB"
    ATTRS{idVendor}=="045b"
    ATTRS{avoid_reset_quirk}==“0”
    ATTRS{バス番号}=="2"
    ATTRS{bConfigurationValue}==“1”
    ATTRS{削除可能}=="不明"
    ATTRS{bNumConfigurations}==“1”
    ATTRS{設定}==""
    ATTRS{urbnum}==“35”
    ATTRS{bDeviceSubClass}==“00”
    ATTRS{rx_lanes}=="1"
    ATTRS{devpath}=="1"
    ATTRS{bDeviceClass}==“09”
    ATTRS{bMaxPacketSize0}==“64”
    ATTRS{tx_lanes}==“1”
    ATTRS{bcdDevice}==“0100”
    ATTRS{速度}=="480"
    ATTRS{devnum}=="25"
    ATTRS{承認済み}=="1"
    ATTRS{bMaxPower}==“0mA”
    ATTRS{Quirk}=="0x0"
    ATTRS{バージョン}=="2.00"
    ATTRS{bDeviceProtocol}==“01”
    ATTRS{bmAttributes}=="e0"
    ATTRS{bNumInterfaces}==“1”
    ATTRS{idProduct}==“0209”
    ATTRS{maxchild}=="4"
    ATTRS{ltm_capable}=="いいえ"

  親デバイス '/devices/pci0000:00/0000:00:1d.7/usb2' 表示:
    カーネル=="usb2"
    サブシステム == "usb"
    ドライバー=="USB"
    ATTRS{bDeviceProtocol}==“00”
    ATTRS{bDeviceClass}==“09”
    ATTRS{設定}==""
    ATTRS{urbnum}=="226"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bDeviceSubClass}==“00”
    ATTRS{bConfigurationValue}==“1”
    ATTRS{idVendor}=="1d6b"
    ATTRS{maxchild}=="6"
    ATTRS{削除可能}=="不明"
    ATTRS{ltm_capable}=="いいえ"
    ATTRS{Quirk}=="0x0"
    ATTRS{バス番号}=="2"
    ATTRS{bMaxPower}==“0mA”
    ATTRS{bMaxPacketSize0}==“64”
    ATTRS{devnum}=="1"
    ATTRS{バージョン}=="2.00"
    ATTRS{速度}=="480"
    ATTRS{承認済み}=="1"
    ATTRS{bNumInterfaces}==“1”
    ATTRS{devpath}=="0"
    ATTRS{製品}=="EHCIホストコントローラ"
    ATTRS{メーカー}=="Linux 5.4.0-58-一般 ehci_hcd"
    ATTRS{bNumConfigurations}==“1”
    ATTRS{シーケンス}=="0000:00:1d.7"
    ATTRS{rx_lanes}=="1"
    ATTRS{avoid_reset_quirk}==“0”
    ATTRS{idProduct}==“0002”
    ATTRS{tx_lanes}==“1”
    ATTRS{bcdDevice}==“0504”
    ATTRS{interface_authorized_default}==“1”
    ATTRS{authorized_default}==“1”

  親デバイス '/devices/pci0000:00/0000:00:1d.7' 表示:
    カーネル == "0000:00:1d.7"
    サブシステム == "pci"
    ドライバ=="ehci-pci"
    ATTRS{uframe_periodic_max}==“100”
    ATTRS{d3cold_allowed}==“1”
    ATTRS{confirm_dma_mask_bits}==“32”
    ATTRS{サブシステムプロバイダ}=="0x1025"
    ATTRS{local_cpulist}=="0-1"
    ATTRS{driver_override}=="(空白)"
    ATTRS{有効化}=="1"
    ATTRS{numa_node}=="-1"
    ATTRS{local_cpus}=="3"
    ATTRS{サプライヤー}=="0x8086"
    ATTRS{サブシステムデバイス}=="0x013c"
    ATTRS{ari_enabled}==“0”
    ATTRS{irq}=="23"
    ATTRS{broken_parity_status}==“0”
    ATTRS{コンパニオン}==""
    ATTRS{msi_bus}==“1”
    ATTRS{デバイス}=="0x293a"
    ATTRS{class}=="0x0c0320"
    ATTRS{dma_mask_bits}==“32”
    ATTRS{改訂}=="0x03"

  親デバイス "/devices/pci0000:00" 表示:
    カーネル=="pci0000:00"
    サブシステム==""
    ドライバー==""

ram@ram-Extensa-5630:/etc/udev/rules.d$
  1. 「/etc/udev/rules.d」ディレクトリで、次の内容で「esp.rules」というファイルを作成して編集しました。
サブシステム == "usb", ジョブ == "追加", ATTRS {idProduct} == "7523", ATTRS {idVendor} == "1a86", ATTRS {devpath} == "2.2", SYMLINK+="esp1"

サブシステム == "usb", ジョブ == "追加", ATTRS{idProduct}=="7523", ATTRS{idVendor}=="1a86", ATTRS{devpath}=="2.1.4", SYMLINK+= " esp2 "
  1. "esp.rules"ファイルを更新して実行しました。
udevadm制御 - 再ロードルール&&udevadmトリガー

私が実行した手順に問題があるのか​​、USBポートに問題があるのか​​わかりません。 私はUbuntu 20.04 LTSを使用しています。

この問題を解決するのに役立ちます。よろしくお願いします。

ベストアンサー1

このルールは私がビューで正確で動作します。私が見つけた唯一の問題は、ルールをテスト/実行するために使用するコマンドにあります。udevadm triggerデフォルトでは、changeイベントが送信され、ルールが応答するため、add次を使用する必要があります。

udevadm control --reload-rules && udevadm trigger -c add

おすすめ記事