我在讓 QNAP TS-464 辨識 Hailo-8 時似乎遇到問題。TS-464 正在執行 QTS 5.2.X,這個版本高於 Hailo-8 支援所需的版本。TS-464 有 2 個 M.2 插槽(每個提供 x1 PCIe 通道),並且有一個 Gen3 PCIe x4 插槽,提供 x2 PCIe 通道。
QNAP 的相容性列表顯示 Hailo-8 B+M key(型號 HM218B1C2LAE)——這個版本支援 x2 PCIe 通道。
但我買的是 M key 版本,產品型號為:HM218B1C2FAE。M-key 版本支援 4 通道,但我已確認它會降速至 x2 PCIe 通道,並且有 Hailo 員工確認它也能降速至只用 x1 PCIe 通道。
所以這看起來是底層的問題——我在 lspci 裡看不到這張卡。
我已經按照以下流程測試:
- 將 Hailo-8(M key)插入 QNAP 的第一個 M.2 插槽。在 lspci 裡沒有顯示。
- 將 Hailo-8 插入 QNAP 的另一個 M.2 插槽。在 lspci 裡還是沒有顯示。
- 將 Hailo-8 插入我的筆電的 M.2 插槽。在筆電上運作正常。因為筆電的 M.2 支援 x2 通道,所以我知道 Hailo-8 會協商降速到 2 通道。這也被 Hailo Integration Tool(Hailo 整合工具)確認。
- 懷疑 QNAP 的 M.2 插槽可能有問題,我用 1TB Samsung NVMe 各插一次測試。兩個插槽都正常運作,雖然降速到 x1 通道。
- 於是我想會不會 Hailo-8 無法降速到 QNAP M.2 插槽的 x1 通道。於是我用 PCIe 轉 M.2 轉接卡(Startech PEX4M2E1)插到 QNAP 的 PCIe x4 插槽。結果還是沒有在 lspci 裡顯示!紅燈亮著,所以有供電。
- 為了確定 Startech 轉接卡沒問題,我也插了一顆 NVMe 硬碟測試。在 QNAP 上運作正常(顯示使用 x2 PCIe 通道)。所以不是轉接卡的問題!
- 最後我把 Startech(插著 Hailo-8)移到 Windows PC。運作正常!
dmesg 沒有顯示任何相關訊息,也沒確認核心驅動有載入。Hailo 告訴我 -LAE 和 -FAE 版本的晶片和核心驅動是一樣的。
而且,即使 -LAE 和 -FAE 版本之間有什麼不同,裝置還是應該能在總線上列舉並在 lspci 裡看到。(我用過 busy box 版本,也用過安裝 Entware 後的完整 pciutls 版 lspci)
我不認為啟動流程有什麼特殊之處會導致無法被辨識:
[~] # cat /proc/cmdline
consoleblank=0 console=ttyS0,115200n8 intel_iommu=on,igfx_off i915.enable_hd_vgaarb=1 iommu=pt i915.disable_power_well=0 i915.enable_rc6=0 i915.enable_guc=2 memmap=2M$0x8000000 ramoops.mem_address=0x8000000 ramoops.mem_size=0x200000 ramoops.console_size=0x100000 usbcore.autosuspend=-1 zswap.enabled=1 zswap.compressor=lz4 BOOT_IMAGE=/boot/bzImage root=/dev/ram0 rw
iommu 設定可能會影響 VM 可用性,但不應該阻止卡片被列舉…
有沒有什麼建議,也許 BIOS 有什麼選項可以嘗試切換?
有人成功讓 B+M Key 或 M-key 的 Hailo-8 運作嗎?



