USB es estrictamente maestro-esclavo. El dispositivo no transmite a menos que el host le indique que transmita.
Incluso el llamado modo de "interrupción" es realmente un sondeo: por ejemplo, cada 8 milisegundos (o menos si tiene un mouse de jugador), la PC le pregunta al mouse "cuál es su posición" y el mouse responde.
Lo mismo si tiene una interfaz USB en serie, por ejemplo. Cuando la interfaz recibe datos en la línea serie, no los transmitirá a la PC. En su lugar, esperará a que la PC inicie la transacción y solicite los datos.
Esta página web tiene una buena explicación sobre los paquetes que se intercambian. Básicamente, tenga en cuenta que el USB se implementó para permitir que funcione el periférico más tonto y barato posible, lo que significa que la mayor parte de la inteligencia está en el host, el controlador usb del host, el sistema operativo y los controladores. Esto es muy evidente al leer las especificaciones.
Firewire (por ejemplo) tiene una filosofía completamente diferente, es mucho más potente, es multimaestro, por lo que los dispositivos pueden comunicarse entre sí sin la ayuda de un host / maestro. En realidad, está mucho más cerca en su filosofía de algo como el token ring con transferencias isócronas en la parte superior, que al USB. Sin embargo, "multimaestro" significa que requiere un potente microcontrolador en los dispositivos, ejecutando una pila de software compleja. Por lo tanto, es más costoso y, por lo tanto, se limita a productos caros como videocámaras y carcasas rápidas de discos duros. Un mouse firewire no tiene sentido, sería demasiado costoso. Esa es una de las razones por las que FireWire falló.