Primeiro de tudo: se a detecção automática do dispositivo USB acontecesse com sucesso, você teria que ver seus dispositivos no barramento usb. Então isso não aconteceu.
Você está listando uma lista de sintomas misteriosos - funciona no win, mas no linux, alguns no linux, mas não no win.
Não, estou quase certo de que não é problema de driver .
Eu acho que é um problema de energia. Uma corrida. Normalmente, esses problemas de energia são os piores, porque tornam as coisas totalmente perigosas. Minha hipótese era de que há corrida: de alguma forma, o win inicializa seus ports / dispositivos USB em uma ordem diferente do seu linux. É porque seus dispositivos estão ativados em uma ordem diferente e, assim, eles também começam a obter energia em uma ordem diferente.
Enquanto o início dos primeiros dispositivos, ainda há energia suficiente, mas no mais tarde não há mais.
O que você poderia fazer: O melhor era usar um hub USB com sua própria entrada de energia. Fonte de alimentação sempre foi uma grande desvantagem do usb. Ele funciona com 5V, mas em tais cabos é praticamente impossível obter mais como 2-3A. No padrão, 0,5A só é necessário, o que significa que dispositivos de baixa qualidade não são suficientes, mesmo que 0,5A - ou estão fornecendo isso perigosamente.
Próximo a isso eu ainda tinha uma idéia secundária: às vezes hubs usb (mesmo nos integrados da placa-mãe) não são inteligentes o suficiente para diferenciar entre as diferentes versões usb de seus escravos. Assim, se você conectar um dispositivo usb2.0 ao lado de ab usb3.0, ele tornará o dispositivo usb3 também muito mais lento.