author: delph1s
date: 2024-10-28T18:18:18
warning: 部分内容摘自 OpenWrt 官方网站 Ubiquiti EdgeRouter 6P 硬件教程。文章在官网教程上加工创作,转载请注明出处。
tags:
- Ubnt EdgeRouter 6P
- OpenWrt
简介
Ubiquiti EdgeRouter 6P 是一款基于 Cavium Octeon III 平台的 6 端口路由器。它可以进行千兆路由。它有 5 个普通千兆以太网端口和一个 SFP 端口。OpenWRT 目前不支持该设备通过 5 个以太网端口进行无源 POE 的功能。
OpenWrt Ubiquiti EdgeRouter 6P 官方教程
开始折腾
下载系统
官方系统
在此处下载 OpenWrt 官方系统,以及包含软件包的升级包。(可进行自定义打包的软件包)
点击下载映像中的 KERNEL(内置最简文件系统的 Linux 内核,适用于首次安装或故障恢复。)以及 SYSUPGRADE(使用 Sysupgrade 映像以更新现有运行 ImmortalWrt 的设备。该映像可以在 LuCI 界面或终端中使用。)
第三方系统(ImmortalWrt)
Github - ImmortalWrt
也可在此处下载 ImmortalWrt 版本系统,包含了常用的软件包。(可进行自定义打包的软件包)
点击下载映像中的 KERNEL(内置最简文件系统的 Linux 内核,适用于首次安装或故障恢复。)
初始预安装软件包列表如下:
base-files block-mount busybox ca-bundle default-settings-chn dnsmasq-full dropbear e2fsprogs firewall4 fstools ipv6helper kmod-nf-nathelper kmod-nf-nathelper-extra kmod-nft-offload libc libgcc libustream-openssl logd luci luci-app-opkg luci-compat luci-lib-base luci-lib-ipkg mkf2fs mtd netifd nftables opkg ppp ppp-mod-pppoe procd procd-seccomp procd-ujail uci uclient-fetch urandom-seed urngd kmod-gpio-button-hotplug kmod-leds-gpio kmod-of-mdio kmod-sfp kmod-usb3 kmod-usb-dwc3 kmod-usb-storage-uas
根据CrazyBoyFeng大佬的描述,打包列表可以适当精简,我的配置如下:
base-files block-mount busybox ca-bundle default-settings-chn dnsmasq-full dropbear e2fsprogs luci-i18n-firewall-zh-cn fstools ipv6helper kmod-nf-nathelper kmod-nf-nathelper-extra kmod-nft-offload libc libgcc libustream-openssl logd luci-i18n-opkg-zh-cn luci-compat luci-lib-base luci-lib-ipkg mkf2fs mtd netifd nftables ppp ppp-mod-pppoe procd procd-seccomp procd-ujail uci uclient-fetch urandom-seed urngd kmod-gpio-button-hotplug kmod-leds-gpio kmod-of-mdio kmod-sfp kmod-usb3 kmod-usb-dwc3 kmod-usb-storage-uas
[!ERROR] 大佬建议精简部分出错
- 如果未安装
libustream-openssl ,会导致无法更新软件包列表,报需要安装 libustream-* 包。需要自己在这里下载 libubox20220927_2022-09-27-ea560134-1_mips64_octeonplus.ipk 、libopenssl3_3.0.8-9_mips64_octeonplus.ipk 、libustream-openssl20201210_2023-02-25-498f6e26-1_mips64_octeonplus.ipk 上传安装进行修复。
- 如果未安装
luci-compat ,会导致在软件包列表中安装 luci-app-openclash 后,luci 界面报错,无法使用。需要通过连接 Console 端口,输入命令 opkg install luci-compat 进行手动安装。
请求构建完毕后再下载新的映像 SYSUPGRADE(使用 Sysupgrade 映像以更新现有运行 ImmortalWrt 的设备。该映像可以在 LuCI 界面或终端中使用。)
[!NOTE] 系统
以下内容基于 ImmortalWrt 系统撰写。OpenWrt 官方系统同理(例如将使用到的文件名改为 openwrt-*)。
写入固件到 USB 闪存
格式化 USB 闪存
将闪存格式化为 VFAT 或 FAT32 文件格式。
使用软件
这里以 macOS 为例,在访达(Finder)中打开 Applications → Utilities → Disk Utility
选择硬盘,并点击上方的格式化(Erase)按钮,选择格式为 FAT。
使用命令行
这里以 macOS 为例,使用命令 sudo diskutil eraseDisk FAT32 <disk_name> </path/of/usb> 进行格式化。
# 查看硬盘 diskutil list
# 格式化目标硬盘 sudo diskutil eraseDisk FAT32 OPENWRT /dev/disk2
复制固件到闪存
将下载的固件和升级文件复制到 USB 闪存。这里将 immortalwrt-octeon-generic-ubnt_edgerouter-6p-initramfs-kernel.bin (或openwrt-octeon-generic-ubnt_edgerouter-6p-initramfs-kernel.bin ) 和 immortalwrt-octeon-generic-ubnt_edgerouter-6p-squashfs-sysupgrade.tar (openwrt-octeon-generic-ubnt_edgerouter-6p-squashfs-sysupgrade.tar )复制到 USB 闪存中。
连接设备 Console 端口
Console 端口
Console 端口是设备的控制台接入端口,用于用户通过终端(或仿真终端)对设备进行初始配置和后续管理。一般情况下,设备是 RJ45 的接口,也有老设备是 DB9 或 DB25 的接口,但无论是什么接口,它的协议都是 RS232,即在无流情况下是一收一发共四条连接线。
一般的 VPN 设备都带有一个 Console 端口,用来连接计算机或其他终端设备,通过特定软件来进行路由器的配置。该端口提供了一个 EIA/TIA-232 异步串行接口,用于在本地对路由器进行配置(首次配置必须通过控制台端口进行)。
[!NOTE] 购买线材
可购买 USB(type A 或 type C) 转 RJ45 的 Console 端口连接线。
终端连接 Console 端口
Ubiquiti 官方教程
支持的型号和串行控制台设置:
设备 |
Console 端口 |
设备 |
Console 端口 |
---|
ER-4 |
有 |
ER-12 |
有 |
ER-6 |
有 |
ER-12P |
有 |
ER-8-XG |
有 |
ER-10X* |
有 |
ERPro-8 |
有 |
EP-R8 |
有 |
ERLite-3 |
有 |
ER-X-SFP |
无 |
ERPoE-5 |
有 |
ER-X |
无 |
ER-8 |
有 |
EP-R6 |
无 |
默认串行端口设置如下:
- Baud rate: 115200
- Data bits: 8
- Parity: NONE
- Stop bits: 1
- Flow control: NONE
[!NOTE] ER-10X
ER-10X 要求将波特率设为 57600。
[!NOTE] 连接到控制台
- RJ45 至 DB9 串行控制台电缆(翻转电缆)
- USB 至 DB9 适配器
- 终端仿真程序,如 PuTTY 或 macOS/Linux 终端
Windows 使用 PuTTY 连接
macOS 使用终端连接
# 查找 USB 设备 ls -ltr /dev/*usb* # 输出示例 crw-rw-rw- 1 root wheel 99, 31 Dec 8 23:59 /dev/cu.usbserial-<serial_num> crw-rw-rw- 1 root wheel 99, 31 Dec 9 23:59 /dev/tty.usbserial-<serial_num>
# 连接 Console screen /dev/tty.usbserial-<serial_num> 115200
刷入系统
步骤:
- 确认设备处于关闭状态并且未连接电源线。
- 将 USB 闪存盘连接到 EdgeRouter 6P 前置 USB 端口
- 使用前端控制台 RJ45 端口连接串行电缆
- 将电源线连接至 EdgeRouter 6P
- 将终端连接到控制台,查看 uboot 启动过程(以 macOS 终端为例)
screen /dev/tty.usbserial-<serial_num> 115200
- 连接 EdgeRouter 6P 的电源线
- 按键盘上的(随机)按钮中断启动,登录到 uboot
- 在控制台键入
usb start 检测已连接的闪存盘
# 例子 Octeon ubnt_e300(ram)# usb start (Re)start USB... USB0: Starting the controller USB XHCI 1.00 scanning bus 0 for devices... 2 USB Device(s) found USB1: Starting the controller USB XHCI 1.00 scanning bus 1 for devices... 1 USB Device(s) found scanning usb for storage devices... 1 Storage Device(s) found
- 检测到硬盘后,通过键入以下内容将 initramfs+kernel 载入内存:
fatload usb 0:1 0x20000000 immportalwrt-octeon-generic-ubnt_edgerouter-6p-initramfs-kernel.bin
# 例子 Octeon ubnt_e300(ram)# fatload usb 0:1 0x20000000 immportalwrt-octeon-generic-ubnt_edgerouter-6p-initramfs-kernel.bin reading immportalwrt-octeon-generic-ubnt_edgerouter-6p-initramfs-kernel.bin 24939160 bytes read in 1396 ms (17 MiB/s)
[!ERROR] USB 位置
这里 USB 的位置可能处于别的地方,比如我的设备就是 fatload usb 0:2 immportalwrt-octeon-generic-ubnt_edgerouter-6p-initramfs-kernel.bin
- 将 initramfs+kernel 加载到内存后,输入:
bootoctlinux 0 numcores=4 endbootargs mem=0
# 例子 Octeon ubnt_e300(ram)# bootoctlinux 0 numcores=4 endbootargs mem=0 Allocating memory for ELF segment: addr: 0xffffffff81100000 (adjusted to: 0x1100000), size 0x292337c ## Loading big-endian Linux kernel with entry point: 0xffffffff818d66b8 ... Bootloader: Done loading app on coremask: 0xf Starting cores: # 其他内容....
- 启动过程应该已经结束,按下回车键后,你将看到控制台
- 创建 U 盘挂载目录,键入:
mkdir /tmp/sda
- 如果可能,可将闪存驱动器挂载到该目录,键入:
mount /dev/sda1 /tmp/sda
- 将固件闪存到路由器内部存储空间,键入:
sysupgrade /tmp/sda/immportalwrt-octeon-ubnt_edgerouter-6p-squashfs-sysupgrade.tar
# 例子 root@OpenWrt:/tmp/sda# sysupgrade /tmp/sda/immportalwrt-octeon-ubnt_edgerouter-6p-squashfs-sysupgrade.tar Fri Feb 16 18:19:51 UTC 2024 upgrade: Image metadata not present Cannot save config while running from ramdisk. Fri Feb 16 18:19:51 UTC 2024 upgrade: Commencing upgrade. Closing all shell sessions. Watchdog handover: fd=3 - watchdog - Watchdog does not have CARDRESET support Fri Feb 16 18:19:52 UTC 2024 upgrade: Sending TERM to remaining processes ... Fri Feb 16 18:19:57 UTC 2024 upgrade: Sending KILL to remaining processes ... [ 802.198113] stage2 (3364): drop_caches: 3 Fri Feb 16 18:20:03 UTC 2024 upgrade: Switching to ramdisk... Fri Feb 16 18:20:04 UTC 2024 upgrade: Performing system upgrade... flashing kernel to /dev/mmcblk0p1 flashing rootfs to /dev/mmcblk0p2 788+1 records in 788+1 records out # 其他内容....
如果第 14 步中的 USB 设备无法工作(例如:不存在设备 /dev/sda1 ),可以尝试以下方法:
15.1 将 EdgeRouter 6P 的 eth0 端口连接到可连接互联网的路由器或交换机上。连上网线后控制台跳出端口连接信息。
# 例子 [ 351.133726] lan0: 1000 Mbps Full duplex, port 1, queue 1 [ 351.139077] IPv6: ADDRCONF(NETDEV_CHANGE): lan0: link becomes ready
15.2 转到新创建的文件夹: cd /tmp/sda/ 。
# 例子 root@OpenWrt:/# cd /tmp/sda/ root@OpenWrt:/tmp/sda#
15.3 使用 wget 命令下载固件 https://downloads.immortalwrt.org/releases/23.05.4/targets/octeon/generic/immortalwrt-23.05.4-octeon-generic-ubnt_edgerouter-6p-squashfs-sysupgrade.tar (或者构建完毕的自定义软件包的链接)
# 例子 root@OpenWrt:/tmp/sda# wget https://downloads.immortalwrt.org/releases/23.05.4/targets/octeon/generic/immortalwrt-23.05.4-octeon-generic-ubnt_edgerouter-6p-squashfs-sysupgrade.tar Downloading 'https://downloads.immortalwrt.org/releases/23.05.4/targets/octeon/generic/immortalwrt-23.05.4-octeon-generic-ubnt_edgerouter-6p-squashfs-sysupgrade.tar' Connecting to 151.101.130.132:443 Writing to 'https://downloads.immortalwrt.org/releases/23.05.4/targets/octeon/generic/immortalwrt-23.05.4-octeon-generic-ubnt_edgerouter-6p-squashfs-sysupgrade.tar' immortalwrt-23.05.4-octe 100% |*******************************| 13630k 0:00:00 ETA Download completed (13957120 bytes)
15.4 将固件闪存到路由器内部存储空间,键入:sysupgrade /tmp/sda/immortalwrt-23.05.4-octeon-generic-ubnt_edgerouter-6p-squashfs-sysupgrade.tar
# 例子 root@OpenWrt:/tmp/sda# sysupgrade immortalwrt-23.05.4-octeon-generic-ubnt_edgerouter-6p-squashfs-sysupgrade.tar Fri Feb 16 18:19:51 UTC 2024 upgrade: Image metadata not present Cannot save config while running from ramdisk. Fri Feb 16 18:19:51 UTC 2024 upgrade: Commencing upgrade. Closing all shell sessions. Watchdog handover: fd=3 - watchdog - Watchdog does not have CARDRESET support Fri Feb 16 18:19:52 UTC 2024 upgrade: Sending TERM to remaining processes ... Fri Feb 16 18:19:57 UTC 2024 upgrade: Sending KILL to remaining processes ... [ 802.198113] stage2 (3364): drop_caches: 3 Fri Feb 16 18:20:03 UTC 2024 upgrade: Switching to ramdisk... Fri Feb 16 18:20:04 UTC 2024 upgrade: Performing system upgrade... flashing kernel to /dev/mmcblk0p1 flashing rootfs to /dev/mmcblk0p2 788+1 records in 788+1 records out # 其他内容....
设备将重新启动,启动后您将看到运行 openwrt 的 edgerouter 6p
用网线链接路由器上的端口 eth1 - eth4 任一端口,在浏览器中输入 192.168.1.1 即可进入 luci 界面。
还原原厂固件
原厂固件下载
恢复教程
注意点:拔掉电源,按着 reset 键,再插入电源进入恢复模式
|