In the last few days, I see sporadic failures where one or more DM 2s get disabled...
Two more just failed:
[2014-03-18 09:40:44] DM3: Comms error (rerr=-1 amt=0)
[2014-03-18 09:40:44] DM 3 failure, disabling!
[2014-03-18 09:40:44] Thread 3 being disabled
--
[2014-03-18 09:41:03] DM1: Comms error (rerr=-1 amt=0)U:40.5/m
[2014-03-18 09:41:03] DM 1 failure, disabling!
[2014-03-18 09:41:03] Thread 1 being disabled
--
Failed devices:
[2014-03-18 07:11:28] DM1: Found at 1:28-i0
[2014-03-18 07:11:28] DM3: Found at 1:26-i0
This time I used "lsusb -t" to list the devices before the failure and after. Here's the list from before:
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc_otg/1p, 480M
|__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/5p, 480M
|__ Port 1: Dev 3, If 0, Class=vend., Driver=smsc95xx, 480M
|__ Port 3: Dev 4, If 0, Class=hub, Driver=hub/4p, 480M
|__ Port 4: Dev 5, If 0, Class=hub, Driver=hub/7p, 480M
|__ Port 2: Dev 6, If 0, Class=vend., Driver=usbfs, 480M
|__ Port 2: Dev 6, If 1, Class=vend., Driver=usbfs, 480M
|__ Port 3: Dev 7, If 0, Class=vend., Driver=usbfs, 480M
|__ Port 3: Dev 7, If 1, Class=vend., Driver=usbfs, 480M
|__ Port 5: Dev 8, If 0, Class=hub, Driver=hub/4p, 480M
|__ Port 2: Dev 10, If 0, Class=vend., Driver=usbfs, 480M
|__ Port 2: Dev 10, If 1, Class=vend., Driver=usbfs, 480M
|__ Port 3: Dev 11, If 0, Class=vend., Driver=usbfs, 480M
|__ Port 3: Dev 11, If 1, Class=vend., Driver=usbfs, 480M
|__ Port 4: Dev 12, If 0, Class=hub, Driver=hub/7p, 480M
|__ Port 1: Dev 16, If 0, Class=vend., Driver=usbfs, 480M
|__ Port 1: Dev 16, If 1, Class=vend., Driver=usbfs, 480M
|__ Port 2: Dev 17, If 0, Class=vend., Driver=usbfs, 480M
|__ Port 2: Dev 17, If 1, Class=vend., Driver=usbfs, 480M
|__ Port 3: Dev 18, If 0, Class=vend., Driver=usbfs, 480M
|__ Port 3: Dev 18, If 1, Class=vend., Driver=usbfs, 480M
|__ Port 4: Dev 19, If 0, Class=vend., Driver=usbfs, 480M
|__ Port 4: Dev 19, If 1, Class=vend., Driver=usbfs, 480M
|__ Port 5: Dev 20, If 0, Class=vend., Driver=usbfs, 480M
|__ Port 5: Dev 20, If 1, Class=vend., Driver=usbfs, 480M
|__ Port 6: Dev 21, If 0, Class=vend., Driver=usbfs, 480M
|__ Port 6: Dev 21, If 1, Class=vend., Driver=usbfs, 480M
|__ Port 7: Dev 22, If 0, Class=vend., Driver=usbfs, 480M
|__ Port 7: Dev 22, If 1, Class=vend., Driver=usbfs, 480M
|__ Port 6: Dev 9, If 0, Class=hub, Driver=hub/4p, 480M
|__ Port 2: Dev 13, If 0, Class=vend., Driver=usbfs, 480M
|__ Port 2: Dev 13, If 1, Class=vend., Driver=usbfs, 480M
|__ Port 4: Dev 15, If 0, Class=hub, Driver=hub/7p, 480M
|__ Port 1: Dev 23, If 0, Class=vend., Driver=usbfs, 480M
|__ Port 1: Dev 23, If 1, Class=vend., Driver=usbfs, 480M
|__ Port 2: Dev 24, If 0, Class=vend., Driver=usbfs, 480M
|__ Port 2: Dev 24, If 1, Class=vend., Driver=usbfs, 480M
|__ Port 3: Dev 25, If 0, Class=vend., Driver=usbfs, 480M
|__ Port 3: Dev 25, If 1, Class=vend., Driver=usbfs, 480M
|__ Port 4: Dev 26, If 0, Class=vend., Driver=usbfs, 480M
|__ Port 4: Dev 26, If 1, Class=vend., Driver=usbfs, 480M
|__ Port 5: Dev 27, If 0, Class=vend., Driver=usbfs, 480M
|__ Port 5: Dev 27, If 1, Class=vend., Driver=usbfs, 480M
|__ Port 6: Dev 28, If 0, Class=vend., Driver=usbfs, 480M
|__ Port 6: Dev 28, If 1, Class=vend., Driver=usbfs, 480M
|__ Port 7: Dev 29, If 0, Class=vend., Driver=usbfs, 480M
|__ Port 7: Dev 29, If 1, Class=vend., Driver=usbfs, 480M
And here's after the failure:
1-1.3.4.6.4.4:1.0: No such file or directory
1-1.3.4.6.4.4:1.1: No such file or directory
1-1.3.4.6.4.6:1.0: No such file or directory
1-1.3.4.6.4.6:1.1: No such file or directory
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc_otg/1p, 480M
|__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/5p, 480M
|__ Port 1: Dev 3, If 0, Class=vend., Driver=smsc95xx, 480M
|__ Port 3: Dev 4, If 0, Class=hub, Driver=hub/4p, 480M
|__ Port 4: Dev 5, If 0, Class=hub, Driver=hub/7p, 480M
|__ Port 2: Dev 6, If 0, Class=vend., Driver=usbfs, 480M
|__ Port 2: Dev 6, If 1, Class=vend., Driver=usbfs, 480M
|__ Port 3: Dev 7, If 0, Class=vend., Driver=usbfs, 480M
|__ Port 3: Dev 7, If 1, Class=vend., Driver=usbfs, 480M
|__ Port 5: Dev 8, If 0, Class=hub, Driver=hub/4p, 480M
|__ Port 2: Dev 10, If 0, Class=vend., Driver=usbfs, 480M
|__ Port 2: Dev 10, If 1, Class=vend., Driver=usbfs, 480M
|__ Port 3: Dev 11, If 0, Class=vend., Driver=usbfs, 480M
|__ Port 3: Dev 11, If 1, Class=vend., Driver=usbfs, 480M
|__ Port 4: Dev 12, If 0, Class=hub, Driver=hub/7p, 480M
|__ Port 1: Dev 16, If 0, Class=vend., Driver=usbfs, 480M
|__ Port 1: Dev 16, If 1, Class=vend., Driver=usbfs, 480M
|__ Port 2: Dev 17, If 0, Class=vend., Driver=usbfs, 480M
|__ Port 2: Dev 17, If 1, Class=vend., Driver=usbfs, 480M
|__ Port 3: Dev 18, If 0, Class=vend., Driver=usbfs, 480M
|__ Port 3: Dev 18, If 1, Class=vend., Driver=usbfs, 480M
|__ Port 4: Dev 19, If 0, Class=vend., Driver=usbfs, 480M
|__ Port 4: Dev 19, If 1, Class=vend., Driver=usbfs, 480M
|__ Port 5: Dev 20, If 0, Class=vend., Driver=usbfs, 480M
|__ Port 5: Dev 20, If 1, Class=vend., Driver=usbfs, 480M
|__ Port 6: Dev 21, If 0, Class=vend., Driver=usbfs, 480M
|__ Port 6: Dev 21, If 1, Class=vend., Driver=usbfs, 480M
|__ Port 7: Dev 22, If 0, Class=vend., Driver=usbfs, 480M
|__ Port 7: Dev 22, If 1, Class=vend., Driver=usbfs, 480M
|__ Port 6: Dev 9, If 0, Class=hub, Driver=hub/4p, 480M
|__ Port 2: Dev 13, If 0, Class=vend., Driver=usbfs, 480M
|__ Port 2: Dev 13, If 1, Class=vend., Driver=usbfs, 480M
|__ Port 4: Dev 15, If 0, Class=hub, Driver=hub/7p, 480M
|__ Port 1: Dev 23, If 0, Class=vend., Driver=usbfs, 480M
|__ Port 1: Dev 23, If 1, Class=vend., Driver=usbfs, 480M
|__ Port 2: Dev 24, If 0, Class=vend., Driver=usbfs, 480M
|__ Port 2: Dev 24, If 1, Class=vend., Driver=usbfs, 480M
|__ Port 3: Dev 25, If 0, Class=vend., Driver=usbfs, 480M
|__ Port 3: Dev 25, If 1, Class=vend., Driver=usbfs, 480M
|__ Port 4: Dev 26, If 0, Class=vend., Driver=, 480M
|__ Port 4: Dev 26, If 1, Class=vend., Driver=, 480M
|__ Port 5: Dev 27, If 0, Class=vend., Driver=usbfs, 480M
|__ Port 5: Dev 27, If 1, Class=vend., Driver=usbfs, 480M
|__ Port 6: Dev 28, If 0, Class=vend., Driver=, 480M
|__ Port 6: Dev 28, If 1, Class=vend., Driver=, 480M
|__ Port 7: Dev 29, If 0, Class=vend., Driver=usbfs, 480M
|__ Port 7: Dev 29, If 1, Class=vend., Driver=usbfs, 480M
Basically device 26 and 28 have fallen over. I'm not entirely sure how to correlate the devices that have been disabled to the physical units. However it sure seems like the failed devices are always on the same hub, and with high dev numbers.
Another oddity is how the DMs are assigned in the tree above. My physical layout is such that there's one "master" that's hooked to the Pi. The other two hubs are hooked to the master. I've got 2 DMs in the master, and 9 on each sub-hub.
So why is it that some of the DM devices (which I think are identified by "Class=vend., Driver=usbfs") appear directly on a sub-hub, and some appear to be in a hub within the hub?
Maybe the ports on the Orico hub are all the same? Some are sub-divided internally, apparently. Not sure if that's relevant or not.
I'm starting to think that maybe I should pull a DM or two from each sub-hub and plug them into the main one. But I'm just guessing here.
If anyone has any suggestions, I'd appreciate it.