Banana Pi BPI-R4 Mini 是一款基于 MediaTek MT7987A 四核 Arm Cortex-A53 处理器设计的 Wi-Fi 7 智能路由器开发板,支持 2 GB DDR4 内存和板载 8 GB eMMC 闪存,配有两个 2.5G RJ45 网口和板载 Wi-Fi 7,尺寸小巧。
U 盘
USB Type-C 数据线
CAT6A/Cat5e 以太网线
12 V/5 A 电源适配器(未连接任何外设和网线时,BPI-R4Mini 主板功耗约为 10 W,因此 12 V/2 A 电源也可工作。
请根据实际使用的配件判断是否需要更高功率的电源适配器,建议使用 12 V/5 A)
Windows/Ubuntu 系统
所有跳线均设为“1”时,BPI-R4Mini 从 eMMC 启动。
SW3-B 设为“0”、SW3-A 设为“1”时,BPI-R4Mini 从 SPI NAND 启动。
SW3-B 设为“1”、SW3-A 设为“0”时,BPI-R4Mini 从 SPI NOR 启动。
如果控制台显示“system halt!”,表示启动存储设备中没有操作系统。
| 工厂镜像信息:OpenWrt 24.10-SNAPSHOT;架构:aarch64_cortex-a53 |
将镜像写入 NAND 前,请先准备一个 U 盘。以下以 OpenWrt 镜像(mtk-bpi-r4mini-NAND-20260721.img)为例:
将 U 盘格式化为 FAT32。
将 NAND 启动用 OpenWrt 镜像(mtk-bpi-r4mini-NAND-20260721.img)复制到 U 盘。
将启动模式切换为 eMMC 启动,然后给开发板上电。
将 U 盘插入开发板,并按如下方式挂载到 /mnt 或其他目录(如果系统已自动挂载,可跳过此步):
mount -t vfat /dev/sda1 /mnt
cd /mnt
执行以下命令擦除整个 NAND 闪存,并将镜像写入 NAND 设备: 注意:R4Mini 的 NAND 镜像写入 MTD0。
mtdinfo /dev/mtd0
mtd0
Name: spi0.0
Type: nand
Eraseblock size: 131072 bytes, 128.0 KiB
Amount of eraseblocks: 2048 (268435456 bytes, 256.0 MiB)
Minimum input/output unit size: 2048 bytes
Sub-page size: 2048 bytes
OOB size: 128 bytes
Character device major/minor: 90:0
Bad blocks are allowed: true
Device is writable: true
cat /proc/mtd
dev: size erasesize name
mtd0: 10000000 00020000 "spi0.0"
mtd1: 0f000000 00020000 "nmbm_spim_nand"
mtd2: 00480000 00010000 "BL2"
mtd3: 00400000 00010000 "Factory"
mtd4: 00200000 00010000 "FIP"
mtd5: 02000000 00010000 "Kernel"
mtd6: 40000000 00010000 "rootfs"
mtd7: 3cb90000 00010000 "rootfs_data"
mtd8: 80000000 00010000 "usrdata"
mtd9: 10f580000 00010000 "bmtpool"
flash_erase /dev/mtd0 0 2048
Erasing 128 Kibyte @ ffe0000 -- 100 % complete
mtd erase /dev/mtd0
mtd write mtk-bpi-r4mini-NAND-20260721 /dev/mtd0
关闭 BPI-R4Mini 的电源,拔出 U 盘,将启动模式切换为 NAND 启动,然后重新上电。
| 必须先切换到 NAND 启动,再将 eMMC 镜像写入 eMMC;写入完成后,将启动模式切换为从 eMMC 启动。 |
以下以 OpenWrt 镜像(bl2_emmc-r4mini.img、mtk-bpi-r4mini-EMMC-20260721)为例:
将 U 盘格式化为 FAT32。
将 eMMC 启动用 OpenWrt 镜像(bl2_emmc-r4mini.img、mtk-bpi-r4mini-EMMC-20260721)复制到 U 盘。 如果镜像已压缩,请先解压,再复制到 U 盘。
将启动模式切换为 NAND 启动,然后给 R4Mini 上电。
将 U 盘插入开发板,并按如下方式挂载到 /mnt 或其他目录(如果系统已自动挂载,可跳过此步):
mount -t vfat /dev/sda1 /mnt
cd /mnt
执行以下命令:
dmesg | grep mmcblk0
[ 5.778706] mmcblk0: mmc0:0001 8GTF4R 7.28 GiB
[ 5.783936] mmcblk0boot0: mmc0:0001 8GTF4R partition 1 4.00 MiB
[ 5.790558] mmcblk0boot1: mmc0:0001 8GTF4R partition 2 4.00 MiB
[ 5.796568] mmcblk0rpmb: mmc0:0001 8GTF4R partition 3 512 KiB, chardev (245:0)
[ 5.831079] mmcblk0: p1 p2 p3 p4 p5
echo 0 > /sys/block/mmcblk0boot0/force_ro
dd if=bl2_emmc-r4mini.img of=/dev/mmcblk0boot0
489+1 records in
489+1 records out
dd if=mtk-bpi-r4mini-EMMC-20260721.img of=/dev/mm
194335+1 records in
194335+1 records out
mmc bootpart enable 1 1 /dev/mmcblk0
sync
sync
关闭 BPI-R4Mini 的电源,拔出 U 盘,将启动模式切换为 eMMC 启动,然后重新上电。
方法:先恢复 eMMC 系统,然后参阅“将镜像写入 NAND 闪存”。
确保 NOR 闪存已准备就绪。
将 NOR 闪存模块安装到开发板的 CN15 接口。
NOR 闪存:
安装前:
安装后:
将引导程序切换到 NOR 并启动。
将 U 盘格式化为 FAT32。
将 eMMC 启动用 OpenWrt 镜像(bl2_emmc-r4mini.img、mtk-bpi-r4mini-EMMC-20260721)复制到 U 盘。
将 U 盘插入开发板,并按如下方式挂载到 /mnt 或其他目录(如果系统已自动挂载,可跳过此步):
mount -t vfat /dev/sda1 /mnt
cd /mnt
执行以下命令:
mtdinfo /dev/mtd0
dmesg | grep mmcblk0
echo 0 > /sys/block/mmcblk0boot0/force_ro
dd if=bl2_emmc-r4mini.img of=/dev/mmcblk0boot0
dd if=mtk-bpi-r4mini-EMMC-20260721.img of=/dev/mmcblk0
mmc bootpart enable 1 1 /dev/mmcblk0
sync
sync
关闭 BPI-R4Mini 的电源,拔出 U 盘,将启动模式切换为 eMMC 启动,然后重新上电。
使用 USB Type-C 数据线连接 BPI-R4Mini 上的调试控制台接口(CN3)。
安装终端模拟器,或使用熟悉的串口终端软件。
串口参数设置如下:波特率 115200、数据位 8 位、无校验、停止位 1 位、无流控。
接通电源前先设置启动模式。 (首次使用 BPI-R4Mini 时,建议设置为 NAND 启动。)
将电源适配器连接到 DC-IN 接口(CN6)后,绿色“PWR”LED 点亮,控制台中会显示类似以下内容,表示 BPI-R4Mini 已成功启动。
F0: 102B 0000
F9: 0000 0000
V0: 0000 0000 [0001]
00: 0000 0000
BP: 0680 0041 [0000]
G0: 1190 0000
EC: 0000 0000 [1000]
MK: 0000 0000 [0000]
T0: 0000 0364 [0101]
Jump to BL
NOTICE: BL2: v2.12.0(release):
NOTICE: BL2: Built : 13:41:03, Jul 14 2026
NOTICE: WDT: Cold boot
NOTICE: WDT: disabled
NOTICE: CPU: MT7987A
NOTICE: EMI: Using DDR4 settings
NOTICE: DDR4 Speed: 3200 Mbps
NOTICE: DDR tREFI: 3.9 us
NOTICE: DDR power-down option: 2
NOTICE: EMI: Detected DRAM size: 2048 MB
NOTICE: EMI: complex R/W mem test passed
NOTICE: LVTS: Enable thermal HW reset
NOTICE: BL2: Booting BL31
NOTICE: BL31: v2.12.0(release):
NOTICE: BL31: Built : 13:41:05, Jul 14 2026
U-Boot 2025.07-rc3 (Jul 14 2026 - 20:49:48 +0800)
CPU: MediaTek MT7987
Model: mt7987
(mediatek,mt7987-spim-nor-rfb)
DRAM: 2 GiB
Core: 79 devices, 13 uclasses, devicetree: separate
Loading Environment from MTD... SF: Detected w25q256 with page size 256 Bytes, erase size 4 KiB, total 32 MiB
网络配置请参阅: http://www.fw-web.de/dokuwiki/doku.php?id=en:bpi-r2:network:start
网络接口:eth1、br-wan 用于 WAN;eth1、br-lan 用于 LAN;ra0 用于 2.4G 无线网络;rai0 用于 5G 无线网络。
root@OpenWrt:/# ifconfig
br-lan Link encap:Ethernet HWaddr DA:1F:26:22:7B:5E
inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fd2b:6d4e:9e56::1/60 Scope:Global
inet6 addr: fe80::d81f:26ff:fe22:7b5e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:939 errors:0 dropped:0 overruns:0 frame:0
TX packets:537 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:77387 (75.5 KiB) TX bytes:55390 (54.0 KiB)
br-wan Link encap:Ethernet HWaddr 1A:DB:A6:84:0A:E0
inet6 addr: fe80::18db:a6ff:fe84:ae0/64 Scope:Link
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:1626 (1.5 KiB)
eth0 Link encap:Ethernet HWaddr DA:1F:26:22:7B:5E
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1121 errors:0 dropped:1 overruns:0 frame:0
TX packets:531 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:113218 (110.5 KiB) TX bytes:55674 (54.3 KiB)
Interrupt:73
eth1 Link encap:Ethernet HWaddr 1A:DB:A6:84:0A:E0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:73
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:330 errors:0 dropped:0 overruns:0 frame:0
TX packets:330 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:26614 (25.9 KiB) TX bytes:26614 (25.9 KiB)
ra0 Link encap:Ethernet HWaddr 00:0C:43:26:60:38
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
rai0 Link encap:Ethernet HWaddr 00:0C:43:26:60:11
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
root@OpenWrt:/# brctl show br-wan
bridge name bridge id STP enabled interfaces
br-wan 7fff.1adba6840ae0 no eth1
root@OpenWrt:/# brctl show br-lan
bridge name bridge id STP enabled interfaces
br-lan 7fff.da1f26227b5e no eth0
apclii0
apcli0
rai0
ra0
root@OpenWrt:/#
| 注意:我们发布的镜像文件每次启动时都会使用随机 MAC 地址,并不使用 EEPROM。如需使用 EEPROM,必须自行编写脚本读取数据并更新端口。 |
hexdump -C /sys/bus/i2c/devices/0-0057/eeprom
printf '\x01\x02\x03\x04\x05\x06' | dd of=/sys/bus/i2c/devices/0-0057/eeprom bs=1 seek=32 conv=notrunc
"\x01\x02\x03\x04\x05\x06" 是准备写入的内容,可以是 MAC 地址、序列号或其他信息。
"bs=1" 表示块大小为 1。
"seek=32" 表示偏移量(即跳过的块数)。
"bs=1 seek=32" 表示跳过 32 字节,即跳过 0x00 至 0x1F,从 0x20 开始写入内容。
"conv=notrunc" 表示不截断 EEPROM,保留原有数据。
例如,要分别向地址 0x20 和 0x30 写入两组 MAC 地址:
printf '\x12\x41\x89\x7F\x64\xD3' | dd of=/sys/bus/i2c/devices/0-0057/eeprom bs=1 seek=32 conv=notrunc
printf '\x7E\xF5\x56\x36\x4C\xD1' | dd of=/sys/bus/i2c/devices/0-0057/eeprom bs=1 seek=48 conv=notrunc
| 注意:由于 V1.2 版本的后续批次计划向 EEPROM 写入数据,因此必须避开 0x00 至 0x1F 的地址范围。 |
BPI-R4Mini(2.5G WAN)→ BPI-R4Mini(2.5G LAN)
root@OpenWrt:~# iperf3 -c 192.168.2.1
Connecting to host 192.168.2.1, port 5201
[ 5] local 192.168.2.219 port 41332 connected to 192.168.2.1 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 275 MBytes 2.31 Gbits/sec 0 991 KBytes
[ 5] 1.00-2.00 sec 275 MBytes 2.31 Gbits/sec 0 1.02 MBytes
[ 5] 2.00-3.00 sec 274 MBytes 2.30 Gbits/sec 0 1.02 MBytes
[ 5] 3.00-4.00 sec 275 MBytes 2.31 Gbits/sec 0 1.02 MBytes
[ 5] 4.00-5.00 sec 274 MBytes 2.30 Gbits/sec 0 1.08 MBytes
[ 5] 5.00-6.00 sec 274 MBytes 2.30 Gbits/sec 0 1.08 MBytes
[ 5] 6.00-7.00 sec 274 MBytes 2.30 Gbits/sec 0 1.14 MBytes
[ 5] 7.00-8.00 sec 275 MBytes 2.31 Gbits/sec 0 1.14 MBytes
[ 5] 8.00-9.00 sec 274 MBytes 2.30 Gbits/sec 0 1.14 MBytes
[ 5] 9.00-10.00 sec 275 MBytes 2.31 Gbits/sec 0 1.14 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 2.68 GBytes 2.30 Gbits/sec 0 sender
[ 5] 0.00-10.00 sec 2.68 GBytes 2.30 Gbits/sec receiver
iperf Done.
root@OpenWrt:~# iperf3 -c 192.168.2.1 -R
Connecting to host 192.168.2.1, port 5201
Reverse mode, remote host 192.168.2.1 is sending
[ 5] local 192.168.2.219 port 52400 connected to 192.168.2.1 port 5201
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 272 MBytes 2.28 Gbits/sec
[ 5] 1.00-2.00 sec 273 MBytes 2.29 Gbits/sec
[ 5] 2.00-3.00 sec 273 MBytes 2.29 Gbits/sec
[ 5] 3.00-4.00 sec 272 MBytes 2.28 Gbits/sec
[ 5] 4.00-5.00 sec 273 MBytes 2.29 Gbits/sec
[ 5] 5.00-6.00 sec 271 MBytes 2.28 Gbits/sec
[ 5] 6.00-7.00 sec 273 MBytes 2.29 Gbits/sec
[ 5] 7.00-8.00 sec 273 MBytes 2.29 Gbits/sec
[ 5] 8.00-9.00 sec 273 MBytes 2.29 Gbits/sec
[ 5] 9.00-10.00 sec 273 MBytes 2.29 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 2.66 GBytes 2.29 Gbits/sec 0 sender
[ 5] 0.00-10.00 sec 2.66 GBytes 2.29 Gbits/sec receiver
iperf Done.
root@OpenWrt:~# iperf3 -c 192.168.2.1 -bidir
Connecting to host 192.168.2.1, port 5201
[ 5] local 192.168.2.219 port 55952 connected to 192.168.2.1 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 271 MBytes 2.27 Gbits/sec 0 867 KBytes
[ 5] 1.00-2.00 sec 275 MBytes 2.31 Gbits/sec 0 909 KBytes
[ 5] 2.00-3.00 sec 274 MBytes 2.30 Gbits/sec 0 1.06 MBytes
[ 5] 3.00-4.00 sec 274 MBytes 2.30 Gbits/sec 0 1.11 MBytes
[ 5] 4.00-5.00 sec 275 MBytes 2.31 Gbits/sec 0 1.11 MBytes
[ 5] 5.00-6.00 sec 274 MBytes 2.30 Gbits/sec 0 1.16 MBytes
[ 5] 6.00-7.00 sec 274 MBytes 2.30 Gbits/sec 0 1.29 MBytes
[ 5] 7.00-8.00 sec 275 MBytes 2.31 Gbits/sec 0 1.29 MBytes
[ 5] 8.00-9.00 sec 274 MBytes 2.30 Gbits/sec 0 1.29 MBytes
[ 5] 9.00-10.00 sec 275 MBytes 2.31 Gbits/sec 0 1.29 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 2.68 GBytes 2.30 Gbits/sec 0 sender
[ 5] 0.00-10.00 sec 2.67 GBytes 2.29 Gbits/sec receiver
iperf Done.
SIM1 可以使用板载 Nano SIM 卡槽。
这是一个 16 针连接器。
通常用于连接 SPI LCD 或 I2C 电容触摸屏。
BPI-R4Mini 板载 USB 转 UART 芯片(HT42B534-2),连接到 MT7988A 的调试 UART。
将 USB Type-C 接口(CN41)连接到 PC 后,系统中会出现一个 USB 串口设备,可用于调试。
终端参数:波特率 115200、数据位 8 位、无校验、停止位 1 位、无流控。
M.2 B-Key 插槽的 42/44/46/48 号引脚为第二组 SIM 卡信号。
| 此功能需要所用模块提供支持,并且需要额外安装 eSIM 模块。 |
板载一颗 EEPROM 芯片(P24C02A),可用于存储少量数据。
BPI-R4Mini 配有多组 LED,用于指示电源、Wi-Fi、以太网、4G/5G 蜂窝网络等工作状态。
1 个绿色电源 LED,PCB 丝印为“PWR”;上电后点亮,不能由软件控制。
1 个蓝色状态 LED,PCB 丝印为“B”,由 GPIO“PCA_A_IO1_6/SYS_LEDB”控制。
2 个蓝色 Wi-Fi 状态 LED,PCB 丝印分别为“W2G”和“W5G”。
1 个蓝色 5G 蜂窝网络状态 LED,PCB 丝印标识。
每个 2.5G RJ45 接口有两个 LED,每个 1G RJ45 接口有一个 LED,用于指示网络状态。
BPI-R4Pro 使用单路 +12 V 供电,并支持直流电源适配器、USB PD、PoE 等多种供电方式。
供电电压范围为 9~24 V,建议使用 12 V 或 20 V;电压超过 25.3 V 时会自动关机。
USB Type-C PD 接口连接到 CH224Q 芯片,用于与 USB 电源适配器通信,使适配器输出 20 V 电压。
建议使用支持 20 V 输出且功率不低于 65 W 的 PD 电源。
BPI-R4Mini 配有一个 USB 2.0 Type-A 接口,可连接 U 盘或其他 USB 设备。
USB 2.0 接口(CN12)的电源输出为 5 V/1300 mA;将“PCA_A_IO1_3/VBUS_AB_PDN”输出低电平可关闭供电。
Wi-Fi 配有 3 根天线。
4G 配有 3 根天线。
5G 配有 4 根天线。
BPI-R4Mini 支持采用 M.2 USB 接口的 4G LTE/5G 模块:Quectel EM05、RM500U-CN。
如需在 BPI-R4Mini 上使用 M.2 蜂窝通信模块,请执行以下步骤:
将 4G/5G 蜂窝通信模块安装到 CN16 插槽(M.2 Key B)。
将 Nano SIM 卡插入 SIM 卡槽。
在模块上安装天线。
开机后会自动拨号。
| 4G/5G 功能是否可用取决于当地运营商使用的频段。 |
Quectel RM500U-CNV
Quectel RM520N-GL
root@OpenWrt:/# ifconfig usb0
usb0 Link encap:Ethernet HWaddr 66:95:BC:F5:84:B3
inet addr:10.1.58.8 Bcast:10.1.58.255 Mask:255.255.255.0
inet6 addr: fe80::6495:bcff:fef5:84b3/64 Scope:Link
inet6 addr: 2409:895a:30b6:738:6495:bcff:fef5:84b3/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:587 errors:0 dropped:0 overruns:0 frame:0
TX packets:867 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:262208 (256.0 KiB) TX bytes:200656 (195.9 KiB
root@OpenWrt:/# lsusb
Bus 001 Device 002: ID 1a86:8091 USB HUB
Bus 001 Device 001: ID 1d6b:0002 Linux 5.4.300 xhci-hcd xHCI Host Controller
Bus 002 Device 002: ID 2c7c:0900 Quectel RM500U-CNV
Bus 002 Device 001: ID 1d6b:0003 Linux 5.4.300 xhci-hcd xHCI Host Controller
root@OpenWrt:/#
root@OpenWrt:/# ping www.baidu.com
PING www.baidu.com (2409:8c54:870:310:0:ff:b0ed:40ac): 56 data bytes
64 bytes from 2409:8c54:870:310:0:ff:b0ed:40ac: seq=0 ttl=51 time=64.183 ms
64 bytes from 2409:8c54:870:310:0:ff:b0ed:40ac: seq=1 ttl=52 time=26.048 ms
64 bytes from 2409:8c54:870:310:0:ff:b0ed:40ac: seq=2 ttl=52 time=25.857 ms
64 bytes from 2409:8c54:870:310:0:ff:b0ed:40ac: seq=3 ttl=52 time=26.411 ms
64 bytes from 2409:8c54:870:310:0:ff:b0ed:40ac: seq=4 ttl=52 time=61.369 ms
64 bytes from 2409:8c54:870:310:0:ff:b0ed:40ac: seq=5 ttl=52 time=165.066 ms
64 bytes from 2409:8c54:870:310:0:ff:b0ed:40ac: seq=6 ttl=52 time=60.570 ms
64 bytes from 2409:8c54:870:310:0:ff:b0ed:40ac: seq=7 ttl=52 time=35.351 ms
^C
--- www.baidu.com ping statistics ---
8 packets transmitted, 8 packets received, 0% packet loss
round-trip min/avg/max = 25.857/58.106/165.066 ms
root@OpenWrt:/#
EM05-CE
wwan0 Link encap:Ethernet HWaddr 02:45:EC:8E:AD:80
inet addr:10.7.83.4 Bcast:0.0.0.0 Mask:255.255.255.248
inet6 addr: fe80::45:ecff:fe8e:ad80/64 Scope:Link
UP BROADCAST RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:2 errors:0 dropped:0 overruns:0 frame:0
TX packets:23 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:236 (236.0 B) TX bytes:3626 (3.5 KiB)
root@OpenWrt:/# lsusb
Bus 001 Device 013: ID 2c7c:0125 Quectel Incorporated LTE Module
Bus 002 Device 001: ID 1d6b:0003 Linux 5.4.300 xhci-hcd xHCI Host Controller
Bus 001 Device 002: ID 1a86:8091 USB HUB
Bus 001 Device 001: ID 1d6b:0002 Linux 5.4.300 xhci-hcd xHCI Host Controller
root@OpenWrt:/# ping www.baidu.com
PING www.baidu.com (111.45.11.5): 56 data bytes
64 bytes from 111.45.11.5: seq=0 ttl=52 time=80.437 ms
64 bytes from 111.45.11.5: seq=1 ttl=52 time=36.296 ms
64 bytes from 111.45.11.5: seq=2 ttl=53 time=41.240 ms
64 bytes from 111.45.11.5: seq=3 ttl=53 time=36.076 ms
64 bytes from 111.45.11.5: seq=4 ttl=53 time=41.002 ms
^C
--- www.baidu.com ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 36.076/47.010/80.437 ms
root@OpenWrt:/#
理论上也支持 PCIe 蜂窝通信模块,但尚未经过测试。
将一个 M.2 NVMe SSD(PCI 接口)插入 Key B 插槽(CN8)。
| 尚未进行兼容性测试,无法保证所有 SSD 均可使用。 |
root@OpenWrt:/# lspci
0000:00:00.0 PCI bridge: MEDIATEK Corp. Device 7987 (rev 01)
0000:01:00.0 Non-Volatile memory controller: Intel Corporation NVMe Optane Memory Series
0001:00:00.0 PCI bridge: MEDIATEK Corp. Device 7987 (rev 01)
0001:01:00.0 Network controller: MEDIATEK Corp. Device 7993
root@OpenWrt:/# cat /proc/partitions
major minor #blocks name
259 0 14065664 nvme0n1
259 1 14063616 nvme0n1p1
179 0 7634944 mmcblk0
179 1 512 mmcblk0p1
179 2 4096 mmcblk0p2
179 3 2048 mmcblk0p3
179 4 32768 mmcblk0p4
179 5 262144 mmcblk0p5
31 0 4608 mtdblock0
31 1 4096 mtdblock1
31 2 2048 mtdblock2
31 3 32768 mtdblock3
31 4 1048576 mtdblock4
31 5 994880 mtdblock5
31 6 2097152 mtdblock6
31 7 4445696 mtdblock7
root@OpenWrt:/# ls /dev/nvm*
/dev/nvme0 /dev/nvme0n1 /dev/nvme0n1p1
root@OpenWrt:/# df -h
Filesystem Size Used Available Use% Mounted on
/dev/root 52.5M 52.5M 0 100% /rom
tmpfs 997.4M 164.0K 997.2M 0% /tmp
/dev/mtdblock5 971.6M 5.6M 965.9M 1% /overlay
overlayfs:/overlay 971.6M 5.6M 965.9M 1% /
tmpfs 512.0K 0 512.0K 0% /dev
root@OpenWrt:/mnt/nvme# mount /dev/nvme0n1p1 /mnt/nvme
root@OpenWrt:/mnt/nvme# df -h
Filesystem Size Used Available Use% Mounted on
/dev/root 52.5M 52.5M 0 100% /rom
tmpfs 997.4M 164.0K 997.2M 0% /tmp
/dev/mtdblock5 971.6M 5.6M 965.9M 1% /overlay
overlayfs:/overlay 971.6M 5.6M 965.9M 1% /
tmpfs 512.0K 0 512.0K 0% /dev
/dev/nvme0n1p1 13.4G 80.2M 13.3G 1% /mnt/nvme
root@OpenWrt:/mnt/nvme#
以下是 MTK OpenWrt MP4.0 的 PWM 风扇控制参考脚本。
root@OpenWrt:~# cat /sbin/fan-speed
#!/bin/sh /etc/rc.common
if [ ! -f /sys/class/pwm/pwmchip0/export ]; then
exit 0
fi
### enable fan ###
echo 2 > /sys/class/pwm/pwmchip0/export
echo 10000 > /sys/class/pwm/pwmchip0/pwm2/period
echo 7000 > /sys/class/pwm/pwmchip0/pwm2/duty_cycle
echo normal > /sys/class/pwm/pwmchip0/pwm2/polarity
echo 1 > /sys/class/pwm/pwmchip0/pwm2/enable
while :
do
sleep 20
result=`cat /sys/class/thermal/thermal_zone0/temp`
temperature=$((result))
#echo $temperature
if [ ${temperature} -ge 53000 ]; then
echo 7000 > /sys/class/pwm/pwmchip0/pwm2/duty_cycle
fi
if [ ${temperature} -ge 62000 ]; then
echo 10000 > /sys/class/pwm/pwmchip0/pwm2/duty_cycle
fi
if [ ${temperature} -le 4800 ]; then
echo 5000 > /sys/class/pwm/pwmchip0/pwm2/duty_cycle
fi
if [ ${temperature} -le 4000 ]; then
echo 3000 > /sys/class/pwm/pwmchip0/pwm2/duty_cycle
fi
done
root@OpenWrt:~#
| BPI-R4Mini 风扇接口引脚定义 | |
|---|---|
引脚编号 |
连接信号 |
1 |
5V |
2 |
GND |
3 |
PWM |
| BPI-R4Mini M.2 B-Key 插槽 1(CN8)引脚定义 | |||
|---|---|---|---|
连接信号 |
引脚编号 |
引脚编号 |
连接信号 |
NI |
1 |
2 |
VDD_BKEY_A |
GND |
3 |
4 |
VDD_BKEY_A |
GND |
5 |
6 |
NI(10K PullUp to 3.3V) |
USBHUB_USB1_Dp |
7 |
8 |
NI |
USBHUB_USB1_Dn |
9 |
10 |
BKEY-A-NET-STUn LED |
GND |
11 |
12 |
NOTCH |
NOTCH |
13 |
14 |
NOTCH |
NOTCH |
15 |
16 |
NOTCH |
NOTCH |
17 |
18 |
NOTCH |
NOTCH |
19 |
20 |
NI |
NI |
21 |
22 |
NI |
NI |
23 |
24 |
NI |
NI |
25 |
26 |
NI |
GND |
27 |
28 |
NI |
USBHUB_USB1_RXn |
29 |
30 |
USIM_RST-1A |
USBHUB_USB1_RXp |
31 |
32 |
USIM_CLK-1A |
GND |
33 |
34 |
USIM_DATA-1A |
USBHUB_USB1_TXn |
35 |
36 |
USIM_VDD-1A |
USBHUB_USB1_TXp |
37 |
38 |
NI |
GND |
39 |
40 |
NI |
PCIE_SW_A_C_RXn |
41 |
42 |
USIM_DATA-1B |
PCIE_SW_A_C_RXp |
43 |
44 |
USIM_CLK-1B |
GND |
45 |
46 |
USIM_RST-1B |
PCIE_SW_A_C_TXn |
47 |
48 |
USIM_VDD-1B |
PCIE_SW_A_C_TXp |
49 |
50 |
BKEY-A-PRESET_3P3V |
GND |
51 |
52 |
BKEY-A-CLKREQ_3P3V |
PCIE_SW_A_C_CKn |
53 |
54 |
BKEY-A-WAKE_3P3V |
PCIE_SW_A_C_CKp |
55 |
56 |
NI |
GND |
57 |
58 |
NI |
NI |
59 |
60 |
NI |
NI |
61 |
62 |
NI |
NI |
63 |
64 |
NI |
NI |
65 |
66 |
USIM_DET-1A |
BKEY-A-RST |
67 |
68 |
NI |
NI |
69 |
70 |
VDD_BKEY_A |
GND |
71 |
72 |
VDD_BKEY_A |
GND |
73 |
74 |
VDD_BKEY_A |
NI |
75 |
||
| BPI-R4Mini FPC 连接器(CN13)引脚定义 | |||
|---|---|---|---|
连接信号 |
引脚编号 |
引脚编号 |
连接信号 |
SPI_MOSI |
1 |
2 |
SPI_MISO |
SPI_CLK |
3 |
4 |
SPI_CS |
SPI_IO1 |
5 |
6 |
SPI_IO2 |
GND |
7 |
8 |
CTP_SCL |
CTP_SDA |
9 |
10 |
CTP_INT |
CTP_RST |
11 |
12 |
GND |
D1M |
13 |
14 |
D1P |
5V0 |
15 |
16 |
3V3 |
| BPI-R4Mini DC-IN 连接器(CN7)引脚定义 | |
|---|---|
引脚编号 |
连接信号 |
1 |
DCIN_12_24V |
2 |
GND |
| BPI-R4Mini SPI NOR(CN15)引脚定义 | |||
|---|---|---|---|
连接信号 |
引脚编号 |
引脚编号 |
连接信号 |
SPI_MOSI |
1 |
2 |
BOOT_SEL2 |
SPI_MISO |
3 |
4 |
NOTCH |
SPI_CLK |
5 |
6 |
NOTCH |
SPI_CS |
7 |
8 |
NOTCH |
SPI_WP |
9 |
10 |
NOTCH |
SPI_HOLD |
11 |
12 |
NOTCH |
VCC33 |
13 |
14 |
DNU |
GND |
15 |
16 |
DNU |
NOR/NAND_CS_SEL |
17 |
18 |
DNU |
BOOT_SEL1 |
19 |
20 |
DNU |