Skip to main content

为 M2 网关刷写开源固件

SenseCAP M2 网关代表了 LoRa 网关的经济高效解决方案,采用成熟的硬件解决方案 MT7628 和 Semtech SX1302 基带长距离芯片。具体型号通过出厂设置的频段(EU868/US915/AS923/AU915)、可选模块(4G/GPS)和支持的 LoRa 网络(LoRaWAN®/Helium 网络)来区分

本 wiki 将指导您如何为 M2 网关刷写开源固件。基于开源固件,您可以深度定制您的 M2 网关,例如添加额外功能或更改工作频段(天线需要适配频段)

警告

刷写开源固件后,您无法恢复到出厂固件

Seeed studio 不承担用户使用开源固件或第三方固件对设备造成的任何损坏责任。

支持产品列表

note

由于硬件差异,为 Helium M2 网关(型号:114992751114992752114992755114992808114992826114992828)刷写开源固件不仅需要固件镜像,还需要相应的 U-Boot 引导程序。详细说明请参考刷写 U-Boot 部分。

准备固件

下载预编译固件

如果您想方便地体验开源固件,我们提供了一些编译好的固件。您可以从 Seeed-Solution/LoRa_Gateway_OpenWRT/Release 下载

注意

检查 .bin 文件的后缀以验证固件是否与您的 M2 网关兼容

例如,openwrt-...-EU868-4G.bin 固件是为在 EU868 频段工作且带有 4G 模块的 M2 网关编译的

构建您的固件

如果您的网关与我们的预编译固件不兼容,或者您想进一步开发,可以按以下方式构建自己的固件

要构建自己的固件,您需要一个 GNU/Linux、BSD 或 MacOSX 系统(需要区分大小写的文件系统)。不支持 Cygwin,因为缺乏区分大小写的文件系统

步骤 1: Seeed-Solution/LoRa_Gateway_OpenWRT 克隆源代码

git clone https://github.com/Seeed-Solution/LoRa_Gateway_OpenWRT.git

步骤 2: 安装必备软件包,请参考 构建系统设置

注意

请使用非 root 用户执行以下步骤。

步骤 3: 进入源代码文件夹,运行 ./scripts/feeds update -a 获取 feeds.conf / feeds.conf.default 中定义的所有最新软件包定义

步骤 4: 运行 ./scripts/feeds install -a 为所有获取的软件包安装符号链接到 package/feeds/

步骤 5: 运行 cp diffconfig-sensecap-general .config 使用 SenseCAP 差异文件,然后运行 make defconfig 展开完整配置

步骤 6: 运行 make menuconfig 选择您的 SenseCAP 硬件信息

  • SenseCAP Hardware->Have 4G(是否包含 4G 硬件)

  • SenseCAP Hardware->Have GPS(是否包含 GPS 硬件)

  • SenseCAP Hardware->REGION(选择您的默认区域)

pir

pir

步骤 7: 运行 make 构建您的固件

这将下载所有源代码,构建交叉编译工具链,然后为您的目标系统交叉编译 GNU/Linux 内核和所有选择的应用程序

编译完成后,您可以在 <prj>/bin/targets/ramips/mt76x8/ 目录中找到名为 openwrt-21.02.0-ramips-mt76x8-sensecap_wm7628n-squashfs-sysupgrade.bin 的固件

刷写固件

您可以通过三种方式之一将固件刷写到网关中

通过 Luci 刷写固件

登录 Luci 并导航到 System > Backup/Flash Firmware

pir

向下滚动并导航到 Local upgrade,点击 Flash image...

pir

浏览文件夹并上传固件

pir

上传完成后,确认上传的固件信息正确,然后点击 Continue

pir

之后,网关将开始安装固件,LED 将进入橙色慢闪状态,直到安装完成。

通过 TFTP 刷写固件

开始之前,您需要在计算机上安装 TFTP 服务器工具,并将固件放在适当的目录中。

步骤 1: 使用 Type-C 线缆将设备连接到计算机,并使用网线将设备和计算机置于同一局域网中。

步骤 2: 使用名为 USB-SERIAL CH340 的串口连接设备,波特率为 57600

步骤 3: 重启设备。当设备进入 uboot 时,选择命令 2 进入系统更新。

步骤 4: 输入设备 IP,设备 IP 网段必须是您自己网络的网段;输入服务器 IP,即您计算机的 IP,并输入要刷写的固件名称(必须包含文件后缀)。

pir

步骤 5: 等待固件更新完成。网关将开始安装固件,LED 将进入橙色慢闪状态,直到安装完成。

pir

通过串口刷写固件

tip

在开始以下步骤之前,我们建议下载最新版本的 TeraTerm,因为本 wiki 中的以下操作都基于 TeraTerm。

步骤 1: 使用 Type-C 线缆将设备连接到计算机。

步骤 2: 使用名为 USB-SERIAL CH340 的串口连接设备,波特率为 57600

步骤 3: 重启设备。当设备进入 uboot 时,选择命令 0 进入系统更新。

步骤 4: 将波特率切换到 230400,然后按 ENTER。设备将提示 Ready for binary (kermit) download to 0x80100000 at 230400 bps...

步骤 5: 使用 kermit 协议上传固件。Teraterm 提供了 kermit 传输工具。您可以参考下图上传固件。

pir

步骤 6: 等待固件上传完成,之后设备将提示 Switch baudrate to 57600 bps and press ESC...。按照设备提示操作。然后设备将自动安装固件并重启。

pir

刷写 U-Boot

note

当为 Helium M2 LoRaWAN 室内网关刷写开源固件时,请确保您也下载并刷写相应的 U-Boot 镜像到设备。此步骤是网关正常工作所必需的。

通过串口刷写固件

步骤 1: 使用 Type-C 线缆将设备连接到计算机。

步骤 2: 使用名为 USB-SERIAL CH340 的串口连接设备,波特率为 57600

步骤 3: 重启设备。当设备进入 U-Boot 时,选择 Command 7 进入系统更新。

pir

步骤 4: 使用 kermit 协议上传固件。Teraterm 提供了 kermit 传输工具。您可以参考下图上传 U-Boot。

pir

步骤 5: 等待刷写完成并重启设备。当设备进入 U-Boot 时,选择 Command 4 进入 U-Boot 命令。然后输入 spi erase 0x50000 0x1FB0000 来擦除后续的块。

pir

pir

然后您可以重启设备并按照刷写固件部分的说明刷写固件镜像。

登录控制台

固件安装完成后,设备将自动开启一个 AP 热点,名称为 SenseCAP_XXXX

使用您的手机或电脑连接到热点,无需密码

在浏览器中输入 192.168.168.1 进入 LuCI 界面

pir

使用用户名 root无密码登录控制台

pir

资源

技术支持

在开源固件方面遇到问题?欢迎通过下方的 Discord 链接与社区成员讨论。

Loading Comments...