NVIDIA Jetson Nano 開機故障排除

NVIDIA Jetson Nano 是這兩年當紅的 AI 運算平台,本身其實就是一套執行 Linux 的嵌入式系統主機。剛入手時如果發生惱人的開機問題也別慌,因為是 NVidia 大廠委外代工,品管都非常嚴格,拿到「機王」的可能性非常微小。

就我們經手的主機而言,唯一真正有問題的是有一台機器無法設定 800x600 以上的解析度,透過 xrandr -q 查看設定發現可能是罕見的 HDMI EDID 故障,應該是 HDMI I2C 連接的線路有問題。其他的狀況都是外接 GPIO 造成損壞,請見 如何安全地在 Jetson Nano 或 Raspberry Pi 樹莓派上使用 GPIO 一文說明。

譬如一般電腦開機會顯示 BIOS / EFI 之類的開機畫面,讓你知道至少主機可以正確輸出顯示。但是 Jetson Nano 的 boot loader 目的只是要載入儲存在 SD 卡上的作業系統,並不像是 PC 的 BIOS 包山包海,所以在沒有正確載入作業系統前是「完全沒有畫面」,必須等到作業系統自行驅動 HDMI 輸出功能後才會呈現畫面。所以接下來我們從頭開始檢查吧!

  1. 電源是否正常運作?以 Jetson Nano 4GB 為例,有兩種連接電源的方式。預設是採用 2.5A 以上的 USB 線,如果要採用大電流的 DC 變壓器方式供電,一定要把電源選擇 Jumper J48 插上,才能順利供電。
  2. 由於 Jetson Nano 本身有做電源序列(簡單講相當於開關彈跳保護)的關係,建議先把 DC 插頭與 AC 插頭都插入後,另外用一個(延長線上的)AC 開關控制開機啟動,這樣每次都能順利開機。如果是先把變壓器通電再插上 DC 插頭,因為會有彈跳問題,綠燈可能閃一下就滅了.... 使用時也請保持開發板穩定連接 DC 插頭。
  3. 如果 HDMI 沒有顯示輸出,請務必檢查或更換線材與螢幕,我們遇過太多次使用者認為故障無法開機的狀況,其實是線材品質不佳、或是螢幕解析度不相容所致。
  4. 還有一點就是,請務必用從官網下載、最新或最穩定的完整 image 進行開機,如果是在之前舊的主機上用一些 SDK manger 之類工具下載。因為這類系統有時會去修改主機上的某些設定,所以可能會發生舊主機可以正常運作,新主機反而出狀況的靈異事件。所以請掌握一個原則:新主機務必使用燒錄完整、乾淨系統 image 的 SD 卡開機,避免自尋困擾。典型範例可詳見 https://tr.makehub.tw/samples/jetson_nano/JP4.5_bootrom_on_older_board.log
  5. 如果還是無法進入系統,這時需要透過 console port 連接直接去看系統開機時的訊息輸出,詳見 Jetson/General debug。另外,如果對於 boot 程序有興趣的話,可以參考官方文件 Boot Flow
  6. 官方論壇上置頂的這兩份文件 Debug tips when you hit any issue (fail to boot/ keep reboot …etc)Jetson Nano FAQ 很不錯,請多多參考。
  7. 尤其是第一份文件,清楚地告知使用者必須提供詳盡的使用環境版本、以及 log 檔案(避免使用照片,文字才容易查找問題),以便讓官方工程師參與協助解決問題。那些「無法啟動」或「畫面一片漆黑」的回報,只會讓人傻眼,因為有各種可能狀況,工程師並不會通靈,無法憑藉這樣模糊的敘述抓問題。
  8. 有任何技術問題,也可以這個 Forum 上提出,會有 NVidia 工程師親自提出權威解答。