Tuesday Sep 17, 2024

DIY PiKVM 搭建採買及採坑

PiKVM - Raspberry Pi 開放且便宜的 , 有助於遠端管理伺服器或工作站

無論作業系統的運作狀況如何或是否安裝了作業系統 , 您可以修復任何軟體上問題 , 調整 BIOS , 甚至使用虛擬 CD-ROM 或隨身碟重裝系統

DIY 成本取決於所需的功能 , 即使最貴的版本也比商用 IP-KVM 便宜



系統 Arch Linux ARM Read-only 模式

具備一些 Linux 使用經驗 , 可以玩的順手

給有興趣的一些指南

一篇文章講的有限 , 還是去看看 PiKVM 官方指南

聲明

硬體選擇

基於 PiKVM 官網釋出的

DIY PiKVM V2 Instructions 挑選相容配件

使用基於 Raspberry Pi 4B

支援有線網路及 TypeC 能直接 OTG 輸出鍵鼠訊號給到主機

不會使用 USB 擷取卡方案 : 延遲過於高 , 且占用 SBC 所剩無幾的 USB PORT


基礎版

  1. Raspberry Pi 4B 2GB ×1( 可選擇記憶體更大的款式,但意義不大 )
  2. Raspberry Pi 小鋁片散熱器 ×1 套 ( 4B 用的是 4 個的樣子 )
  3. MicroSD ×1 ( 至少 16GB , Class 10 的卡 )
  4. Raspberry Pi 4B 官方變壓器 5V3A ×1
  5. HDMI to CSI 轉接板 ( 基於 TC358743XBG 關鍵字 微雪 HDMI to CSI , Geekworm C779 , Blicube C780 , Geekworm C790 , Geekworm X630 , Geekworm X1300 )
  6. USB TypeC 電-USB 分離板 / Type-C 一分二同時充電-OTG 接頭組 ×1
  7. USB TypeC-TypeC 線 ×1 ( 連接 TypeC 電-USB 分離板至 PiKVM , 使用一分二線的可以跳過 )
  8. USB TypeA-TypeC 線 ×1 ( 連接接 PiKVM 到電腦,長度視距離 )
  9. HDMI 線 ×1 ( 長度視 PiKVM 至被控電腦距離 )

基礎 Pro 版

基礎版 加 1 套 USB ATX Ctrl

  1. USB ATX Ctrl 小板 ×1 ( 可控制電腦開關機 )
  2. USB TypeA - TypeC  ×1 ( 長度視 PiKVM 至被控電腦距離, 連接 USB ATX Ctrl 小板用 )

多裝置版

基礎版
加 1 套相容的 KVM Switch

基礎版 第 8,9 項

從直連電腦變成連接至 PiKVM 至 KVM SWITCH
建議縮短長度,線材整理收納是個問題

  1. BLIKVM HDMI XH-HK4401 切换器 KVM ×1 ( 我這裡選擇 Copycat 方案 4 port , 便宜 , 方便購買 , 且幫你調整好 )
  2. HDMI 線 ×4 ( 第 1 項內有對應線材,長度不足,再額外購買 )
  3. USB Type A -Type B ×4 ( 連接電腦至 KVM SWITCH , 第 1 項內有對應線材,長度不足,再額外購買 )
  4. USB Type A - MicroB ( KVM SWITCH 控制線 , 連接至 PiKVM )

多裝置 Pro 版

基礎版
加 1 套相容的 KVM Switch
加 4 套 USB ATX Ctrl

基礎版 第 8,9 項

從直連電腦變成連接至 PiKVM 至 KVM SWITCH

建議縮短長度,線材整理收納是個問題

  1. BLIKVM HDMI XH-HK4401切换器 KVM ×1 ( 我這裡選擇 Copycat 方案 4 port , 便宜 , 方便購買 ,且幫你調整好 )
  2. HDMI 線 ×4 ( 第 1 項內有對應線材,長度不足,再額外購買 )
  3. USB Type A - Type B ×4 ( 連接電腦至 KVM SWITCH , 第 1 項內有對應線材,長度不足,再額外購買 )
  4. USB Type A - MicroB ( KVM SWITCH 控制線 , 連接至 PiKVM )
  5. USB ATX Ctrl 小板 ×4 ( 可控制電腦開關機 )
  6. USB TypeA - TypeC  ×4 ( PiKVM 至被控電腦距離 , 連接 USB ATX Ctrl 小板用 )
  7. USB TypeA HUB ( 連接第 6 項 多個 USB TypeA 到樹梅派 , USB Port 可能會有不足的情況 )

增加額外功能

風扇

加強散熱可以加風扇

HDMI OUT 還出的

有需要 HDMI OUT 還出 , 可外接螢幕

將原本 HDMI to CSI 轉接板

替換成 Geekworm X1301 ( 帶 HDMI OUT 還出功能 ) 驗證過 Raspberry Pi 4B 可用

Pro 版的 USB ATX Ctrl 小板

USB-ATX-CTRL

production 資料夾裡的 gerber.zip 去到 JLCPCB,PCBWay 或 其他板廠

選項選好下單結帳就會有空板寄出來

PCB 空板長這樣

USB-ATX-CTRL-PCB

再依照 如下 BOM 買元件

FootprintQuantityMouser#Description
D31645-599-0411-127FRed,HDD LED
D41645-599-0480-127FGreen,Power LED
J11538-10-89-40822 X 04P PIN
K1, K22769-AQW210EHAAQW210EHA
R5,R62667-ERA-8ARB333V33k
R1,R2,R3,R4,R7,R86667-ERA-8AEB561V560R
SW1,SW22688-SKHWAPA010POWER,RESET
RZ11RP2040-ZERO
杜邦線 母 - 母8杜邦線 母 - 母

RP2040-ZERO 去淘寶 / 蝦皮 / 電子材料店 買就好

" 杜邦線 母 - 母 " 連接主機板 前面板

其餘零件我選擇 Mouser / Digikey 正規廠商

淘寶買過 Remark 仿品和保存不佳的不敢了

LCSC 立創商城是可以看看, 但不一定都會有對應的元件

烙鐵焊接 , 成品如下

Flux 沒清乾淨就拍照 , 看起來有點髒 , 也焊的不怎麼樣湊合看

USB-ATX-CTRL-PCBA

硬體安裝

Raspberry Pi 4B 散熱器貼一貼

在接上 HDMI to CSI 轉接板

然後螺絲桐柱固定好

USB TypeC 電-USB 分離板

PWR 端連接 Raspberry Pi 4B 官方變壓器

USB 端連接電腦或 KVM

自己發揮一下

附圖給參考

PiKVM Pro 連接圖

PiKVM Pro 連線路

PiKVM Pro 4Port 連接圖

PiKVM Pro 4Port 連線路

軟體安裝

準備相關檔案

PiKVM Flash OS

取得官方釋出鏡象檔案 跳至

DIY PiKVM V2 Platform > Raspberry Pi 4 > For HDMI-CSI bridge

下載儲存備用

Raspberry 官方推出的 RPi Imager

將鏡象寫入至記憶卡的軟體

根據自己的平台選擇安裝檔


鏡象寫入至記憶卡

安裝 RPi Imager , 應該不用教啦

開啟 RPi Imager

RPi-Imager

Raspberry Pi Device 下拉選擇 NO FILTERING

RPi-Imager2

"請選擇需要寫入的操作系統"下拉選擇 Use custom

再選擇剛剛官網下載來的鏡象

"儲存卡"點進去 , 選擇你的 MicroSD 裝置

等待燒錄完成提示


USB-ATX-CTRL Firmware 如何燒入

用 USB 線將 RP2040 連接電腦

先按下 RESET 再按下 BOOT

先鬆 RESET 再鬆 BOOT 就可以進去燒錄模式

PiKVM-USB-ATX-CTRL

firmware 內的 dln2.uf2 拖進去

燒錄就完畢


設定

插電開機

去 router 看新上線 PiKVM 的 IP

然後瀏覽器開啟該 IP , 確認一下是否為 PiKVM

預設使用者是帳號 admin , 密碼 admin , 沒有 2FA 驗證

確定是該 IP 後那就可以開啟 PuTTY , teraterm 等,但不限於可 ssh 軟體

或使用 windows 終端機輸入

用超級使用者 root , 預設密碼是 root

Login

以下內容會用到 linux 文字編輯器 nano ( 要用 vim 編輯也不是問題 , 同理 )

務必先去了解快捷鍵使用可解決一些操作問題

再來由於系統是 Read-only 模式 , 更改設定前

必須先下 rw 指令啟用 Read-Write

結束修改 ro 指令恢復 Read-only


修改 root 和 admin 密碼

!! 拜託請修改密碼 !!

打密碼不會顯示這很正常

!! 拜託請修改密碼 !!


改變鏡象站來源

連國外鏡象站太慢

縮短系統更新花費的時間

下載速度快一點,穩定一點

將原本的改成

更多地區的 Arch Linux Arm 鏡象站

Arch Linux Arm mirrors


鎖定預設解析度在 1080P

鎖定解析度我建議啟用

我手上一張 GT1030 進系統能 1080P 甚至更高

進 Bios 一開始還卡在 720P

顯示卡識別到把解析度切到 1080P

但 PiKVM 識別不到畫面就卡死


USB ATX CTRL ,配置 override.yaml 及修改 web.css 介面樣式

USB ATX CTRL

參考 PiKVM-USB-ATX-CTRL

需要先安裝相關依賴

進入這個目錄,你會看到插上去的裝置

我建議可以先 1 次 1 片

把序號記錄下來,等一下會用到


配置 override.yaml

貼入下方

再依照 Port 將上面得到的序號
取代進去 SN0,SN1,SN2,SN3


修改 web.css

更改同目錄下的 web.css

存檔,重啟


遠端訪問

PiKVM Docs 給出三種

  • Port forwarding 通訊埠轉發 ( 必需 Must 強密碼和 2FA 驗證 , 否則就被 Try 到死 )
  • Tailscale VPN ( 使用者可以自由移除加入網路的裝置 )
  • Cloudflare Tunnels ( 一開頭聲明處寫著屬於社群提出的 , 非 PiKVM 官方解決方案 )

較推薦的解法用 tailscale VPN 組建虛擬內網

由於非必須我就放參考網站

原則上是沒有不同

PiKVM 官方 Tailscale 設定
Tailscale 官方文件教學 PiKVM 設定


更新系統

由於 PiKVM 官方會修復 bug 和新增功能

以及 Linux 也會更新相關系統組件及安全性修復

更新指令如下

更新完會自動重開機


後話

建議給 PiKVM 專案贊助點錢

讓這個項目繼續下去 , 這樣大家才能繼續動手 DIY 享受便宜的 IP-KVM

我也在想辦法畫盒子收納PiKVM

相關來源

pikvm docs
usb-atx-ctrl
pikvm-usb-atx-ctrl
dln2-dkms
arch linux arm mirror list


Vinc

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

Back to Top