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).
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:
- Você conecta um dispositivo USB a uma máquina (Ubuntu ou qualquer tipo de Linux, por exemplo).
- O Linux encontra o driver de dispositivo para esse dispositivo de alguma forma ( se você sabe! ) eo carrega.
- O dispositivo agora está conectado sob / dev / theDevice .
- 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?
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 atualizar um sistema Linux de inicialização dupla para o Windows 10
Se você é um usuário Linux, há uma boa chance de ter instalado o Linux junto com um sistema Windows 7 ou 8.1 existente. uma configuração de inicialização dupla. Você pode obter a atualização gratuita do Windows 10 sem danificar seu sistema Linux existente. Mesmo que você tenha sobrescrito seu sistema Windows original com o Linux, você ainda pode obter a atualização gratuita do Windows 10.
Como esquecer uma rede Wi-Fi no seu iPhone ou iPad
Por padrão, os dispositivos iOS lembram-se das redes Wi-Fi que você uniu no passado e tentam automaticamente reconectar no futuro. Esse recurso é bastante útil na maioria das vezes, mas ocasionalmente pode ser um incômodo. Felizmente, é fácil fazer com que o iOS esqueça redes Wi-Fi específicas. Muitos de nós vivemos e trabalhamos em locais onde há apenas uma rede Wi-Fi que você realmente usa.