Multiple Morphs, not all are seen after reboot

I’m seeing situations where when I have 4 Morphs plugged into a hub which is then plugged into a Windows 10 box, not all of the Morphs get initialized after a fresh reboot of Windows (e.g. if I list them with a program that just enumerates them, using the C API, only 3 may show up). Sometimes all 4 are recognized, but sometimes only 3 are recognized. If I unplug the USB cable (to the hub) from the Windows 10 box and re-plug it in, all of the Morphs are then seen. I’m wondering if there’s some sort of startup race condition or something when they’re first initialized. I tried sleeping for a while (after a reboot) and then listing them, and still only 3 show up. It’s not (I think) always the same Morph that doesn’t get recognized. Any ideas?

 ...Tim...

I just noticed that when I applied power to the entire system (hub and computer) that only 3 of the Morphs flashed all their LEDS, and one didn’t. I thought that that might indicate a problem with the hub (perhaps it’s not able to provide enough power for everything right away at startup), but then I let the system continue to reboot, and all 4 Morphs were recognized. Odd, but just thought I’d mention it. Although it’s painful (in my situation) to try a different hub, that will certainly be something I will eventually try, to see if it still occurs with a different hub.

...Tim...

The problem generally seems to occur when power is initially applied to everything. I’ve worked around the issue by having the system detect whether all the Morphs have been detected, and if not, a software-only reboot is triggered, after which all 4 Morphs seem to be reliably detected.

...Tim...

So, USB bandwidth is enough for all the touchpads connected ?
I thought it would be limited by 2 for USB 2.0, or probably less for reliable transfers.

I believe the USB bandwidth should be more than enough for 4 Morphs, especially since I’m only using the contact data, not the full force map. Other than one of them not being recognized initially when starting up (the situation described above), I haven’t noticed any reliability problems at all when using all 4 Morphs simultaneously with many fingers moving around all at once.

...Tim...

USB can handle about 20 MB per second as of USB 2. This touchpad to utilize its functionality (which is not too high, but one of the best at the market given the support and extra functions) peaks at 10 MB per second, and probably even 20 MB if you send high resolution data. Which means that you can only connect 1 of them reliably to 1 USB 2.0 hub, or channel, 2 will still work, but no more than that. You would need USB 3.0 or higher hub to handle multiple channels to use more than 2 of those with full functionality.

Hello Tim, thank you for making us aware of this. As you suspected, the power is likely too high for that many Morphs. You could try a powered USB 3 hub or a USB 2 hub that supports more current.

Programmer, in both contact mode and force frame mode, the amount of data sent depends on the number of contacts but is generally very little data. In contact mode, 1 contact requires about 2.4 KB/s, 2 contacts requires about 3.6 KB/s, and the current max (16) only requires 20.4 KB/s. The same goes for force frame mode. A majority of the sensing elements are 0 when not pressed on. Using lossless compression we can offer a very low bandwidth (approx 6 KB/s for 1 finger and 25 KB/s for 5 fingers). If the whole sensor is being compressed, the communication is higher, but should not be a problem for the 20 MB/s limit.

Hi Alex! I’ve been using powered USB hubs all along, so there should be no lack of power. The only time I’ve seen it was when AC is first applied to the entire system, and I’ve made my system robust by having it reboot (but not power cycle) when all 4 morphs aren’t detected, so I haven’t been motivated to narrow it down further (e.g. by trying different USB hubs). Until someone else notices the problem, or I find that my workaround fails, it’s not worth looking into further at this point.

 ...Tim...