今天廠商把這個問題用USB anaylzer 把資料抓下來傳給我看。
仔細的研究一下內容~果然是不出我所料!
微軟果然是%#&.... 竟然在他的USB LOGO測試平台發出一些令人意想不到的protocol ...
就是不存在Chapter 9 的Protocol 命令.... 大概只有微軟才會這麼吃飽太閒!...
...
117430_| L(S) Sync(00000001) SETUP(0xB4) ADDR(3) ENDP(0) CRC5(0x0A)
_______| EOP( 1.867 盜) Time-stamp(00118.1107 1491)
_______|_______________________________________________________________________
117431_| L(S) Sync(00000001) DATA0(0xC3) Data(81 06 00 23 00 00 12 00)
_______| CRC16(0x9BFC) EOP( 1.867 盜) Time-stamp(00118.1107 3011)
_______|_______________________________________________________________________
117432_| L(S) Sync(00000001) ACK(0x4B) EOP( 1.867 盜)
_______| Time-stamp(00118.1107 7195)
.... 看到沒?!VISTA 的USB LOGO 測試平台竟然下一個:81 06 00 23 00 00 12 00 ...
您可以去翻一下 Chapter 9 ....這個命令叫什麼?!不存在!.....
所以,根本都還沒到您USB 的Driver 端!.... 就光是您USB Device 的Enumeration 的BOOT Code..
就不一定有想到這一招吧!....
很不幸的是....台灣有許多作USB Device 的這些Boot Code 有可能是直接燒死在IC 內部!
不像有些人還比較聰明一點:還外掛一顆EEPROM....所以,若當初Boot Code 沒想到的話...
呵~呵~....有人可能要花錢消災了.... 當然,微軟又是既得利益者!...
因為,您們為了測這個USB LOGO ...又要買VISTA ...然後還要花錢測試...
因為要取得微軟USB LOGO的認證.... 要是花錢的耶!
或許不多.... 但光台灣廠商一路收下來.... 哈~哈~....我們還是當了冤大頭了!
唉~唉~.... 老話一句:要測USB相容性... 多一台電腦都不嫌多!
工程師....歹命啊!.... 祝福大家!
錢伯兄, 那這個存在的"不存在"指令到底微軟是用來做什麼的?
回覆刪除也許是Vendor Specific指令, 然後微軟拿來當做通過Vista認證的關卡?
回覆刪除這個問題在Vista 上的測試項目稱為『Bad Descriptor test』及『Bad Feature test』...
回覆刪除意思就是說 VISTA 故意要下一些錯誤的USB 訊息或命令,看看您的USB Device 會有什麼反應?
就是這麼簡單。
所以,既然是錯誤的訊息或命令,就是隨他亂下,這下我想事情是蠻大條的...
哈~哈~ ...