A mensagem refere-se à negociação da taxa de dados de velocidade máxima (FS) de 12 Mbit / s, em vez da taxa de dados de alta velocidade (HS), que é de 480 Mbit / s. Deve ser realmente difícil obter esse efeito de uma porta USB2. O protocolo USB2.0 HS é estabelecido após uma negociação bastante complicada entre um dispositivo e um host, porque inicialmente todos os dispositivos HS atuam como um dispositivo FS.
O processo normal é o seguinte:
-
O dispositivo compatível com HS puxa a linha D + depois que recebe o sinal VBUS com 1-1.5kΩ resistor para 3.3V. Assim como um dispositivo FS faria.
-
A porta do host detecta o D + = alto e, após um atraso mínimo de retorno de 100 ms, o host ativa o estado USB_RESET no barramento, dirigindo as linhas D + e D para o terra com 45Ω para 10 ou 50ms.
-
Se o dispositivo for FS, ele não faz nada e aguarda até o final de USB_RESET.
-
Se o dispositivo for HS, ele acionaria D- high usando o driver HS (fonte de 18mA) por aproximadamente 1 ms. Isto irá criar um pulso com amplitude de cerca de 800mV (18ma em 45Ω de carga) chamado "Chirp-K";
-
Após a detecção do END do Chirp-K, se o host for capaz do modo HS, ele aciona esse sinal de volta (mesmo 18mA em carga própria de 45Ω), agora por cerca de 50µs. Se for um host FS, ele ignorará o Chirp-K e continuará como FS.
-
Então, se o host é capaz do modo HS, ele alterna seu drive para o D + wire, formando "Chirp-J", novamente para 50µs;
-
O host repete esse padrão alternado de 50 µs por toda a duração do estado USB_RESET (10ms nas portas do hub, 50ms nas portas do hub raiz);
-
Depois de três alternados chirp-K / J, o dispositivo reconhece que o host é HS e alterna para o modo HS. Isso implica ativar a terminação HS na extremidade do dispositivo, o que torna a resistência total do fio em 22Ω e a amplitude do sinal de chirp cai para 400mV, para um nível de sinalização HS padrão.
-
O host continua com pacotes de início de quadro (SOF) HS e inicia o processo de enumeração no modo HS.
Agora, ninguém sabe que parte da agitação quebrou este protocolo e fez com que o host marcasse a porta como FS.