[{"content":"2024年11月购入Mac mini 2024版，配置如下：\nSoC: Apple M4 (10核CPU+10核GPU+16核NPU) RAM: 16G 统一内存 SSD: 256G 有线网卡: Marvell AQC113 无线网卡: 垃圾BCM4388 测试流程 下载immortalwrt-mt798x源码 (commit id: fa0b760)，使用mt7981-ax3000.config作为defconfig 分别执行一次完整的make 执行make clean; sync清理环境 执行time make -j$(nproc)开始编译，同时，使用北电交流功率计测量编译Linux内核期间的整机峰值功率 重复三次清理后编译过程，取最快的编译时间作为结果 测试结果 设备型号 CPU 内存 硬盘 软件环境 线程数 编译时间 整机峰值功率 Apple Mac Mini 2024 Apple M4 16G 内置256G macOS 15.1 with OrbStack (Ubuntu 22.04) 10 432s 37W 联想来酷 MINI PRO AMD Ryzen 7 8845H 65W 16G TiPlus5000 512G Manjaro Linux 16 487s 103W 联想来酷 MINI PRO AMD Ryzen 7 8845H 54W 16G TiPlus5000 512G Manjaro Linux 16 499s 82W 零刻SER6 Pro Vest AMD Ryzen 7 7735HS 35W 16G TiPlus5000 512G Manjaro Linux 16 672s 58W OrangePi5 Rockchip RK3588S 16G KIOXIA BG4 256G Ubuntu 22.04 (Linux 5.10) 8 2130s 9W ","date":"2024-11-18T00:00:00Z","permalink":"https://cmi.hanwckf.top/p/mac-mini-m4-openwrt-build-test/","title":"Mac mini 2024 (Apple M4) openwrt编译测试"},{"content":"bl-mt798x项目基于mtk原厂提供的ATF及uboot源码，特点如下\nuboot自带mtk原厂开发的简易webui恢复界面，可以通过webui直接刷入固件或者更新uboot，也可以使用串口+TFTP刷入固件 支持GL.iNet开发的通电后长按RESET按钮自动进入webui恢复界面的功能 支持多种Flash分区布局切换功能（仅支持spi-nand），可以在webui中切换不同的分区布局，完美兼容小米原厂固件 支持机型 路由器型号 CPU型号 BOARD名称 默认IP地址 360 T7/T7U/T7M mt7981 360t7 192.168.1.1 ZR3020 mt7981 livinet_zr-3020 192.168.1.1 Cetron CT3003 mt7981 cetron_ct3003 192.168.1.1 JCG Q30 PRO mt7981 jcg_q30 192.168.1.1 康佳 KOMI-A31 mt7981 konka_komi-a31 192.168.2.1 小米 WR30U/T/M mt7981 wr30u 192.168.31.1 乐橙 LC-HX3001 mt7981 imou_lc-hx3001 192.168.1.1 创联腾 CLT-R30B1 mt7981 clt_r30b1 192.168.1.1 安博通 ABT ASR3000 mt7981 abt_asr3000 192.168.1.1 CMCC A10 mt7981 cmcc_a10 192.168.1.1 CMCC RAX3000M (SPI-NAND) mt7981 cmcc_rax3000m 192.168.1.1 CMCC RAX3000M (EMMC) mt7981 cmcc_rax3000m-emmc 192.168.1.1 CMCC XR30 (SPI-NAND) mt7981 cmcc_xr30 192.168.1.1 CMCC XR30 (EMMC) mt7981 cmcc_xr30-emmc 192.168.1.1 新大陆 NL-WR8103 mt7981 newland_nl-wr8103 192.168.1.1 新大陆 NL-WR9103 mt7981 newland_nl-wr9103 192.168.1.1 H3C NX30 Pro mt7981 h3c_magic-nx30-pro 192.168.1.1 诺基亚贝尔 EA0326GMP mt7981 nokia_ea0326gmp 192.168.1.1 锐捷 RG-X30E mt7981 ruijie_rg-x30e 192.168.1.1 锐捷 RG-X30E Pro mt7981 ruijie_rg-x30e-pro 192.168.1.1 荣耀 XT50/XU50/XC50 mt7981 honor_fur-602 192.168.1.1 小米 AX3000T mt7981 ax3000t 192.168.1.1 小米 AX3000T v2 AN8855 mt7981 ax3000t_an8855 192.168.1.1 红米 AX6000 mt7986 redmi_ax6000 192.168.31.1 GL.iNet MT6000 mt7986 glinet_gl-mt6000 192.168.1.1 京东云 AX6000 百里 mt7986 jdcloud_re-cp-03 192.168.1.1 锐捷 RG-X60 mt7986 ruijie_rg-x60-pro 192.168.1.1 锐捷 RG-X60 Pro mt7986 ruijie_rg-x60 192.168.1.1 合勤 EX5700 mt7986 zyxel_ex5700 192.168.1.1 TP-Link XDR4288/6086/6088 mt7986 tplink_tl-xdr608x 192.168.1.1 源码 https://github.com/hanwckf/bl-mt798x\n下载 https://github.com/hanwckf/bl-mt798x/releases/latest\n目前最新的release已经更新到2023.07版本的uboot，同时也提供2022.06的旧版uboot下载\n编译说明 拉取源码，安装arm-gcc工具链。对于ubuntu/debian系统，可以使用以下命令安装 1 2 sudo apt update sudo apt install gcc-aarch64-linux-gnu build-essential flex bison libssl-dev device-tree-compiler 运行源码目录下的build.sh开始自动编译，脚本参数如下 1 2 3 4 5 6 7 8 9 SOC=[mt7981|mt7986] BOARD=\u0026lt;board name\u0026gt; MULTI_LAYOUT=[0|1] ./build.sh # SOC=mt7981 BOARD=360t7 ./build.sh # SOC=mt7981 BOARD=wr30u MULTI_LAYOUT=1 ./build.sh # SOC=mt7986 BOARD=redmi_ax6000 MULTI_LAYOUT=1 ./build.sh # SOC: CPU型号，可以选择mt7981或mt7986 # BOARD: 路由器型号，根据支持机型表格里的BOARD名称填写 # MULTI_LAYOUT: 是否启用多种Flash分区布局支持，默认禁用。目前此功能仅支持使用SPI-NAND的部分机型 # FIXED_MTDPARTS: 是否忽略mtdparts环境变量并固定Flash分区布局，默认开启，推荐开启 编译完成后，在output目录下生成可直接写入Flash的uboot FIP二进制文件 failsafe webui使用说明 按住路由器的RESET按钮后通电，保持至少15秒后松开，路由器会自动进入failsafe模式 因uboot不支持DHCP功能，需要把电脑的IP地址设置成固定IP，其中 对于小米WR30U、红米AX6000路由器，应设置成192.168.31.100 对于康佳KOMI-A31，应设置成192.168.2.100 对于对于其它路由器，应设置成192.168.1.100 将电脑连接到路由器任一LAN口，使用浏览器的隐身模式访问路由器的IP地址，其中 对于小米WR30U、红米AX6000路由器，访问192.168.31.1 对于康佳KOMI-A31，访问192.168.2.1 对于其它路由器，访问192.168.1.1 选择固件文件上传，支持sysupgrade或factory格式的固件，待上传完毕后点击开始刷机 刷机完成后，路由器会自动重启，请将电脑的IP地址重新设置成DHCP自动获取 如果要使用webui更新uboot，可以访问http://\u0026lt;路由器IP\u0026gt;/uboot.html（例如http://192.168.31.1/uboot.html），选择FIP格式的uboot二进制并上传刷入即可，如下图所示 自定义failsafe模式触发按钮 默认情况下，开机后按住RESET按钮会进入failsafe模式，可设置glbtn_key环境变量自定义failsafe模式触发按钮\n1 2 3 # 在uboot串口控制台设置触发按钮为mesh按键并保存 setenv glbtn_key mesh saveenv 也可以在openwrt系统内通过fw_setenv命令设置uboot环境变量\n1 2 # 在openwrt/immortalwrt系统内设置glbtn_key环境变量 fw_setenv glbtn_key mesh 串口控制台使用说明 uboot的默认波特率为115200，流控关闭 uboot启动阶段会显示mtk的启动菜单，此时选择最后一项，并再次按下任意键即可进入uboot控制台 使用mtkupgrade fw命令可以通过TFTP刷入固件 使用mtkupgrade fip命令可以通过TFTP刷入uboot 多种分区布局切换功能 部分机型的uboot支持在dts里定义多种不同的Flash分区布局，并可在webui刷入固件时进行切换，该功能主要用于兼容小米原厂固件及其它分区布局的openwrt固件启动\n在uboot串口控制台中，可以使用showlayout查看内置的分区布局信息。 环境变量mtd_layout_label代表当前使用的分区布局，当mtd_layout_label未设置时，默认使用default分区布局\n1 2 3 4 5 6 7 8 9 10 11 12 MT7981\u0026gt; showlayout mtd label: default, mtdids: nmbm0=nmbm0, mtdparts: nmbm0:1024k(bl2),256k(Nvram),256k(Bdata),2048k(factory),2048k(fip),256k(crash),256k(crash_log),34816k(ubi_kernel),79872k(ubi),256k(KF) mtd label: immortalwrt-112m, mtdids: nmbm0=nmbm0, mtdparts: nmbm0:1024k(bl2),256k(Nvram),256k(Bdata),2048k(factory),2048k(fip),256k(crash),256k(crash_log),112m(ubi),256k(KF) mtd label: qwrt, mtdids: nmbm0=nmbm0, mtdparts: nmbm0:1024k(bl2),256k(Nvram),256k(Bdata),2048k(factory),2048k(fip),256k(crash),256k(crash_log),1024k(rsv0),110m(ubi) MT7981\u0026gt; printenv mtd_layout_label mtd_layout_label=immortalwrt-112m # 手动设置mtd_layout_label环境变量并保存即可切换分区布局，与webui中选择分区布局的效果完全一致 # 必须在刷入固件之前设置正确的mtd_layout_label才能生效，例如： # setenv mtd_layout_label default # saveenv 小米WR30U多种分区布局固件兼容性 固件类型 uboot (default) uboot (immortalwrt-112m) uboot (qwrt) 小米原厂mtd8/mtd9备份文件 √ × × immortalwrt-mt798x stock √ × × OpenWrt stock √ × × immortalwrt stock √ × × X-Wrt stock √ × × immortalwrt-mt798x 112m × √ × GL.iNet by 237176253 × √ × X-Wrt 112m nmbm × √ × OpenWrt 112m nmbm × √ × immortalwrt 112m nmbm × √ × X-Wrt 112m nmbm × √ × QWRT × × √ OpenWrt ubootmod × × × immortalwrt ubootmod × × × X-Wrt ubootmod × × × 红米AX6000多种分区布局固件兼容性 固件类型 uboot (default) uboot (immortalwrt-110m) 小米原厂mtd8/mtd9备份文件 √ × immortalwrt-mt798x stock √ × OpenWrt stock √ × immortalwrt stock √ × X-Wrt stock √ × immortalwrt-mt798x × √ GL.iNet by 237176253 × √ X-Wrt ubootlayout × √ OpenWrt ubootmod × × immortalwrt ubootmod × × X-Wrt ubootmod × × 其它注意事项 刷入不同分区布局的固件，必须在uboot内切换分区布局并刷入固件，不得在原有系统内刷入 uboot支持刷入小米原厂mtd8/mtd9备份文件（可从此处下载），不支持miwifi.com官网下载的固件 刷入小米原厂固件后，首次开机时会自动重启3次，请耐心等待 刷入小米原厂固件后，uboot env环境变量分区将会被小米原厂固件覆盖重写 刷入小米原厂固件后，不得在小米系统内升级固件，如果要更新原厂系统，必须通过uboot刷入新系统的mtd8/mtd9备份文件 由于OpenWrt主线的ubootmod固件未开启nmbm支持，因此不支持任何ubootmod分区布局的主线固件（包括OpenWrt, X-Wrt等带有ubootmod字样的固件），请使用OpenWrt主线提供的uboot启动ubootmod固件 ","date":"2023-07-27T00:00:00Z","permalink":"https://cmi.hanwckf.top/p/mt798x-uboot-usage/","title":"mt798x uboot 功能介绍"},{"content":"immortalwrt-mt798x基于immortalwrt项目，特点如下\n基于immortalwrt 21.02分支，内核版本5.4，目前仅支持mt7981/mt7986 使用mtk-openwrt-feeds提供的有线驱动、hnat驱动、内核补丁及配置工具，支持所有硬件加速特性 mt7981/mt7986均支持两个ppe，每个ppe有32k Entry（当有线驱动使用ADMAv1时，每个PPE最大支持16k Entry） 使用mtwifi原厂无线驱动（目前默认使用7.6.6.1版本），默认开启802.11k，支持warp在内的所有加速特性 新开发的mtwifi-cfg无线配置工具支持openwrt的原生luci界面以及netifd-wireless标准接口。除此以外，还支持mtk原厂提供的luci-app-mtk和wifi-profile 支持机型 路由器型号 CPU RAM FLASH 有线规格 无线规格 USB 360 T7/T7U/T7M MT7981 256M 128M SPI-NAND 4*1G AX3000 × ZR3020 MT7981 256M 128M SPI-NAND 4*1G AX3000 × Cetron CT3003 MT7981 256M 128M SPI-NAND 4*1G AX3000 × JCG Q30 PRO MT7981 256M 128M SPI-NAND 4*1G AX3000 × MR3000D-CIq MT7981 512M 128M SPI-NAND 4*1G AX3000 × GL.iNet GL-MT3000 MT7981 512M 256M SPI-NAND 1G(WAN)+2.5G(LAN) AX3000 √ GL.iNet GL-MT2500 MT7981 1G 8G EMMC 1G(WAN)+2.5G(LAN) × √ 康佳 KOMI-A31/易莱孚 ETR635-U/ETR631-T MT7981 256M 128M SPI-NAND 4*1G AX3000 × 小米 WR30U/T/M MT7981 256M 128M SPI-NAND 4*1G AX3000 × 乐橙 LC-HX3001 MT7981 256M 128M SPI-NAND 4*1G AX3000 × H3C NX30 Pro MT7981 256M 128M SPI-NAND 4*1G AX3000 × CMCC RAX3000M MT7981 512M 128M SPI-NAND 4*1G AX3000 √ CMCC RAX3000M算力版 MT7981 512M 64G EMMC 4*1G AX3000 √ CMCC XR30 MT7981 512M 128M SPI-NAND 4*1G AX3000 √ CMCC RAX3000Z增强版 MT7981 512M 64G EMMC 4*1G AX3000 √ CMCC A10 MT7981 256M 128M SPI-NAND 4*1G AX3000 × NL-WR8103 MT7981 256M 128M SPI-NAND 4*1G AX3000 × NL-WR9103 MT7981 256M 128M SPI-NAND 4*1G AX3000 × 荣耀 XT50/XU50/XC50 MT7981 256M 128M SPI-NAND 4*1G AX3000 × 爱快 Q3000 MT7981 512M 128M SPI-NAND 4*1G AX3000 × Nokia EA0326GMP MT7981 256M 128M SPI-NAND 4*1G AX3000 × Routerich AX3000 MT7981 256M 128M SPI-NAND 4*1G AX3000 √ 锐捷 RG-X30E/RG-X30E PRO MT7981 256M 128M SPI-NAND 4*1G AX3000 × 安博通 ABT ASR3000 MT7981 256M 128M SPI-NAND 4*1G AX3000 × 创联腾 CLT-R30B1 MT7981 256M 128M SPI-NAND 4*1G AX3000 × 小米 AX3000T MT7981 256M 128M SPI-NAND 4*1G AX3000 × 小米 AX3000T v2 AN8855 MT7981 256M 128M SPI-NAND 4*1G AX3000 × TP-Link XDR6086 MT7986 512M 128M SPI-NAND 1G+2*2.5G AX6000 √ TP-Link XDR6088 MT7986 512M 128M SPI-NAND 4*1G+2*2.5G AX6000 √ Banana Pi BPI-R3 Mini MT7986 2G 128M SPI-NAND + 8G EMMC 2*2.5G AX4200 √ 磊科 N60 MT7986 256M 128M SPI-NAND 4*1G+2.5G AX6000 × GL.iNet GL-MT6000 MT7986 1G 8G EMMC 4*1G+2*2.5G AX6000 √ 红米 AX6000 MT7986 512M 128M SPI-NAND 4*1G AX6000 × 锐捷 RG-X60 PRO MT7986 512M 128M SPI-NAND 4*1G+2.5G AX6000 × 京东云 AX6000 百里 MT7986 1G 64G EMMC 4*1G+2.5G AX6000 × 合勤 EX5700 MT7986 1G 512M SPI-NAND 3*1G+2*2.5G AX6000 √ 固件源码 https://github.com/hanwckf/immortalwrt-mt798x\n编译说明 拉取固件源码，参考immortalwrt的README搭建openwrt编译环境，并更新feeds 使用defconfig目录内预置的配置文件作为配置模板， 1 2 3 4 5 6 7 8 9 10 11 12 13 # defconfig/luci-app-mtk-deprecated目录里的配置文件使用旧版luci-app-mtk作为无线配置工具 # 对于mt7981，使用mt7981-ax3000.config cp -f defconfig/mt7981-ax3000.config .config # 对于mt7986，使用mt7986-ax6000.config #cp -f defconfig/mt7986-ax6000.config .config # 对于256M内存的mt7986（如磊科N60），使用mt7986-ax6000-256m.config #cp -f defconfig/mt7986-ax6000-256m.config .config # 对于AX4200方案的mt7986（如BPI-R3 MINI），使用mt7986-ax4200.config #cp -f defconfig/mt7986-ax4200.config .config 运行make menuconfig定制固件 运行make V=s开始编译固件，为了加快编译速度，可以使用make V=s -j$(nproc) 注意事项 GL.iNet MT3000/MT2500的WAN/LAN口对应的GMAC不符合参考设计，为了保证HNAT加速功能正常，immortalwrt-mt798x最新源码中已按照mtk公版方案进行修正，上述两款路由器均使用2.5G口作为LAN口 不要在开启hwnat时使用主线的flow-offload，即不要启用turbo-acc的flow-offload加速方式 推荐选择WPA2-PSK/WPA3-PSK无线认证方式以获得最好的兼容性 由于mt798x无线驱动中继扫描所需时间较长，对应频段关联的无线设备可能会在扫描期间断开。因此在触发中继扫描时，要使用有线或者非扫描频段连接路由器操作 因未经测试，不推荐同时开启shortcut-fe 当前无线驱动的IGMP Snooping功能可能存在问题，新版源码已默认关闭此功能，较旧版本的固件可以手动在无线设置中禁用IGMP Snooping以避免出现问题 后期计划 加入mtk-wappd等高级扩展，更好支持802.11k/v/iapp等漫游功能 硬件加速功能说明 immortalwrt-mt798x支持mt798x的所有原厂有线、无线硬件加速特性，除此以外还支持以下功能\n可通过luci直接设置hwnat PPE的启用数量、PPE加速阈值（当NAT连接速率大于阈值时会被硬件加速，默认是30pps，设置更小的值会使NAT连接更容易被加速）、macvlan支持（支持macvlan作为WAN的加速功能）、IPv6开关等 每个NAT连接需要占用2个Entry（进站和出站方向），当使用2个PPE时，由GMAC2进入的包将使用PPE1加速，其它情况下均使用PPE0加速。当路由器仅使用GMAC1时（如JCG Q30，CT3003等路由器），PPE1将不会起任何作用 mt7981/mt7986均支持2个PPE，每个PPE有32768个Entry，当有线驱动使用ADMAv1时，每个PPE最多支持16384个Entry。按照mtk-sdk和最新openwrt主线的有线驱动，mt7981的ADMAv2存在不可修复的问题，immortalwrt-mt798x已参照上述源码将mt7981 ADMAv2回退至ADMAv1，mt7986不受影响 immortalwrt-mt798x最新源码已支持外部网络设备（如USB3.0 5G模块、USB-RNDIS/ECM网卡等）到有线和无线的双向hwnat PPE加速，mtk-sdk原厂驱动不支持此功能。此功能可降低使用外部网络设备时的CPU占用率，实测mt7981在外接USB-RNDIS/ECM网卡时可跑满千兆速率（原厂只能达到300-500Mbps）。目前仅在RAX3000M中开启，MT7986机型暂未测试 immortalwrt-mt798x支持硬件QoS的所有特性，该功能已集成到luci-app-eqos-mtk，具体用法参考luci里面的说明。为确保PPE尽可能接管所有的NAT连接，当开启硬件QoS时，PPE加速阈值将会被设置为5pps 同一个MBSSID内的无线客户端之间互传数据不支持硬件加速，不同MBSSID之间的无线客户端之间互传数据支持完全硬件加速 mtwifi无线配置工具说明 immortalwrt-mt798x早期采用的是mtk-sdk提供的luci-app-mtk和wifi-profile作为无线配置工具，并且在mtk-sdk基础上进行了大幅度的精简、修复、适配和汉化以尽可能满足日常使用需求。2023年12月，我开发了新的mtwifi-cfg配置工具，并配套做好了iwinfo和netifd相关支持，至此immortalwrt-mt798x可以选择两种完全不同的无线配置工具，特点分别如下：\nmtwifi-cfg：为mtwifi设计的无线配置工具，兼容openwrt原生luci和netifd，可调整无线驱动的参数较少，配置界面美观友好，由于是新开发的工具，可能存在一些问题 luci-app-mtk：源自mtk-sdk提供的配置工具，需要配合wifi-profile脚本使用，可调整无线驱动的几乎所有参数，配置界面较为简陋 mtwifi-cfg与luci-app-mtk不能在固件里共存，编译时必须选择其中之一，目前最新源码已默认使用mtwifi-cfg作为无线配置工具，如需使用旧版luci-app-mtk，请选择defconfig/luci-app-mtk-deprecated目录里的配置模板文件进行编译\nmtwifi-cfg无线配置说明 mtwifi-cfg是我为mt798x无线平台新开发的配置工具，支持openwrt的luci和netifd-wireless无线控制界面，具有以下特点：\n使用openwrt原版luci无线配置界面，配置方法非常接近原版openwrt 支持apcli中继功能 支持已连接站点信息显示（含apcli连接信息） 支持读取无线芯片实际发射功率 支持mtk原厂无线驱动可配置的大部分选项（含弱信号剔除等） 支持WPA-PSK/WPA2-PSK/WPA3-PSK/OWE无线认证方式，支持AP/APCLI工作模式，支持最多开启16个MBSSID 部分老旧的2.4G智能家居设备可能无法连接，请尝试以下无线设置： 使用WPA-PSK+AES/WPA2-PSK+AES认证加密方式 将2.4G无线设置为N模式 关闭2.4G的MU-MIMO功能（在较新的源码里，2.4G已经默认关闭MU-MIMO功能） 设置频宽为20MHz，并关闭强制40MHz开关 mtwifi-cfg配套源码 mtwifi-cfg及配套的补丁完全开源，具体参考immortalwrt-mt798x源码内下列目录\npackage/mtk/applications/mtwifi-cfg package/mtk/applications/luci-app-mtwifi-cfg package/mtk/drivers/mt_wifi/patches package/network/utils/iwinfo package/network/config/netifd/patches luci-app-mtk无线配置说明 luci-app-mtk来源于mtk-sdk，采用wifi-profile作为无线控制脚本，不支持openwrt的原版luci界面和netifd-wireless\nluci-app-mtk配置界面已基本汉化，可显示驱动版本、芯片温度、已连接客户端信息等，下面以MT7981为例 第一级MT7981右侧的配置按钮为chip_cfg，配置无线驱动基础参数，一般无需修改 第二级MT7981.1.1右侧的配置按钮为dev_cfg，可配置信道、国家代码等频段相关参数 第三级接口右侧的配置按钮为vif_cfg，可配置SSID、加密方式、无线中继扫描等 以MT7981.1.1为例，该设备代表MT7981的2.4G频段，其配置页面可以配置自动信道、国家代码、频宽、空间流、发射功率、波束成形等物理参数 MBSSID以ra0为例，该vif虚拟接口代表MT7981 2.4G的第一个MBSSID，在配置页面可以配置加密方式、密码、AP隔离、隐藏SSID等参数 无线中继以apcli0为例，该vif虚拟接口代表MT7981的2.4G无线ApCli，可在其配置页面点击扫描无线网络触发中继扫描功能\n中继扫描结束后，选择想要连接的上级AP并输入密码即可，WAN会自动更新为apcli0。 在禁用ApCli时，只需设置ApClient模式为禁用，WAN会恢复到默认的eth1\n","date":"2023-07-26T00:00:00Z","permalink":"https://cmi.hanwckf.top/p/immortalwrt-mt798x/","title":"immortalwrt-mt798x项目介绍"},{"content":"360T7的固件支持由immortalwrt-mt798x项目提供支持，请参考：\nhttps://cmi.hanwckf.top/p/immortalwrt-mt798x https://github.com/hanwckf/immortalwrt-mt798x 刷机步骤 参考此处的办法开启原厂固件的UART和telnet功能\n在以下链接下载360T7测试固件（纯净版，无任何插件）\nhttps://wwd.lanzout.com/b0bt9idwd 密码:ezex （此固件已过时，请选择其它更新的固件） 接下来将刷入修改版uboot。修改版uboot的优点有：\n固件分区可达108MB，原厂uboot只能使用36M 自带一个简单的webui恢复页面 到以下仓库的Release页面下载uboot，目前暂时仅支持360T7，后续将支持更多mt798x路由器。推荐使用mt7981_360t7-fip-fixed-parts.bin，fixed-parts代表uboot分区表在编译期间固定，不会随着uboot环境变量变化。\nhttps://github.com/hanwckf/bl-mt798x/releases/latest\n将mt7981_360t7-fip-fixed-parts.bin通过HFS等方式上传到路由器，使用以下命令刷入uboot\n1 mtd write mt7981_360t7-fip-fixed-parts.bin fip 确认刷入完毕后，拔掉路由器电源。然后将电脑的IP地址设置为固定的192.168.1.2，接着按住路由器的RESET按钮后通电开机，等待8s后用浏览器进入192.168.1.1\n在uboot恢复页面选择要刷入的固件。immortalwrt-mt798x目前编译两个版本的360T7固件。建议修改版uboot直接使用immortalwrt-mediatek-mt7981-mt7981-360-t7-108M-squashfs-factory.bin，两种固件区别如下：\nmt7981-360-t7-108M为108M固件分区，原厂uboot不可启动，需要修改版uboot才能启动 mt7981-360-t7为原厂36M固件分区，原厂uboot可以启动 等待机器重启即可\n","date":"2022-11-16T00:00:00Z","permalink":"https://cmi.hanwckf.top/p/360t7-firmware/","title":"360T7 刷机步骤及固件"},{"content":"360T7是目前市面上的第一款MT7981（filogic 820）运营商定制机，具有价格便宜、信号强（远强于同价位其它垃圾高通和bcm方案路由器）、可玩性高（刷机方法请看此处）的特点，其配置如下：\nCPU：MT7981B 双核A53 1.3GHz RAM：256M DDR3 FLASH：128M SPI NAND 无线phy：MT7976CN AX3000 交换机：MT7531A 2xHSGMII 拆机：https://www.acwifi.net/22217.html\n在200元价位对比其它方案路由器，例如：\n对比前代mt7622+mt7915 ax3200方案的路由器，mt7981可完美支持160mhz以及2.4G的wifi6，无线phy已集成中功率fem，与ax6s这类机器信号接近，综合来看无线性能强于先前ax3200方案。在加速特性上，mt798x支持warp(wed) tx rx双方向加速，mt7622仅支持单方向加速，加速特性完胜。cpu方面与mt7622持平，同为双核A53。 对比高通运营商定制机，众所周知，哪怕给运营商的高通路由器串上两个外置FEM，实际速率表现估计还不如内置FEM的mtk无线phy。在加速特性方面，mt798x支持完整的warp加速，无论是有线，无线，WAN还是LAN均可实现0%cpu占用，此方面不输于高通nss。cpu方面，mt7981与ipq5k持平，同为双核A53，虽不如ipq6k的四核A53，但ipq6k多为上代ax1800方案，ax3000的高通多为ipq5k系列。可玩性上，由于高通nss以及无线驱动需要占用大量内存，运营商定制机往往需要更换大内存才可刷机，而mt7981在256M内存下，加载所有原厂驱动后剩余内存90-100M，已足够运行某些特殊应用。 对比垃圾bcm路由器，这个就不用说了，bcm没有资格在这里对比。 原厂固件分区表 1 2 3 4 5 6 7 8 9 10 0x000000000000-0x000000100000 : \u0026#34;bl2\u0026#34; 0x000000100000-0x000000180000 : \u0026#34;u-boot-env\u0026#34; 0x000000180000-0x000000380000 : \u0026#34;Factory\u0026#34; 0x000000380000-0x000000580000 : \u0026#34;fip\u0026#34; 0x000000580000-0x000002980000 : \u0026#34;ubi\u0026#34; 0x000002980000-0x000004d80000 : \u0026#34;firmware-1\u0026#34; 0x000004d80000-0x000007180000 : \u0026#34;plugin\u0026#34; 0x000007180000-0x000007280000 : \u0026#34;config\u0026#34; 0x000007280000-0x000007300000 : \u0026#34;factory\u0026#34; 0x000007300000-0x000007a00000 : \u0026#34;log\u0026#34; 其中，Factory为无线EEPROM分区；fip为uboot分区；ubi和firmware-1为固件分区，分别36M，均为ubi格式；plugin为原厂插件分区，有36M，也是ubi格式；最后一个小写字母开头的factory分区为原厂固件信息分区，保存有机器编号，MAC地址等信息。\n原厂uboot在开机时会分别检查ubi和firmware-1分区内是否存在固件，如果某个分区未检查通过，则uboot会自动将另一个分区的内容复制过去。\n因此，当使用原厂uboot启动时，只能使用一个ubi分区存放固件，固件总体积（含kernel+rootfs+rootfs_data）将限制在36M内，但你仍然可以使用plugin分区（36M）存放其它数据。\n原厂固件备份 蓝奏云下载：https://wwd.lanzout.com/iCnq30e90ypi\n360T7.bin：不含ecc数据的编程器固件，mt798x固件默认使用ondie-ecc 360t7.dts：原厂固件里提取的设备树 squashfs-root.tar.gz：原厂固件的rootfs内容 开启telnet和uboot控制台 此款路由器内置的原厂固件为基于mtk-sdk Linux 5.4内核的OpenWrt，uboot和OpenWrt的控制台终端均不可操作，但可以使用TTL进入OpenWrt的failsafe模式，从而开启telnet和uboot控制台。具体操作方法如下：\n拆机，此机器卡扣较紧，拆机后找到下图红框内的UART串口。线序由上到下为RXD，TXD，GND，波特率115200 打开串口助手，上电，等待机器启动后，不断按下 f和回车键 ，直到出现下面的提示后，即可进入failsafe模式 1 2 3 4 5 6 7 8 [ 10.205973] wed_get_slot_map(): assign slot_id:0 for entry: 0! [ 10.211812] wed_get_slot_map(): assign slot_id:1 for entry: 1! [ 10.218061] kmodloader: done loading kernel modules from /etc/modules-boot.d/* [ 10.235722] init: - preinit - [ 10.539480] mtk_soc_eth 15100000.ethernet eth0: configuring for fixed/2500base-x link mode [ 10.547859] mtk_soc_eth 15100000.ethernet eth0: Link is Up - 2.5Gbps/Full - flow control rx/tx Press the [f] key and hit [enter] to enter failsafe mode Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level 在failsafe模式依次执行以下操作 1 2 3 4 5 6 7 8 9 # 开启uboot控制台菜单 fw_setenv bootmenu_delay 3 # 挂载rootfs并开启telnet mount_root sed -i \u0026#39;s/.*local debug=.*/\\tlocal debug=1/\u0026#39; /etc/init.d/telnet # 修改root密码 passwd root 通过网络备份原厂固件（可选） 1 2 3 4 5 6 7 8 9 10 11 12 13 # 将电脑的IP地址设置为192.168.1.8，插入路由器LAN口 # 使用nc监听3333端口并写入all.bin # Windows系统可以使用netcat # nc -l -p 3333 \u0026gt; all.bin # 在路由器failsafe模式下开启网络 ifconfig eth0 0.0.0.0 brctl addbr br-lan ifconfig br-lan 192.168.1.1 netmask 255.255.255.0 up brctl addif br-lan eth0 # 读取/dev/mtd0，使用nc发送到192.168.1.8:3333 cat /dev/mtd0 | nc 192.168.1.8 3333 重启路由器 1 reboot 原厂uboot内刷写固件 建议在原厂uboot控制台内使用mtkupgrade工具刷写固件，使用方法如下图所示\n原厂OpenWrt系统内刷写固件 直接使用mtd工具即可，例如\n1 mtd -r write openwrt-squashfs-factory.bin ubi ","date":"2022-10-20T00:00:00Z","permalink":"https://cmi.hanwckf.top/p/360t7-telnet-uboot-console/","title":"360 T7 路由器 开启telnet及uboot控制台方法"}]