pt.phhsnews.com


pt.phhsnews.com / Existe um protocolo de comunicação USB real?

Existe um protocolo de comunicação USB real?


A maioria de nós nunca pensa muito nos nossos dispositivos USB, apenas os ligamos e os esquecemos. Mas e se você é do tipo curioso que quer saber mais sobre como o USB funciona? A postagem de perguntas e respostas do SuperUser de hoje tem as respostas para as perguntas de um curioso leitor.

A sessão de Perguntas e Respostas é cortesia da SuperUser - uma subdivisão do Stack Exchange, um agrupamento de sites de perguntas e respostas.

Foto cedida por Evilelka Kowalski (Flickr).

A pergunta

SuperUser reader smeeb quer saber se realmente existe um Protocolo de Comunicação USB real:

Segundo a Wikipedia, USB:

  • Define os cabos, conectores e comunicações protocolos usados ​​em um barramento para conexão, comunicação e fonte de alimentação entre computadores e dispositivos eletrônicos.

Mas há um Protocolo de Comunicação USB real? Meu entendimento é que:

  1. Você conecta um dispositivo USB a uma máquina (Ubuntu ou qualquer tipo de Linux, por exemplo).
  2. O Linux encontra o driver de dispositivo para esse dispositivo de alguma forma ( se você sabe! ) eo carrega.
  3. O dispositivo agora está conectado sob / dev / theDevice .
  4. Aplicativos de espaço do usuário agora podem ler e gravar em / dev / theDevice e o O driver manipula a entrada e saída de baixo nível para o dispositivo / hardware subjacente

Até onde eu sei, um Protocolo de Comunicação USB não aparece em nenhum lugar nesse fluxo. Se meu entendimento estiver correto, o USB é apenas o cabo e a conexão elétrica entre o PC e o dispositivo.

Estou errado aqui? O USB realmente implementa algum tipo de protocolo de baixo nível que ressalta o fluxo acima? Em caso afirmativo, o que é e como funciona a uma vista de 30.000 pés?

Existe um Protocolo de Comunicação USB real?

Os contribuidores SuperUser da Resposta

RedGrittyBrick e projectdp têm a resposta para nós. Primeiro, RedGrittyBrick:

Sim (veja protocolos USB).

Pelo que entendi, a especificação USB define um conjunto complexo de protocolos em camadas e perfis de dispositivos.

Por exemplo, dispositivos USB podem estar em conformidade com modelos de nível como armazenamento em massa, teclado, dispositivo de interface humana, etc., e ser gerenciado por um driver de dispositivo genérico. Alguns dispositivos USB podem se comunicar em um nível inferior, de modo que o suporte USB de baixo nível do sistema operacional possa reconhecer que drivers de nível superior específicos do dispositivo são necessários.

Seguido pela resposta do projectdp:

Pergunta

protocolo de comunicação USB de baixo nível em ação e o que é?

Resposta

Sim, existe. A especificação USB inclui o protocolo USB que define a maneira como o barramento é usado em um nível de bit. Este seria o protocolo de baixo nível que subjaz aos protocolos de nível superior (ou seja, armazenamento em massa, HID, etc.).

Para detalhes sobre como o protocolo USB funciona, este wiki OSDev é útil. Aqui está outra descrição interessante usando diagramas de seqüência para descrever as várias transações de dados pelo protocolo USB

Bonus Question

Como o Linux encontra e carrega o driver de dispositivo para esse dispositivo?

Bonus Answer

On Linux Ao usar um kernel habilitado para USB, um dispositivo USB em funcionamento será detectado através do hardware e do kernel devido à especificação USB. No lado do hardware, a detecção é feita pelo controlador host USB. Em seguida, no kernel, o Driver do Controlador Host assume e converte os bits de baixo nível na conexão para informações formatadas no protocolo USB. Esta informação é então preenchida no driver usbcore no kernel.

Parafraseando deste excelente artigo Opensourceforu, que tem muito mais detalhes e clareza sobre a sua questão no contexto Linux.

Certifique-se de verificar o resto do kernel. a discussão animada através do link de discussão compartilhado abaixo!


Tem algo a acrescentar à explicação? Som desligado nos comentários. Quer ler mais respostas de outros usuários do Stack Exchange com experiência em tecnologia? Confira o tópico de discussão completo aqui.


Como inserir o Bootloader e os Ambientes de Recuperação do Android

Como inserir o Bootloader e os Ambientes de Recuperação do Android

Há ocasiões em que é necessário entrar no sistema de bootloader ou de recuperação do Android - talvez o SO esteja com problemas e você precise redefinir os recursos, ou talvez você quer enraizar seu telefone. Felizmente, a inicialização no bootloader e na recuperação é muito simples. Veja como fazer isso Como Acessar o Gerenciador de Inicialização do Android Entrar no gerenciador de inicialização não é necessariamente algo que você precisará fazer com freqüência, mas é definitivamente algo que é bom saber como fazer apenas no caso.

(how-to)

Um proprietário pode acessar uma rede pessoal porque controla a conexão upstream

Um proprietário pode acessar uma rede pessoal porque controla a conexão upstream

Se a única maneira de acessar a Internet é uma conexão direta com o roteador e o modem a cabo do proprietário, é possível que eles poderiam violar seu roteador e obter acesso à sua rede pessoal? A postagem de perguntas e respostas do SuperUser de hoje tem as respostas e alguns bons conselhos para um leitor preocupado.

(how-to)