RS-232 - USB CDC_ACM이 Debian/BeagleBone Black에서 작동하지 않습니다.

RS-232 - USB CDC_ACM이 Debian/BeagleBone Black에서 작동하지 않습니다.

저는 USB 케이블을 통해 지속적인 직렬 데이터 스트림을 통해 데이터 출력을 제공하는 태양광 발전 시스템을 개발 중입니다. 시스템은 Windows 7 PC(태양계 먼지 상자에 있는 CD-ROM에 있는 드라이버 사용)에서 실행되고 드라이버를 설치하지 않은 Windows 10 PC(드라이버가 설치되었을 수도 있음)에서 작동합니다. 다른 장치와 함께).

Windows 장치 관리자에서 케이블 유형이 CDC_ACM.

이제 데이터 수집을 자동화할 수 있도록 BeagleBone Black과 함께 사용하려고 합니다. 태양계 근처에는 플러그 지점이 없으므로(비꼬는 말입니까?) PC에서 BeagleBone에 전원을 공급합니다. 케이블을 연결한 후 입력했는데 lsusb장치가 연결되지 않은 것을 확인했습니다.

debian@beaglebone:~$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

메시지 로그를 보면 다음과 같은 정보가 표시됩니다.

debian@beaglebone:~$ dmesg | tail -n 20
[  442.566683] hub 1-0:1.0: hub_resume
[  442.566753] hub 1-0:1.0: port 1: status 0101 change 0001
[  442.668291] hub 1-0:1.0: state 7 ports 1 chg 0002 evt 0000
[  442.668381] hub 1-0:1.0: port 1, status 0101, change 0000, 12 Mb/s
[  442.721964] CAUTION: musb: Babble Interrupt Occurred
[  442.773713] usb 1-1: new full-speed USB device number 44 using musb-hdrc
[  442.823536] musb-hdrc: setup fifo_mode 4
[  442.823583] musb-hdrc: 28/31 max ep, 16384/16384 memory
[  442.826509] hub 1-0:1.0: unable to enumerate USB device on port 1
[  442.833788] hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0002
[  442.833924] hub 1-0:1.0: port 1, status 0500, change 0003, 480 Mb/s
[  442.941687] hub 1-0:1.0: debounce: port 1: total 100ms stable 100ms status 0x500
[  442.941807] hub 1-0:1.0: hub_suspend
[  442.941867] usb usb1: bus auto-suspend, wakeup 1
[  443.006061] usb usb1: usb wakeup-resume
[  443.006138] usb usb1: usb auto-resume
[  443.006178] hub 1-0:1.0: hub_resume
[  443.006253] hub 1-0:1.0: port 1: status 0101 change 0001
[  443.107772] hub 1-0:1.0: state 7 ports 1 chg 0002 evt 0000
[  443.107860] hub 1-0:1.0: port 1, status 0101, change 0000, 12 Mb/s

처음 보내면 sudo modprobe cdc_acm케이블을 연결해도 같은 결과가 나오는 것 같습니다. (또 다른 BeagleBone Black에서는 "케이블 오류" 메시지를 받은 적이 있지만 Windows PC에서는 케이블이 여전히 작동하는 것을 확인했습니다.)

드라이버가 커널에 존재하는 것 같습니다.

debian@beaglebone:/sys/bus/usb/drivers$ ls
cdc_acm    cdc_ncm  rndis_host  usb    usbhid
cdc_ether  hub      rt2870      usbfs  usb-storage
debian@beaglebone:/sys/bus/usb/drivers$ cd cdc_acm
debian@beaglebone:/sys/bus/usb/drivers/cdc_acm$ ls
bind  new_id  remove_id  uevent  unbind

이 장치를 작동시키기 위한 단계가 누락되었나요?

답변1

오류 메시지에서 알 수 있듯이 USB 루트 허브는 연결된 장치를 열거할 수 없습니다. 이 오류가 발생할 수 있는 이유 중 하나는 Beaglebone이 장치에 충분한 전력을 공급할 수 없기 때문입니다.

전원이 공급되는 허브를 Beaglebone에 연결하고 장치를 허브에 연결해 보세요.

(의견에 따르면 문제가 해결되었습니다.)

관련 정보