I am working on a solar power system which gives data output via constant serial data stream through a USB cable. The system worked on a Windows 7 PC (using a driver found on a CD-ROM in a dusty box by the solar system), and on a Windows 10 PC with no need to install driver (though it's possible the driver was installed previously when working with some other device).
From the Windows device manager I learned that the cable is of type
Now I'm trying to use it with BeagleBone Black so I can automate data collection. There's no plug point near the solar system (ironic?) so I'm just powering BeagleBone from my PC. Upon plugging in the cable I type
lsusb and see that the device is not connected:
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
Looking at the message log, here's what I'm getting:
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
If I first send
sudo modprobe cdc_acm it looks like I get the same result upon connecting the cable. (On a different BeagleBone Black I got a "bad cable" message once, but I confirmed the cable still worked on a windows PC).
It does appear that the drivers exist on the kernel:
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
Am I missing a step to get this device working?