前言
2022年随着2.5GbE以太网产品终端的普及,以及中国电信开始正式推广2000M的宽带接入。新的2.5GbE以太网的时代到来。新时代需要新的产品,QNAP发布了新世代的路由器QHora-321和QHora-322。QHora-321是6 x 2.5GbE接口规格,QHora-321是3 x 10GbE+6 x 2.5GbE。2款路由器都支持QNAP QuWAN SDWAN组网技术。
开箱和拆解
此次我们拿到的是QNAP QHora-321,外包装牛皮纸包装盒,QuWAN作为最主打功能在C位展示。
配件包含电源适配器和一条网线,电源适配器为分体设计,可以满足不同国家的使用。
电源适配器来自全汉,12V3A,36W的规格。需要注意的是插口是5.5 x 2.5规格,准备使用统一供电的伙伴注意插口尺寸。
QHora-321主机通体白色,整机金属材质保证散热。前面板为塑料材质,拉丝表面处理很有质感。
QHora-321背后是他的接口和网络指示灯部分。
重点我们要说一下这台路由器的体积,长16.64cm,宽14.57cm,高3.4cm。可能大家对这个数字没概念,我找个手机作为参照物对比下。
作为这个性能这个规格的路由器,这个体积大小是完全出乎意料的。在如今路由器一个比一个大的大环境下,这是为数不多的几台可以放入弱电箱的路由器。
QHora-321背后的接口很简洁,6个2.5GbE以太网接口,以及电源和Reset口。每个以太网几口都有2个独立的连接状态指示灯和1个WAN/LAN指示灯。
拧开背后3个螺丝,我们拆开QHora-321 QHora-321内部使用了大面积的散热片,并提供了一个风扇保证散热,使用中风扇噪音基本听不到。还提供了一个用于扩展存储的M.2插槽,可以安装2242规格的SSD,一个USB3.2 Gen1接口。
QHora-321处理器使用了Marvell OCTEON TX2 CN9131。6个2.5GbE网口的Phy芯片使用了Marvell AQR112系列。
Marvell OCTEON TX2 CN9131,采用4核心A72架构,搭配Marvell 88F8215扩展芯片,可以实现更多的以太网接口和PCIe接口。
原厂固件
原厂固件的仪表盘,可以看到QHora-321工作状态和网络连接状态
路由器接口配置,可以指定网口是LAN还是WAN,所有的接口都支持2.5GbE。
原厂固件支持多WAN口,这边配置了2条联通宽带同时使用。
仪表盘WAN概述也对应变成2个WAN口。
QuWAN和QVPN是QHora系列路由器特色的企业组网功能,提供了跨区域组网。
搭配智能组网,QNAP经典的DDNS服务依然提供。
网络与测速
这里简单做个宽带测速,使用上海电信2000M宽带,光猫使用中兴F4607p,通过光猫的2.5GbE网口连接到QHora-321的WAN口,PC使用2.5GbE网口连接到QHora-321。
使用上海电信官方测速网站测速,看到跑满2000M没任何问题。
使用SpeedTest桌面APP进行测速。可以看到跑满2000M也是没问题。
OpenWRT
我们把QHora-321刷入了定制版本的OpenWrt
简单的对刷入OpenWRT的QHora-321进行性能测试,依然使用了上海电信2000M环境经行测试,可以看到宽带测速速结果非常不错。
顺便在OpenWrt上安装了网易UU游戏加速器,为Switch提供游戏加速,测试打斯普拉遁3不掉线了。
OpenWRT固件教程
从原厂固件刷机到OpenWRT。
1、需要准备一条TTL线连接到QHora-321,需要注意的是TTL的针脚间距是2.0mm。QHora-321的TTL线接口如下所示,针脚定义从左到右依次为Tx、Vcc、Rx、Gnd。只需要连接Tx、Rx、Gnd即可。
2、准备一个U盘,U盘必须为FAT32格式,里面存放如下刷机文件,并把U盘插到QHora-321内部的USB接口上。cn9131-qhora-321.dtb和Image用于启动临时OpenWRT。mmcblk0p1.img和mmcblk0p3.img为固件镜像文件。
刷机文件可以在固件下载服务器下载到,也可以按下方第二部分教程自己制作。
3、使用波特率115200连接TTL线,给QHora-321上电,出现如下指令,快速按任意键,让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分区镜像,此步操作为可选执行
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、重启路由器,依然需要按键重新进入U-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、输入命令重启进入OpenWRT
reset
12、如果需要切换到原厂系统,只需要更改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 刷机文件制作
前面刷机教程第2部提到了刷机需要4个刷机文件,这里讲下如何从OpenWRT编译的镜像制作4个刷机文件。1、op编译出来ext4-sdcard.img.gz为固件文件。initramfs-kernel.bin为带全文件的内核镜像文件。
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
至此获取到了上文教程中的刷机文件。要说明的是,临时OpenWRT因为是全部加载内存运行,对文件大小有要求。大家刷自编译和自定义固件时候,临时OP可以使用固件服务器提供的最小OpenWRT。
QHora-321 分区和引导
这部分内容作为给后期想要折腾的朋友的,普通玩家跳过即可。
QHora-321有2个存储空间,一个4MB的SPI存储和一个4GB的emmc存储。SPI存储里面存放了引导的U-Boot和U-Boot对应的ENV配置变量。emmc存储里面存放固件。
SPI一共4个分区
0x000000000000-0x0000001f0000 : "U-Boot" 0x0000001f0000-0x000000200000 : "U-Boot ENV Factory" 0x000000200000-0x0000003f0000 : "Reserved" 0x0000003f0000-0x000000400000 : "U-Boot ENV"
U-Boot从emmc中启动系统依赖ENV中的bootcmd设置
原厂的bootcmd设置
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设置
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
引导过程最主要是指定dtb文件和内核镜像Image,使用不同固件dtb文件文件名不同时候需要对应修改。OpenWRT的比起原厂多一个需要指定root=,用于指定OpenWRT的根分区。QHora-321也能直接使用PUZZLE-M901的固件进行引导,但是会有点点小问题。
emmc默认分区格式如下
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分区,p3 p4为系统的根分区 每个分区有2组实现双系统切换,因此刷OpenWRT时候都是写入到p1和p3分区。保证可以通过修改bootcmd可以切换2个系统。p5为原厂固件用于存放日志的分区 p6位空预留 p7是原厂系统的实际运行的根分区
如果你要保留双系统,只需要按照教程刷写p1和p3分区即可,完全恢复出厂也是恢复p1和p3分区。如果你希望把整个emmc用作OpenWRT的空间,想要大分区,你只需要重新格式化分区emmc即可,并修改对应的bootcmd。emmc使用GPT分区格式,重新分区在OpenWRT下操作也是非常简单。但是如果你重新格式化emmc,想要恢复原厂系统就不可能了。
总结
全接口2.5GbE,Marvell高性能处理器,外加支持OpenWrt的固件,这台机器可谓有点料。用一句话来总结QHora-321就是,性能比它好的体积没他小,体积比它小的性能不如他好。
0 留言