Estou tentando desenvolver um dispositivo portátil que permita a transferência de dados de um dispositivo de armazenamento USB para outro sem o uso de PC / laptop. Eu estava lendo o guia do desenvolvedor de Jan Axelson, onde me deparei com uma seção que dizia que era preciso comprar um ID de fornecedor / ID de produto USB para fazer qualquer dispositivo USB. Eu li o mesmo no fórum dos implementadores USB. Não tenho certeza da importância desse ID do produto no meu projeto.
É algo como um endereço MAC para computadores / laptops e precisarei?
É algo necessário apenas para o desenvolvimento de dispositivos periféricos e não dispositivos como o que eu desejo implementar (que eu acho que é mais como um host)?
usb
usb-device
usb-host
Infusão de absinto n Asfodel
fonte
fonte
Respostas:
Não sei exatamente o que você deseja criar, mas se for um dispositivo host, você realmente não precisará de um USB VID / PID.
O USB VID / PID de um dispositivo escravo é usado pelo host para identificar o (s) driver (s) a ser usado para o dispositivo escravo. Um dispositivo host não precisa se identificar com o escravo, portanto, não precisa de um VID / PID.
fonte
Somente dispositivos precisam de um VID e um PID, não de hosts.
O ID do fornecedor ou o VID é um número de 16 bits que você precisa comprar da USB Foundation. Se você deseja criar um dispositivo USB (e cumprir totalmente as regras), o VID identifica sua organização.
O ID do produto ou o PID também é um número de 16 bits, mas está sob seu controle. Quando você compra um VID, tem o direito de usá-lo com todos os PID possíveis, o que lhe dá 65536 combinações possíveis de VID: PID. A intenção é que uma combinação VID: PID identifique exclusivamente um determinado produto globalmente.
Isso garante que nenhum PC possa ver dois dispositivos diferentes com os mesmos VID e PID que o PC os utiliza para identificar o dispositivo, caso contrário, poderá ocorrer um conflito.
Nota: Ao contrário de um MAC-ID, o objetivo de uma combinação VID: PID é identificar exclusivamente um tipo de dispositivo na medida em que o sistema operacional sabe quais drivers usar, nem sempre é necessário ser capaz de distinguir entre dois dispositivos idênticos. Por exemplo, dois cartões de memória USB fazem com que o computador não apenas saiba em que dispositivo está, mas também em qual porta está conectado.
Quando você conecta um dispositivo USB ao sistema operacional, solicita seu VID e PID e fornece ao dispositivo um endereço que ele continuará usando até que o dispositivo seja removido (ou o computador desligado).
Uma vez que o PC conhece o VID e o PID, ele verifica se já os conhece. Se isso acontecer, ele carrega os drivers corretos para ele; caso contrário, você terá a oportunidade de instalar quaisquer drivers relevantes. Esse processo é chamado de enumeração.
Por outro lado, um ID MAC não fornece informações sobre o que é um dispositivo (computador, impressora, roteador etc.), mas identifica um dispositivo exclusivamente: dois PCs idênticos terão IDs MAC diferentes, como se ambos são conectados à mesma rede Ethernet, não funcionará corretamente. No entanto, dois cartões de memória USB idênticos terão VID e PID idênticos.
Se eu quiser fabricar e vender 1 milhão de dispositivos USB idênticos, preciso comprar apenas um VID. Se eu quiser fabricar e vender 1 milhão de dispositivos Ethernet, tenho que comprar 1 milhão de IDs de MAC
fonte
Observe que alguns fornecedores de hardware, como a Microchip , desejam sublicenciar seu próprio ID de fornecedor para seus clientes, gratuitamente.
fonte