1. 程式人生 > >USB的VID和PID

USB的VID和PID

    根據USB 規範的規定,所有的USB裝置都有供應商ID(VID )和產品識別碼(PID ),主機通過不同的VID和PID來區別不同的裝置,VID和PID都是兩個位元組長,其中,供應商ID(VID)由供應商向USB執行論壇申請,每個供應商的VID是唯一的,PID由供應商自行決定。

   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裝置的過程中需要注意。

有專門的軟體可以檢測:如騰樓莊園usb工具箱等。

 經常量產U盤的時候會叫可以改VID PID,感覺是隨便改一樣,都不會影響U盤使用,但究竟這個id是幹什麼的呢?

    根據USB規範的規定,所有的USB裝置都有供應商ID(VID)和產品識別碼(PID),主機通過不同的VID和PID來區別不同的裝置。大家可以再U盤連到電腦後在裝置管理器的U盤屬性裡看到這個ID號,如下圖:

U盤的VID和PID究竟是幹什麼用的?

     VID和PID都是兩個位元組長,其中,供應商ID(VID)由供應商向USB執行論壇申請,每個供應商的VID是唯一的,PID由供應商自行決定,理論上來說,不同的產品、相同產品的不同型號、相同型號的不同設計的產品最好採用不同的PID,以便區別相同廠家的不同裝置。

     我們瞭解到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裝置的過程中需要注意這個問題。