ttyACMをUSBに割り当てる

ttyACMをUSBに割り当てる

私はこれに似た問題がありますttyUSB?いいえ、ttyACM。 ttyUSBの代わりにttyACMにUSBデバイスを割り当てる方法は?

しかし、私は少し難しかったです。

私は最近Feather RP2040 Prop-Makerデバイスを購入しました。これ

私はしばらくESP32とArduinoデバイスを使用してきました。コンピュータに接続し、Arduino IDEから読み取り値を取得しました。だから、デバイスとケーブルが正しく動作することを知っています。

ただし、マイクロUSBデバイスとしても使用できます。このマニュアルにはファイルをアップロードできることが記載されています(音楽を再生でき、USB経由でファイルをコピーする必要があります)。

ところでデバイスを接続してみるとUSBデバイスとして認識されません。

電話をかけると、lsusbデバイスがあることがわかります(明らかにArduino IDEのシリアルモニターで読むことができるからです)。

Bus 001 Device 022: ID 239a:8131 Adafruit Feather RP2040 Prop-Maker

これを呼び出してls -l /dev/serial/by-id説明します。

lrwxrwxrwx 1 root root 13 Sep 16 16:57 usb-Adafruit_Feather_RP2040_Prop-Maker_DF6260785F590937-if00 -> ../../ttyACM0

したがって、デバイスはACMデバイスとして理解されます。プログラムしてシリアル接続から読み取ることができるので、これは意味があると思います。

しかし、USBデバイスに接続してそこにファイルを移動する方法がわかりません。日記帳よりもこんなメッセージを見ました。

kernel: usb 1-6.2.4: new full-speed USB device number 23 using xhci_hcd
kernel: usb 1-6.2.4: New USB device found, idVendor=239a, idProduct=8131, bcdDevice= 1.00
kernel: usb 1-6.2.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
kernel: usb 1-6.2.4: Product: Feather RP2040 Prop-Maker
kernel: usb 1-6.2.4: Manufacturer: Adafruit
kernel: usb 1-6.2.4: SerialNumber: DF6260785F590937
kernel: cdc_acm 1-6.2.4:1.0: ttyACM0: USB ACM device
mtp-probe[191599]: checking bus 1, device 23: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6.2/1-6.2.4"
mtp-probe[191599]: bus: 1, device: 23 was not an MTP device
mtp-probe[191600]: checking bus 1, device 23: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6.2/1-6.2.4"
mtp-probe[191600]: bus: 1, device: 23 was not an MTP device

私が見つけることができる唯一の解決策は、次のudevルールを作成することです。

#Adafruit RP2040 Prop-Maker Feather
ATTR{idVendor}=="293a", ATTR{idProduct}=="8131", GOTO="libmtp_rules_end"

もはや対応するエラーは発生せず、実際に動作します。ただし、デバイスはまだlsblkなどに表示されません。何もインストールできません。

私はこのサウンドボードの前身であるAdafruit Soundboardを購入したことを指摘したいと思います。そこでケーブルを接続してファイルをコピーできます。しかし、プログラミングが不可能なので、デバイスを2つの異なる方法(ACMデバイスプログラミングとUSBデバイスにファイルをコピー)で使用したい場合は難しいようです。

役に立つ場合は、アイテムを「切り替え」、ファイルをコピーして、プログラム可能な接続に戻すことができます。しかし、このデバイスをUSBドライブとして解釈するようにシステムに指示するにはどうすればよいですか?

私はManjaro(Arch)Linuxを使用しています。 (Windowsでも同じことを試しましたが、成功しませんでした。)

どんなアイデアがありますか?

答え1

ところで、本当に役に立つ別の文書を見つけました。私のシステムは何もしていないことがわかりました。運転手のようなものが必要ではありません。

実際にデバイス自体にも接続する方法があります。別のマニュアルには次のように記載されています。

ブートローダに入るには、BOOT / BOOTSELボタン(上の赤で強調表示されています)を押し続け、押し続けている間(放さないでください)リセットボタン(上の青で強調表示されています)を押して放します。 RPI-RP2ドライブが表示されるまでBOOT / BOOTSELボタンを押し続けます!

したがって、誰もがこの問題に直面するなら、これは実際に(簡単な)解決策です!

関連情報