Ubiquiti Edgerouter 6p 刷入 OpenWrt 折腾笔记

delph1s · 2024-10-29 03:37:54 · 192 次点击


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] 大佬建议精简部分出错



  1. 如果未安装 libustream-openssl,会导致无法更新软件包列表,报需要安装 libustream-* 包。需要自己在这里下载 libubox20220927_2022-09-27-ea560134-1_mips64_octeonplus.ipklibopenssl3_3.0.8-9_mips64_octeonplus.ipklibustream-openssl20201210_2023-02-25-498f6e26-1_mips64_octeonplus.ipk 上传安装进行修复。

  2. 如果未安装 luci-compat ,会导致在软件包列表中安装 luci-app-openclash 后,luci 界面报错,无法使用。需要通过连接 Console 端口,输入命令 opkg install luci-compat 进行手动安装。



请求构建完毕后再下载新的映像 SYSUPGRADE(使用 Sysupgrade 映像以更新现有运行 ImmortalWrt 的设备。该映像可以在 LuCI 界面或终端中使用。)



[!NOTE] 系统

以下内容基于 ImmortalWrt 系统撰写。OpenWrt 官方系统同理(例如将使用到的文件名改为 openwrt-*)。



写入固件到 USB 闪存


格式化 USB 闪存


将闪存格式化为 VFATFAT32 文件格式。


使用软件


这里以 macOS 为例,在访达(Finder)中打开 ApplicationsUtilitiesDisk Utility


image-20241026180721


选择硬盘,并点击上方的格式化(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.taropenwrt-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-4ER-12
ER-6ER-12P
ER-8-XGER-10X*
ERPro-8EP-R8
ERLite-3ER-X-SFP
ERPoE-5ER-X
ER-8EP-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 连接


image-20241026183004


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

刷入系统


步骤:



  1. 确认设备处于关闭状态并且未连接电源线。

  2. 将 USB 闪存盘连接到 EdgeRouter 6P 前置 USB 端口

  3. 使用前端控制台 RJ45 端口连接串行电缆

  4. 将电源线连接至 EdgeRouter 6P

  5. 将终端连接到控制台,查看 uboot 启动过程(以 macOS 终端为例)


screen /dev/tty.usbserial-<serial_num> 115200


  1. 连接 EdgeRouter 6P 的电源线

  2. 按键盘上的(随机)按钮中断启动,登录到 uboot

  3. 在控制台键入 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


  1. 检测到硬盘后,通过键入以下内容将 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




  1. 将 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:
# 其他内容....


  1. 启动过程应该已经结束,按下回车键后,你将看到控制台

  2. 创建 U 盘挂载目录,键入: mkdir /tmp/sda

  3. 如果可能,可将闪存驱动器挂载到该目录,键入:mount /dev/sda1 /tmp/sda

  4. 将固件闪存到路由器内部存储空间,键入: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
# 其他内容....



  1. 如果第 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
    # 其他内容....



  2. 设备将重新启动,启动后您将看到运行 openwrt 的 edgerouter 6p




用网线链接路由器上的端口 eth1 - eth4 任一端口,在浏览器中输入 192.168.1.1 即可进入 luci 界面。


还原原厂固件


原厂固件下载


恢复教程



注意点:拔掉电源,按着 reset 键,再插入电源进入恢复模式


举报· 192 次点击
登录 注册 站外分享
8 条回复  
qinzhongle 初学 2024-10-29 03:37:54

第一第一:smiling_imp::smiling_imp::smiling_imp::+1:t2:

Cimix 初学 2024-10-29 03:37:54

好教程!

是我玩不起的路由器 :tieba_009:

snaily 初学 2024-10-29 03:37:54

太强了,天哥 :bili_057:

handsome 限制会员 2024-10-29 05:25:25

太强了!威震天!

Zim 初学 2024-10-29 11:37:54

不愧是赛博坦星人

unique 初学 2024-10-29 11:37:54

还的是派总哇

stevessr 初学 2024-10-29 15:56:16

太强了!!! :muscle:

user695 初学 2024-10-30 08:02:33

派总有石粒!!!

返回顶部