为什么选择rax3000m?
1、恩山论坛237大佬放出了硬件QOS功能,而很多几百元路由器一旦开启QOS就会变软件NAT走CPU转发,效果还不如x86软路由。这样就非常适合刷机,在家里跑pt、迅雷等任务时候不会卡顿,实测,丢包率极低,延迟略有升高
2、留学功能可以达到300m,足够日常看视频和下载
缺点
日常不开留学功能,只开QOS、防火墙,温度常年60°,散热并不如网上吹嘘的那样很好,还是要加风扇才能降低到50°
上网并没有起飞的感觉,属于能做一部分基础的、简单的东西,64G版本可以跑简单docker、简单nas,全部都是入门级水平,需求高的朋友入手普通版即可。
目前普通版售价150元,算力版200多元,溢价严重,个人觉得属于能接受,但不值得的范围,刷机后信号也是个问题。
综上所述:100元上下,可以玩玩;150元,高不成低不就
前言必看,刷机有风险
刷机有风险,务必看清,否则后果自负。
本刷机教程为237大佬固件,最大特色是支持硬件级QOS,不占用CPU,从而腾出CPU空间来跑一些其它留学等服务。
其它固件教程,可以参考,但是不能盲目跟随教程,建议多看几遍多类比。
感谢恩山237176253的固件,感谢恩山lgs2007m的解答
区分emmc版本和nand版本
检查设备背面的标签:
“CH EC CMIIT ID: xxxx”是eMMC版本
“CH CMIIT ID: xxxx”是NAND版本
目前算力版是emmc,其余都是nand
总之,之所以要先搞清楚,是因为教程不通用,弄不清直接变砖
至于日期之类,只是区分两种:早些时候日期是不加密的,新出的是加密的,
固件分三种:主线all in fit、单分区、双分区
https://www.right.com.cn/forum/thread-8311380-3-1.html
一定要搞清楚,目前双分区已经不建议使用了(老旧复杂逐渐被淘汰),所以剩下all in fit和单分区两种uboot,对应两种固件,all in fit是目前的主流
1、一般ubootmod就是指OpenWrt U-Boot layout了,这个是all in fit
2、custom U-Boot layout这个我才叫做单分区。
注意:
immortalwrt的all in fit或者单分区的gpt分区表,都是没有分配最后56G空间的,自己用fdisk插件新建分区,然后mkfs.ext4格式化新建分区就可以使用了。不要用diskman,不要用diskman,会有问题!!!用fdisk去看分区你就知道了,建议用fdisk命令去新建,然后保存下分区表
Uboot必须要与上面3种分区固件,一一对应才行
区分三种固件的目的,是为了刷机不变转,因为三种固件对应的uboot不同,必须搞清楚。
例如:
这个是ImmortalWrt主线的all in fit mediatek: add CMCC RAX3000M support,eMMC版gpt分区表用production替代了原厂kernel+rootfs,固件特点是eMMC、NAND版固件合二为一了,固件通用,但是uboot不通用。
ImmortalWrt的RAX3000M eMMC还有单分区版CMCC RAX3000M eMMC version (custom U-Boot layout),需要使用单分区gpt分区表和单分区uboot。
现在rax3000m算力版只有immortalwrt主线all in fit的uboot和单分区uboot 这两种而已。all in fit的uboot通过tftp刷固件,没有webui,因此总结如下:
1、如果用immortalwrt主线固件,就用all in fit的uboot和all in fit的分区表
2、如果用237、hanwckf、lean大雕闭源固件,就用hanwckf的uboot或者immortalwrt的单分区uboot,刷单分区分区表。immortalwrt的单分区uboot也是基于hanwckf大佬的bl-mt798x仓库修改的,uboot有webui
237大佬的RAX3000M eMMC [GL](https://www.right.com.cn/forum/thread-8297881-1-1.html)目前单分区不能使用,刷入第一次可以启动,重启后进不了系统了,好像需要rootfs_data分区,**目前只能双分区使用**,注意237的eMMC GL固件是压缩包,需要先解压再使用。
日后想要换单分区,直接重新刷单分区gpt、bl2和uboot,再进uboot的webui刷单分区固件即可。
237大佬推荐的Uboot
MT798x 全家桶不死 U-Boot 支持自动下发 DHCP
帖子中的下载地址是:
https://firmware.download.immortalwrt.eu.org/uboot/mediatek
点开后,找适合自己的,比如我这里是emmc,就下载这三个
237大佬固件地址
1、原贴:https://www.right.com.cn/forum/thread-8297881-1-1.html
237大佬的项目地址:https://github.com/padavanonly/immortalwrt-mt798x
H大的immortalwrt项目地址:https://github.com/hanwckf/immortalwrt-mt798x
这里恩山lgs2007m大佬给了一个在线自动编译教程,可以自定义编译:
https://github.com/lgs2007m/Actions-OpenWrt
2、懒人推荐精简包(只有10M多):感谢恩山shenjie提供的下载包和下载链接(此为他人编译精简版,不保证稳定性)
https://sssddddff.lanzoup.com/b019tameb
密码:8k8p
EMMC版本刷机,这里开始正式教程
再次声明:NAND版,禁止使用本教程,会变砖
获得 SSH 访问权限:
1、登录Web界面,下载配置。
这个.conf文件其实是个压缩包,需要解压出来,这里我用bandizip,是解压,不是压缩
不过这个是加密过的,所以
openssl aes-256-cbc -d -pbkdf2 -k $CmDc#RaX30O0M@\!$ -in cfg_export_config_file.conf -out ccconfig
然后
tar -zxvf ccconfig
得到一个etc目录
2、修改几个地方
编辑“etc/config/dropbear”,将“enable”设置为“1”
编辑“etc/shadow”,更新(删除)root密码
'root::19179:0:99999:7:::'
3、重新加密打包
sudo tar -zcvf - etc | openssl aes-256-cbc -pbkdf2 -k $CmDc#RaX30O0M@\!$ -out cfg_export_config_file_new.conf
如果您发现有关“etc/wireless/mediatek/DBDC_card0.dat”的错误,忽略它即可。加上sudo可以解决。总之是权限不够的问题
通过 Web 界面 配置管理->导入配置文件,选择我们刚修改好的cfg_export_config_file_new.conf
,重启后就能使用root用户通过ssh访问了,无需密码。
成功访问SSH的界面,这里SSH工具任意选择即可
SSH操作 先备份(非必须,主要是防止变砖)
SSH 到 RAX3000M,并备份所有内容,尤其是“factory”部分
请准备一个大容量的U盘(可用容量大于64G),插到路由器的usb接口上,然后准备进行备份
说明:emmc版本因为容量太大有64G,整个备份就需要可用容量大于64G。其它普通版本,其实有1G可用容量就行了。
先简单看一下默认的分区情况
执行备份命令
如果你有U盘,插到路由器后面就行,路径是/mnt/usb/sdx ,例如我是'/mnt/usb/sda1'可以执行如下命令:
dd if=/dev/mmcblk0p1 of=/mnt/usb/sda1/mmcblk0p1.bin
dd if=/dev/mmcblk0p2 of=/mnt/usb/sda1/mmcblk0p2.bin
dd if=/dev/mmcblk0p3 of=/mnt/usb/sda1/mmcblk0p3.bin
dd if=/dev/mmcblk0p4 of=/mnt/usb/sda1/mmcblk0p4.bin
dd if=/dev/mmcblk0p5 of=/mnt/usb/sda1/mmcblk0p5.bin
dd if=/dev/mmcblk0p6 of=/mnt/usb/sda1/mmcblk0p6.bin
dd if=/dev/mmcblk0p7 of=/mnt/usb/sda1/mmcblk0p7.bin
dd if=/dev/mmcblk0p8 of=/mnt/usb/sda1/mmcblk0p8.bin
dd if=/dev/mmcblk0p9 of=/mnt/usb/sda1/mmcblk0p9.bin
dd if=/dev/mmcblk0p10 of=/mnt/usb/sda1/mmcblk0p10.bin
dd if=/dev/mmcblk0p11 of=/mnt/usb/sda1/mmcblk0p11.bin
我这里没有p0,只有p12,所以,最后需要备份p12到u盘(目测每秒不到1M的速度,64G版本的需要等18个钟头)所以我放弃了,只备份了前面几个。如果你要全部备份,那么需要补上下面的命令。
dd if=/dev/mmcblk0p12 of=/mnt/usb/sda1/mmcblk0p12.bin
以下备份半路途中一个截图:用于查看各个分区空间
备份完成后,就可以拔掉U盘了。
开始刷入Uboot
进入uboot
- 断开电源,用卡针等按住reset不要松开,再插上电源,等待5s左右,红灯亮起后,再松开复位键
- 路由器的LAN口连接电脑
- 电脑修改IP地址为192.168.1.2(据说最新不需要改这个,直接dhcp即可), 默认网关192.168.1.1
- 浏览器打开192.168.1.1
然后用ssh工具登陆到路由器,把下载的 固件 文件上传到路由器 /tmp/ 目录下,可以使用winscp或xshell(工具自行下载,基本的使用需要自行搜索学习)。
如果用mac要注意在本机开启ssh远程登录服务,用scp命令传送(同理SCP命令基础用法自行搜索学习)不再啰嗦。
请注意,下面命令是刷入的emmc版本的uboot,nand版本请不要乱刷!此步刷错必成砖!
刷入前面下载的三个固件,他们的意思分别是:写入新的GPT表、擦除并写入新的BL2、擦除并写入新的FIP
dd if=mt7981-cmcc_rax3000m-emmc-gpt.bin of=/dev/mmcblk0 bs=512 seek=0 count=34 conv=fsync
echo 0 > /sys/block/mmcblk0boot0/force_ro
dd if=/dev/zero of=/dev/mmcblk0boot0 bs=512 count=8192 conv=fsync
dd if=mt7981-cmcc_rax3000m-emmc-bl2.bin of=/dev/mmcblk0boot0 bs=512 conv=fsync
dd if=/dev/zero of=/dev/mmcblk0 bs=512 seek=13312 count=8192 conv=fsync
dd if=mt7981-cmcc_rax3000m-emmc-fip.bin of=/dev/mmcblk0 bs=512 seek=13312 conv=fsync
切断电源重新接通,等待TFTP 恢复完成。恢复完成后会自动重启,可以ping 192.168.1.1 -t 观察有没有通
连上以后,就可以上传编译好的immortalwrt等固件了
上传immortalwrt等固件
访问192.168.1.1
点击转到固件升级
然后上传:选择237大佬固件 immortalwrt-mediatek-mt7981-cmcc_rax3000m-emmc-squashfs-sysupgrade.bin ,上传升级即可
如果你只是想刷入普通immortalwrt,参考下面链接
以下这个是最通用的正统方案
- 参考: openwrt RAX3000M官方教程 https://github.com/openwrt/openwrt/pull/13513
- 参考: immortalwrt刷入教程
- https://github.com/AngelaCooljx/Actions-rax3000m-emmc
- https://www.right.com.cn/forum/thread-8306986-1-1.html
- uboot地址: Developer drive of ImmortalWrt - /uboot/mediatek
- 备用地址: https://wwi.lanzoup.com/iW3FT1pj2mpa
- (没刷过这个链接的)immortalwrt官网连接: Index of /releases/23.05.0/targets/mediatek/filogic/ (immortalwrt.org)
最后,给一个我认为写的很详细,也非常易懂的教程