QNAP QHora-321 全2.5GbE路由器評測,還有你們想要的刷OpenWRT固件教程
前言
2022年隨著2.5GbE以太網(wǎng)產(chǎn)品終端的普及,以及中國電信開始正式推廣2000M的寬帶接入。新的2.5GbE以太網(wǎng)的時代到來。新時代需要新的產(chǎn)品,QNAP發(fā)布了新世代的路由器QHora-321和QHora-322。QHora-321是6 x 2.5GbE接口規(guī)格,QHora-321是3 x 10GbE+6 x 2.5GbE。2款路由器都支持QNAP QuWAN SDWAN組網(wǎng)技術(shù)。
開箱和拆解
此次我們拿到的是QNAP QHora-321,外包裝牛皮紙包裝盒,QuWAN作為最主打功能在C位展示。

配件包含電源適配器和一條網(wǎng)線,電源適配器為分體設(shè)計(jì),可以滿足不同國家的使用。

電源適配器來自全漢,12V3A,36W的規(guī)格。需要注意的是插口是5.5 x 2.5規(guī)格,準(zhǔn)備使用統(tǒng)一供電的伙伴注意插口尺寸。

QHora-321主機(jī)通體白色,整機(jī)金屬材質(zhì)保證散熱。前面板為塑料材質(zhì),拉絲表面處理很有質(zhì)感。

QHora-321背后是他的接口和網(wǎng)絡(luò)指示燈部分。

重點(diǎn)我們要說一下這臺路由器的體積,長16.64cm,寬14.57cm,高3.4cm??赡艽蠹覍@個數(shù)字沒概念,我找個手機(jī)作為參照物對比下。

作為這個性能這個規(guī)格的路由器,這個體積大小是完全出乎意料的。在如今路由器一個比一個大的大環(huán)境下,這是為數(shù)不多的幾臺可以放入弱電箱的路由器。
QHora-321背后的接口很簡潔,6個2.5GbE以太網(wǎng)接口,以及電源和Reset口。每個以太網(wǎng)幾口都有2個獨(dú)立的連接狀態(tài)指示燈和1個WAN/LAN指示燈。

擰開背后3個螺絲,我們拆開QHora-321 QHora-321內(nèi)部使用了大面積的散熱片,并提供了一個風(fēng)扇保證散熱,使用中風(fēng)扇噪音基本聽不到。還提供了一個用于擴(kuò)展存儲的M.2插槽,可以安裝2242規(guī)格的SSD,一個USB3.2 Gen1接口。

QHora-321處理器使用了Marvell OCTEON TX2 CN9131。6個2.5GbE網(wǎng)口的Phy芯片使用了Marvell AQR112系列。

Marvell OCTEON TX2 CN9131,采用4核心A72架構(gòu),搭配Marvell 88F8215擴(kuò)展芯片,可以實(shí)現(xiàn)更多的以太網(wǎng)接口和PCIe接口。

原廠固件
原廠固件的儀表盤,可以看到QHora-321工作狀態(tài)和網(wǎng)絡(luò)連接狀態(tài)

路由器接口配置,可以指定網(wǎng)口是LAN還是WAN,所有的接口都支持2.5GbE。

原廠固件支持多WAN口,這邊配置了2條聯(lián)通寬帶同時使用。

儀表盤WAN概述也對應(yīng)變成2個WAN口。

QuWAN和QVPN是QHora系列路由器特色的企業(yè)組網(wǎng)功能,提供了跨區(qū)域組網(wǎng)。

搭配智能組網(wǎng),QNAP經(jīng)典的DDNS服務(wù)依然提供。

網(wǎng)絡(luò)與測速
這里簡單做個寬帶測速,使用上海電信2000M寬帶,光貓使用中興F4607p,通過光貓的2.5GbE網(wǎng)口連接到QHora-321的WAN口,PC使用2.5GbE網(wǎng)口連接到QHora-321。
使用上海電信官方測速網(wǎng)站測速,看到跑滿2000M沒任何問題。

使用SpeedTest桌面APP進(jìn)行測速??梢钥吹脚軡M2000M也是沒問題。

OpenWRT
我們把QHora-321刷入了定制版本的OpenWRT

簡單的對刷入OpenWRT的QHora-321進(jìn)行性能測試,依然使用了上海電信2000M環(huán)境經(jīng)行測試,可以看到寬帶測速速結(jié)果非常不錯。

順便在OpenWrt上安裝了網(wǎng)易UU游戲加速器,為Switch提供游戲加速,測試打斯普拉遁3不掉線了。

OpenWRT固件教程

從原廠固件刷機(jī)到OpenWRT。
1、需要準(zhǔn)備一條TTL線連接到QHora-321,需要注意的是TTL的針腳間距是2.0mm。QHora-321的TTL線接口如下所示,針腳定義從左到右依次為Tx、Vcc、Rx、Gnd。只需要連接Tx、Rx、Gnd即可。

2、準(zhǔn)備一個U盤,U盤必須為FAT32格式,里面存放如下刷機(jī)文件,并把U盤插到QHora-321內(nèi)部的USB接口上。cn9131-qhora-321.dtb和Image用于啟動臨時OpenWRT。mmcblk0p1.img和mmcblk0p3.img為固件鏡像文件。

刷機(jī)文件可以在固件下載服務(wù)器下載到,也可以按下方第二部分教程自己制作。
3、使用波特率115200連接TTL線,給QHora-321上電,出現(xiàn)如下指令,快速按任意鍵,讓QHora-321停止在U-Boot模式。
Hit any key to stop autoboot: ?0
4、輸入如下命令啟動U-Boot的USB功能。
usb start
5、依次輸入如下命令,從U盤加載臨時OpenWRT,并且啟動臨時OpenWRT
fatload usb 0:1 0x6500000 Image
fatload usb 0:1 0x6000000 cn9131-qhora-321.dtb
booti 0x6500000 - 0x6000000
6、在OpenWRT的CLI中輸入如下命令,掛載U盤
mkdir /tmp/sda1
mount /dev/sda1 /tmp/sda1
7、(可選)備份原來emmc分區(qū)鏡像,此步操作為可選執(zhí)行
dd if=/dev/mmcblk0p1 of=/tmp/sda1/mmcblk0p1.img.bak
dd if=/dev/mmcblk0p3 of=/tmp/sda1/mmcblk0p3.img.bak
8、輸入如下命令將OpenWRT新固件寫入QHora-321的emmc存儲
dd if=/tmp/sda1/mmcblk0p1.img of=/dev/mmcblk0p1
dd if=/tmp/sda1/mmcblk0p3.img of=/dev/mmcblk0p3
9、重啟路由器,依然需要按鍵重新進(jìn)入U(xiǎn)-Boot
reboot
10、修改U-Boot的啟動命令
setenv bootcmd 'ext4load mmc 0:1 0x6500000 Image; ext4load mmc 0:1 0x6000000 cn9131-qhora-321.dtb; setenv bootargs $console cpuidle.off=1 root=/dev/mmcblk0p3; booti 0x6500000 - 0x6000000'
setenv current_entry 0
saveenv
11、輸入命令重啟進(jìn)入OpenWRT
reset
12、如果需要切換到原廠系統(tǒng),只需要更改U-Boot的啟動命令
setenv bootcmd ' ext4load mmc 0:2 0x6500000 Image; ext4load mmc 0:2 0x6000000 cn9131-db-A.dtb; setenv bootargs $console cpuidle.off=1; booti 0x6500000 - 0x6000000'
setenv current_entry 2
saveenv
刷機(jī)文件制作
前面刷機(jī)教程第2部提到了刷機(jī)需要4個刷機(jī)文件,這里講下如何從OpenWRT編譯的鏡像制作4個刷機(jī)文件。1、op編譯出來ext4-sdcard.img.gz為固件文件。initramfs-kernel.bin為帶全文件的內(nèi)核鏡像文件。
initramfs-kernel.bin重命名為Image

2、使用7zip,解壓ext4-sdcard.img.gz兩次,得到0.img和1.img文件。
0.img重命名為mmcblk0p1.img
1.img重命名為mmcblk0p3.img

3、使用7zip,解壓上一部得到得到的mmcblk0p1.img,得到cn9131-qhora-321.dtb

至此獲取到了上文教程中的刷機(jī)文件。要說明的是,臨時OpenWRT因?yàn)槭侨考虞d內(nèi)存運(yùn)行,對文件大小有要求。大家刷自編譯和自定義固件時候,臨時OP可以使用固件服務(wù)器提供的最小OpenWRT。
QHora-321 分區(qū)和引導(dǎo)
這部分內(nèi)容作為給后期想要折騰的朋友的,普通玩家跳過即可。
QHora-321有2個存儲空間,一個4MB的SPI存儲和一個4GB的emmc存儲。SPI存儲里面存放了引導(dǎo)的U-Boot和U-Boot對應(yīng)的ENV配置變量。emmc存儲里面存放固件。
SPI一共4個分區(qū)
0x000000000000-0x0000001f0000 : "U-Boot"
0x0000001f0000-0x000000200000 : "U-Boot ENV Factory"
0x000000200000-0x0000003f0000 : "Reserved"
0x0000003f0000-0x000000400000 : "U-Boot ENV"
U-Boot從emmc中啟動系統(tǒng)依賴ENV中的bootcmd設(shè)置
原廠的bootcmd設(shè)置
bootcmd = ext4load mmc 0:2 0x6500000 Image; ext4load mmc 0:2 0x6000000 cn9131-db-A.dtb; setenv bootargs $console cpuidle.off=1; booti 0x6500000 - 0x6000000
OpenWRT的bootcmd設(shè)置
bootcmd = ?ext4load mmc 0:1 0x6500000 Image; ext4load mmc 0:1 0x6000000 cn9131-qhora-321.dtb; setenv bootargs $console cpuidle.off=1 root=/dev/mmcblk0p3; booti 0x6500000 - 0x6000000'
引導(dǎo)過程最主要是指定dtb文件和內(nèi)核鏡像Image,使用不同固件dtb文件文件名不同時候需要對應(yīng)修改。OpenWRT的比起原廠多一個需要指定root=,用于指定OpenWRT的根分區(qū)。QHora-321也能直接使用PUZZLE-M901的固件進(jìn)行引導(dǎo),但是會有點(diǎn)點(diǎn)小問題。
emmc默認(rèn)分區(qū)格式如下
Disk /dev/mmcblk0: 3.69 GiB, 3959422976 bytes, 7733248 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Device ? ? ? ? ? Start ? ? End Sectors ?Size Type
/dev/mmcblk0p1 ? ? ?34 ?131105 ?131072 ? 64M Linux filesystem
/dev/mmcblk0p2 ?131106 ?262177 ?131072 ? 64M Linux filesystem
/dev/mmcblk0p3 ?262178 1310753 1048576 ?512M Linux filesystem
/dev/mmcblk0p4 1310754 2359329 1048576 ?512M Linux filesystem
/dev/mmcblk0p5 2359330 3407905 1048576 ?512M Linux filesystem
/dev/mmcblk0p6 3407906 3538977 ?131072 ? 64M Linux filesystem
/dev/mmcblk0p7 3538978 7372833 3833856 ?1.8G Linux filesystem
p1 p2為Boot分區(qū),p3 p4為系統(tǒng)的根分區(qū) 每個分區(qū)有2組實(shí)現(xiàn)雙系統(tǒng)切換,因此刷OpenWRT時候都是寫入到p1和p3分區(qū)。保證可以通過修改bootcmd可以切換2個系統(tǒng)。p5為原廠固件用于存放日志的分區(qū) p6位空預(yù)留 p7是原廠系統(tǒng)的實(shí)際運(yùn)行的根分區(qū)
如果你要保留雙系統(tǒng),只需要按照教程刷寫p1和p3分區(qū)即可,完全恢復(fù)出廠也是恢復(fù)p1和p3分區(qū)。如果你希望把整個emmc用作OpenWRT的空間,想要大分區(qū),你只需要重新格式化分區(qū)emmc即可,并修改對應(yīng)的bootcmd。emmc使用GPT分區(qū)格式,重新分區(qū)在OpenWRT下操作也是非常簡單。但是如果你重新格式化emmc,想要恢復(fù)原廠系統(tǒng)就不可能了。
總結(jié)
全接口2.5GbE,Marvell高性能處理器,外加支持OpenWrt的固件,這臺機(jī)器可謂有點(diǎn)料。用一句話來總結(jié)QHora-321就是,性能比它好的體積沒他小,體積比它小的性能不如他好。