I am using a Xavier NX developer board to connect to a DJI M300 drone. There are two device connections, one through an FTDI serial-to-USB cable which works fine, and the other that normally shows up as an ACM device. The developer board is on the latest Jetpack 4.4.
When I plug in the ACM device cable, the dmesg
output is
[ 1654.410917] usb 1-2-port4: Cannot enable. Maybe the USB cable is bad?
[ 1655.262959] usb 1-2-port4: Cannot enable. Maybe the USB cable is bad?
[ 1655.263429] usb 1-2-port4: attempt power cycle
[ 1657.642944] usb 1-2-port4: Cannot enable. Maybe the USB cable is bad?
[ 1658.514939] usb 1-2-port4: Cannot enable. Maybe the USB cable is bad?
[ 1658.515355] usb 1-2-port4: unable to enumerate USB device
However this device loads correctly on an NVidia TX2 on an Auvidea carrier board.
dmesg output on the TX2
[ 186.733262] usb 1-2.2: new high-speed USB device number 4 using tegra-xusb
[ 186.755771] usb 1-2.2: New USB device found, idVendor=2ca3, idProduct=001f
[ 186.755796] usb 1-2.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 186.755813] usb 1-2.2: Product: e1e
[ 186.755827] usb 1-2.2: Manufacturer: DJI
[ 186.755841] usb 1-2.2: SerialNumber: 123456789ABCDEF
[ 186.762169] usb-storage 1-2.2:1.2: USB Mass Storage device detected
[ 186.762370] scsi host2: usb-storage 1-2.2:1.2
[ 186.827768] rndis_host 1-2.2:1.0 usb1: register 'rndis_host' at usb-3530000.xhci-2.2, RNDIS device, 16:88:86:cb:20:26
[ 186.831754] usbcore: registered new interface driver rndis_host
[ 186.846360] cdc_acm 1-2.2:1.4: ttyACM0: USB ACM device
[ 186.849005] usbcore: registered new interface driver cdc_acm
[ 186.849009] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[ 186.877380] IPv6: ADDRCONF(NETDEV_UP): usb1: link is not ready
[ 187.776579] scsi 2:0:0:0: Direct-Access Linux File-Stor Gadget 0409 PQ: 0 ANSI: 2
[ 187.788733] sd 2:0:0:0: [sda] Attached SCSI removable disk
[ 187.792475] scsi 2:0:0:1: Direct-Access Linux File-Stor Gadget 0409 PQ: 0 ANSI: 2
[ 187.797773] sd 2:0:0:1: [sdb] Attached SCSI removable disk
Other ACM devices show up on the NX properly. For example, I have plugged in a Beaglebone computer into the Nvidia NX and it connects as an ACM device.
I have tested manually loading the cdc-acm and rndis_host drivers before and after plugging in the device, but the result is the same.
I have tested creating a udev rule that DJI suggests
SUBSYSTEM=="usb", ATTRS {idVendor} =="2ca3", MODE ="0666"
but the output is the same (and this rule is not needed on the TX2).
Looking at udevadm monitor, no kernel or udev events are triggered by inserting the cable. The kernel and udev output on the TX2 is extensive and I’ll post it at the end.