Estoy tratando de desarrollar un dispositivo portátil que me permita transferir datos de un dispositivo de almacenamiento USB a otro sin usar una PC / computadora portátil. Estaba leyendo la guía de desarrolladores de Jan Axelson donde encontré una sección que decía que uno debe comprar una identificación de proveedor / identificación de producto USB para hacer cualquier dispositivo USB. Leí lo mismo en el Foro de implementadores USB. No estoy seguro de la importancia de esta identificación de producto en mi proyecto.
¿Es algo así como una dirección MAC para computadoras / laptops y la necesitaré?
¿Es algo necesario solo para desarrollar dispositivos periféricos y no dispositivos como lo que deseo implementar (que supongo que es más como un host)?
fuente
Respuestas:
No estoy seguro de qué es exactamente lo que quiere hacer, pero si se trata de un dispositivo host, de hecho no necesita un VID / PID USB.
El host usa el VID / PID USB de un dispositivo esclavo para identificar los controladores que se utilizarán para el dispositivo esclavo. Un dispositivo host no necesita identificarse con el esclavo, por lo tanto, no necesita un VID / PID.
fuente
Solo los dispositivos necesitan un VID y un PID, no hosts.
El ID de proveedor o VID es un número de 16 bits que debe comprar en USB Foundation. Si desea crear un dispositivo USB (y cumplir plenamente con las reglas), el VID identifica su organización.
La identificación del producto o PID también es un número de 16 bits pero está bajo su control. Cuando compra un VID, tiene derecho a usarlo con cada PID posible, por lo que le ofrece 65536 combinaciones posibles de VID: PID. La intención es que una combinación VID: PID identifique de manera única un producto en particular a nivel mundial.
Esto garantiza que ninguna PC pueda ver dos dispositivos diferentes con el mismo VID y PID ya que la PC los utiliza para identificar el dispositivo; de lo contrario, podría producirse un conflicto.
Nota: a diferencia de un MAC-ID, el propósito de una combinación VID: PID es identificar de forma única un tipo de dispositivo en la medida en que el sistema operativo sepa qué controladores usar, no siempre es necesario poder distinguir entre dos dispositivos idénticos. Por ejemplo, dos memorias USB tienen la computadora no solo sabe qué dispositivo es, sino a qué puerto está conectado.
Cuando conecta un dispositivo USB en el sistema operativo, le pide al dispositivo su VID y PID y le da al dispositivo una dirección que continuará usando hasta que se retire el dispositivo (o la computadora se apague).
Una vez que la PC conoce el VID y el PID, verifica si ya los conoce. Si lo hace, carga los controladores correctos para ello; si no, se le da la oportunidad de instalar cualquier controlador relevante. Este proceso se llama enumeración.
Por otro lado, un MAC-ID no proporciona por sí mismo ninguna información sobre qué es un dispositivo (computadora, impresora, enrutador, etc.), pero identifica de forma exclusiva un dispositivo: dos PC idénticas tendrán diferentes MAC-ID como si ambos se conectan a la misma red Ethernet que no funcionará correctamente. Sin embargo, dos memorias USB idénticas tendrán VID y PID idénticos.
Si quiero fabricar y vender 1 millón de dispositivos USB idénticos, solo necesito comprar un VID. Si quiero fabricar y vender 1 millón de dispositivos Ethernet, tengo que comprar 1 millón de MAC-ID
fuente
Tenga en cuenta que algunos proveedores de hardware, como Microchip , están dispuestos a sublicenciar su propia ID de proveedor a sus clientes, de forma gratuita.
fuente