2015年4月24日 星期五

FT232 晶片被 FTDI 官方的新版驅動程式弄成磚的解決方案

FT232 是許多開發板上用來提供 USB to RS232 功能的晶片,包括 Ardino NANO 在內。不過由於使用廣泛, 因此有許多廠商生產了 FT232 相容晶片,此舉可能讓 FTDI 覺得損失太多,因此去年 10 月時透過 Windows Update 提供了一版殺手級的驅動程式 (2.12.00),它會在發現非 FTDI晶片時把該晶片的產品識別碼 (PID) 變成 0, 使得這個晶片無法被識別,因而無法在 Windows 下正常運作。相關訊息可參考國外報導

如果你發現接上 Arduino NANO 後, 在裝置管理員看到這樣的問題裝置:



可以進一步在此裝置按滑鼠右鍵, 在快顯功能表中選『內容』後切換到『詳細資料』頁面:



若發現 PID_0000 就表示你也遇上了。這時候請不要慌張, 根據我看到的這一段教學影片, 你可以利用以下步驟讓這一片 NANO 板可在目前使用的電腦上運作:
  1. 先下載官方提供的驅動程式。下載後解壓縮等待後續使用。
  2. 在前面裝置內容的交談窗中切換到『驅動程式』頁次, 按一下『更新驅動程式』:


    按一下『瀏覽電腦上的驅動程式軟體』:


    再按一下『讓我從電腦上的裝置程式清單中挑選』:



    選取『所有裝置』後按『下一步』:



    按一下『從磁片安裝』



    在出現的交談窗中按『瀏覽』, 並選取剛剛下載解開的驅動程式資料夾中的 ftdibus.inf 檔案:



    之後按『確定』:



    接著在型號中選『USB Serial Converter』後按『下一步』:



    接著會出現一個警告視窗, 請大膽的按『是』進行安裝:



    順利安裝完成後會看到以下交談窗:



    按『關閉』後再把裝置內容視窗也一併關閉後, 會在裝置管理員中看到裝置名稱變成『USB Serial Port』了:



    一樣在裝置上按滑鼠右鍵選『內容』準備進行下一步驟。
  3. 重複步驟 2,這次開啟 ftdiport.inf 檔案:



    並在後續交談窗中選『USB Serial Port』後按『下一步』開始安裝:



    安裝之後關閉裝置內容視窗,就會看到裝置管理員中, NANO 正確的出現在『連接埠』的分類下, 也取得連接埠的編號了:



    你可以試試用 Arduino開發環境上傳程式到 NANO 板, 應該可以正常運作了。
 上述步驟雖然可以讓該部電腦使用被殺掉變磚的 NANO 板, 但這片 NANO板本身的 PID 仍然是被標記為 0, 如果你拿到另外一部電腦上使用,會發現還是無法使用, 必須在新的這部電腦上重複上述步驟才能用。為了解決這個問題, 我參考了這一段教學影片,即可依照以下步驟使用 FTDI官方提供的工具將 NANO 板上的 FTDI 晶片的 PID 恢復為正確的 6001:
  1.  首先至 FTDI 官網下載工具軟體 M_Prog,下載後一樣解壓縮。
  2. 執行解開後的 M-Prog.exe。
  3. 執行『Device/Scan』功能表指令:
  4. 從掃描結果可以看到有一個可程式化的裝置:
  5. 接著執行『Tools/Read and Parse』功能表指令:
  6. 可以看到 Product ID 是 0000:
  7. 請改為 6001:


    然後按儲存, 取自己喜歡的檔名後存檔:



    存檔後即可按『Program』鈕將編輯好的內容燒錄到晶片上:



    燒錄完成後可以看到下方的文字框內會出現燒錄序號:

  8. 完成後將 NANO 板拔起來後再重新接上 USB 傳輸線, 會看到 NANO 板正確出現在裝置管理員中:



    你會發現這時候取得的連接埠編號與剛剛不同, 這次是正常的 NANO 晶片, 而不是強迫用 FT232 的驅動程式所取得的編號。
  9. 完成上述步驟後, 就可以把這片 NANO 板拿到其他電腦使用了。

10 則留言:

  1. 按著上面的步驟進行設定,已經修復完成,感激不盡

    回覆刪除
  2. 作者已經移除這則留言。

    回覆刪除
  3. 作者已經移除這則留言。

    回覆刪除
  4. 作者已經移除這則留言。

    回覆刪除
  5. 您好,我第一步驟做完後,發現了這個問題
    NANO 板正確出現在裝置管理員中

    但是有個三角形驚嘆號

    下面有這一段話

    Windows 無法驗證此裝置所需之驅動程式的數位簽章。最近的硬體或軟體變更可能安裝未正確簽署或已損毀的檔案,或可能安裝了來源不明的惡意軟體。 (代碼 52)

    而且ARDUINO IDE 依舊無法上傳程式。

    請問該如何解決呢?

    回覆刪除
    回覆
    1. 更正 ARDUINO IDE 依舊無法找到連接阜

      刪除
  6. 請問,我用Arduino Mini Pro + FTDI to TTL 轉接板,要用什麼方式來解決?

    回覆刪除
  7. 這是 FTDI 晶片的問題, 應該是依照同樣的步驟修復 FTDI to TTL 轉接板即可

    回覆刪除
  8. 太感謝你了成功以後感動到快哭了

    回覆刪除