香蕉派R3路由器编译开发手册
一、概要
(一)简介
Banana Pi BPI-R3路由器板采用联发科MT7986(Filogic 830)四核ARM A53+MT7531A芯片设计,2G DDR RAM,板载8G eMMC闪存,是一款超高性能的开源路由器开发板,支持Wi-Fi6 2.4G wifi使用MT7975N,5G wifi使用MT7975P,支持2个SFP 2.5GbE接口,5GbE网口。
(二)MediaTek MT7986(Filogic 830)
MT7986(Filogic 830) 集成了四个高达 2GHz 的 Arm Cortex-A53 内核,具有高达 18,000 DMIPs 的处理能力和 6Gbps 的双 4x4 Wi-Fi6 连接。 它有两个 2.5g 以太网接口和串行外设接口 (SPI)。 Filogic 830 的内置硬件加速引擎可实现快速可靠的 Wi-Fi 卸载和无线网络连接。 此外,该芯片支持联发科FastPath™技术,适用于游戏、AR/VR等低延迟应用。
Wi-fi 6 与其前辈相比具有许多优势,包括更低的延迟、更大的带宽容量和更快的传输速率。 支持6GHz频段的无线网络设备主要利用160MHz宽信道和6GHz不拥塞带宽,提供千兆传输和低延迟wi-fi连接,为流媒体、游戏、AR/VR等应用提供可靠的无线网络。
(三)应用方向
- 互联网服务路由器
- 无线路由器
- 无线中继器
- 家庭安全网关
- 家庭自动化
- NAS设备
- 网络和通信应用
(四)主要特性
- 联发科MT7986(Filogic 830)四核ARM Cortex A53+MT7531芯片设计
- Wifi 6 4x4 2.4G Wifi(MT7975N) +4x4 5G Wifi(MT7975P)
- 2G内存
- 8G eMMC 闪存
- 2 个 SFP 2.5GbE
- 5 GbE 网络端口
- POE 支持(可选)
- 迷你PCIe
- M.2 KEY-E PCIe 接口
- Mciro SD卡接口
- 26 针通用输入输出
二、硬件
(一)硬件接口
(二)启动设置
启动设置 | SW1 | SW2 | SW3 | SW4 |
---|---|---|---|---|
SPIM-NoR | Low | Low | Low | X |
SPIM-Nand | High | Low | High | X |
eMMC | Low | High | High | Low |
SD card | High | High | X | High |
(三)硬件规格
硬件 | 规格 |
---|---|
CPU | MediaTek MT7986(Filogic 830) Quad core ARM Cortex A53+MT7531 chip design |
SDRAM | 2 GB DDR4 |
On board Storage | MicroSD (TF) card,8GB eMMC onboard |
GPIO | 26 Pin GPIO,some of which can be used for specific functions including UART, I2C, SPI, PWM, I2S. |
On board Network | 5 Port 10/100/1000Mbps Ethernet |
SFP | 2 SFP 2.5GbE |
Wifi | Wifi 6 4x4 2.4G Wifi(MT7975N) +4x4 5G Wifi(MT7975P) |
mini PCIE | Mini PCIe via USB |
M.2 interface | M.2 KEY-M PCIe inerface |
USB | 1 USB 3.0 host ,2 USB interface with slot. |
Buttons | Reset button,WPS botton, boot switch |
Leds | Power status Led and RJ45 Led |
DC Power | 12V/2A with DC in |
Sizes | 100.5x148mm |
Weight | 200g |
三、编译开发
(一)源码
https://github.com/BPI-SINOVOIP/BPI-R3-OPENWRT-V21.02.3
(二)开发准备
准备:
- 8G以上大小TF卡
- USB串口线
- Ubuntu系统
- 使用串口线连接香蕉派调试口
- 启动模式设置
注:
- SW1-A、SW1-B用来选择boot strap;
- SW1-C设置SPI-Nand或SPI-Nor Device连接到CPU的SPI总线;
- SW1-D设置SD Card或EMMC设备连接到tp CPU的EMMC总线。
示例:
所有跳线为高电平:
所有跳线为低电平:
(三)烧录系统到SD卡
1. 使用Linux烧录
- 准备好系统镜像
- 在你的 Ubuntu上安装bpi-tools。 如果您无法访问此URL或任何其他问题,请转到 bpi-tools repo 并手动安装此工具。
1 |
|
下载镜像后,将你的TF卡插入你的Ubuntu
执行1
bpi-copy xxx.img /dev/sdx
将镜像烧录到你的TF卡
完成第3步后,就可以将TF卡插入R3,按电源键对R3进行设置
2. 使用Windows烧录
- 下载Windows烧录镜像工具,https://sourceforge.net/projects/win32diskimager/
- 在Windows中安装软件
- 选择镜像并烧录到TF卡中
3. 修改启动模式
将引导跳线更改为从SD引导,启用SD卡设备。
(四)烧录系统到EMMC
注意:因为SD卡和EMMC设备共用一个SOC的接口,所以需要先烧写一个SD镜像,然后R3从SD卡启动,然后将nand镜像烧写到Nand,然后更改boot strap从nand启动,需要将EMMC镜像烧写到EMMC。 最后,您将引导程序更改为从EMMC引导。
在将映像刻录到eMMC之前,请准备一张带有闪存可启动映像的SD卡和一个U盘。 让我们使用 OpenWrt 镜像 (mtk-bpi-r3-SD-WAN1-SFP1-20220619-single-image.img, mtk-bpi-r3-NAND-WAN1-SFP1-20220619-single-image.bin, bl2_emmc.img, mtk -bpi-r3-EMMC-WAN1-SFP1-20220619-single-image.img)为例,步骤如下:
插入烧录的SD卡,上电启动开发板。(SD卡上的镜像
mtk-bpi-r3-SD-WAN1-SFP1-20220619-single-image.img
可以是OpenWrt或其他linux操作系统如ubuntu …)复制Nand启动镜像和EMMC启动镜像(
mtk-bpi-r3-NAND-WAN1-SFP1-20220619-single-image.bin
,bl2_emmc.img
,mtk-bpi-r3-EMMC-WAN1-SFP1-20220619-single-image .img
)到U盘,如果是压缩的镜像,请先解压再复制到U盘将U盘插入开发板,将U盘挂载到/mnt或其他目录如下:(自动挂载可跳过)
1
2mount -t vfat /dev/sda1 /mnt
cd /mnt执行以下命令将镜像烧录到nand闪存:
1
2mtd erase /dev/mtd0
dd if=mtk-bpi-r3-NAND-WAN1-SFP1-20220619-single-image.bin of=/dev/mtdblock0关机,拔掉SD卡,把bootstrap改成从
nand flash
启动,把SD/EMMC
开关跳线改成EMMC
,重启板子从Nand Flash
启动
重复步骤3,挂载u盘到
/mnt
,执行以下命令将镜像烧录到EMMC设备:1
2
3
4
5mount -t vfat /dev/sda1 /mnt
echo 0 > /sys/block/mmcblk0boot0/force_ro
dd if=bl2_emmc.img of=/dev/mmcblk0boot0
dd if=mtk-bpi-r3-EMMC-WAN1-SFP1-20220619-single-image.img of=/dev/mmcblk0
mmc bootpart enable 1 1 /dev/mmcblk0给R3板断电,拔掉U盘,修改bootstrap为
emmc
设备启动
四、网络配置
网络配置参考: http://www.fw-web.de/dokuwiki/doku.php?id=en:bpi-r2:network:start
网络接口:eth1,lan0为WAN; lan4,rax0,lan2,lan5,ra0,lan3,lan1是LAN,ra0是2.4G无线,rax0是5G无线
网络配置查看命令:
1 |
|
br-lan Link encap:Ethernet HWaddr EE:A1:57:81:CA:19
1 |
|
br-wan Link encap:Ethernet HWaddr EE:A1:57:81:CA:19
1 |
|
eth0 Link encap:Ethernet HWaddr EE:A1:57:81:CA:19
1 |
|
eth1 Link encap:Ethernet HWaddr 4A:BB:84:B4:5D:3F
1 |
|
lan0 Link encap:Ethernet HWaddr EE:A1:57:81:CA:19
1 |
|
lan1 Link encap:Ethernet HWaddr EE:A1:57:81:CA:19
1 |
|
lan2 Link encap:Ethernet HWaddr EE:A1:57:81:CA:19
1 |
|
lan3 Link encap:Ethernet HWaddr EE:A1:57:81:CA:19
1 |
|
lan4 Link encap:Ethernet HWaddr EE:A1:57:81:CA:19
1 |
|
lan5 Link encap:Ethernet HWaddr EE:A1:57:81:CA:19
1 |
|
lo Link encap:Local Loopback
1 |
|
ra0 Link encap:Ethernet HWaddr 00:0C:43:26:60:38
1 |
|
rax0 Link encap:Ethernet HWaddr 02:0C:43:36:60:38
1 |
|
查看桥接WAN:
1 |
|
1 |
|
查看桥接LAN:
1 |
|
1 |
|
五、高级开发
GPIO
26针定义:
GPIO控制:
1 |
|
检查基础gpio,你可以看到我的是411:
例如:如果你想把gpio 22改成高电平输出,你需要这样输入命令:
1 |
|
PWM风扇控制:
1 |
|
miniPCIe插槽:
目前miniPCIe插槽只支持1个USB 4G模块,例如:EC25 插入1个EC25模块时可以使用lsusb
查看
BPI-R3 上的Ap模式:
- ra0 MT7986a 2.4G wifi
- rax0 MT7986a 5G wifi