2007年4月12日 星期四

USB 相容性問題(VISTA) -- Part (II)

   今天廠商把這個問題用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相容性... 多一台電腦都不嫌多!

工程師....歹命啊!.... 祝福大家!

 

3 則留言:

  1. 錢伯兄, 那這個存在的"不存在"指令到底微軟是用來做什麼的?

    回覆刪除
  2. 也許是Vendor Specific指令, 然後微軟拿來當做通過Vista認證的關卡?

    回覆刪除
  3. 賈老師的真老公2007年4月16日 中午12:03

    這個問題在Vista 上的測試項目稱為『Bad Descriptor test』及『Bad Feature test』...
    意思就是說 VISTA 故意要下一些錯誤的USB 訊息或命令,看看您的USB Device 會有什麼反應?
    就是這麼簡單。
    所以,既然是錯誤的訊息或命令,就是隨他亂下,這下我想事情是蠻大條的...
    哈~哈~ ...

    回覆刪除