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를 구입했다는 점을 지적하고 싶습니다. 거기서 케이블을 연결하고 파일을 복사할 수 있습니다. 하지만 프로그래밍이 불가능하기 때문에 장치를 두 가지 다른 방법(ACM 장치 프로그래밍 및 USB 장치에 파일 복사)으로 사용하려는 경우에는 어려울 것 같습니다.

도움이 된다면 항목을 "전환"하고 파일을 복사한 다음 프로그래밍 가능한 연결로 다시 전환할 수 있습니다. 하지만이 장치를 USB 드라이브로 해석하도록 시스템에 지시하려면 어떻게 해야 합니까??

저는 Manjaro(Arch) Linux를 사용하고 있습니다. (Windows에서도 같은 작업을 시도했지만 성공하지 못했습니다.)

어떤 아이디어가 있나요?

답변1

그런데 정말 도움이 되는 또 다른 문서를 찾았습니다. 내 시스템에는 아무 작업도 수행되지 않은 것으로 나타났습니다. 운전사 같은 게 필요한 게 아니거든요.

실제로 장치 자체에도 연결할 수 있는 방법이 있습니다. 또 다른 설명서에는 다음과 같이 명시되어 있습니다.

부트로더에 들어가려면 BOOT/BOOTSEL 버튼(위의 빨간색으로 강조 표시됨)을 길게 누르고, 계속 누르고 있는 동안(놓지 마십시오!) 재설정 버튼(위의 파란색으로 강조 표시됨)을 눌렀다가 놓습니다. RPI-RP2 드라이브가 나타날 때까지 BOOT/BOOTSEL 버튼을 계속 누르고 있습니다!

따라서 누구든지 이 문제에 직면한다면 이것이 실제로 (쉬운) 해결책입니다!

관련 정보