原文地址:http://www.xqlab.com/html/y2009/319.html
VID和PID通常情況下有兩種存儲方式,第一種是主控生產商的VID和PID,存儲在主控的bootcode中;第二種是設備生產商的VID和PID,該VID和PID存儲在主控外部的非易失性存儲設備中(EEPROM或Flash)的設備固件中,當USB設備連接主機時,如果固件中有設備生產商的VID和PID,會將該VID和PID報告給主機,而忽略主控生產商的VID和PID。所以理論上一個USB存儲設備的VID應該是設備生產商的VID,而不是主控生產商的VID,這兩個VID應該是不同的(主控生產商自己生產的設備除外)。
由于VID和PID重復并不會對產品的使用帶來嚴重影響,很多USB設備生產商(山寨廠居多)為了方便,并不會向USB執行論壇申請自己的VID,而是依然沿用主控生產商的VID或隨便向產品寫入VID和PID;同時,正規廠家只需要申請VID,PID由廠家自行確定,所以存在相同型號的產品,可能采用了不同的主控(商業需要,很正常),而他們的PID是一樣的,基于上述原因通過VID和PID就不能準確識別USB設備的主控型號,這個問題大家在使用USB設備的過程中需要注意。