前言

之前自从把AC2100换内存给换掉焊盘后就整了个CR6608做主路由,然后AP一直用的海康的路由(腾达代工,说是主板和腾达ac11 v2一毛一样),结果这海康自己崩了,从不定时死机到开机就死机。。索性就打算换掉,最近也没好价,预算也有限,反正当个ap用就入了红米ax3000。由于在论坛看到有说CR8808系列刷了AX3000的固件2.4G不太正常,想了想为了以后方便和小米系列组Mesh还是上了公版AX3000。
既然都换了路由,我主路由用的还是Padavan,没办法组mesh,就干脆打算KVR漫游,但是AX3000的官方固件这边,只有开双频合一下才有KV。。分开是没有的,要想分开情况下开KV就得通过ssh进去改无线参数,于是就只能去开ssh了。


参考

基本上所有教程都来自恩山论坛,这里先给出所有参考链接。没有他们的付出和分享就没有下文了(
最新CR880X_红米AX3000_改善CPU链路OpenWrt5.4、集客固件刷机救机包

小米、红米路由器锁分区中断进入TTL方法 AX3000、AX5、AX6,AX3600、AX6000、AX9000

成功把CR8806刷成红米AX3000并开启Telnet/SSH

记CR8808不拆机刷集客AP过程,在8806固件下开启ssh

AX3600 永久开启telnet-ssh


步骤(查看TTL输出)

需要TTL转USB,我这边使用的是FT232RL,CH341/340应该也行。没有长的插针的话就用回形针掰直,然后敲掉杜邦线上的塑料,将口子掰开一些把回形针插进去。有电工胶带的话就绑一下,没有的话就保证回形针之间不要互相碰到就行。
TTL
大致这么接下就行,ttl点位在路由器正对着的右上方,具体可以参考最新CR880X_红米AX3000_改善CPU链路OpenWrt5.4、集客固件刷机救机包中的ttl点位参考图
AX3000从上到下分别是TX,GND,RX,VCC。TTL接法是VCC不接,转usb模块上的RX接路由器TX,TX接RX,反着接,GND还是接GND。

一开始我就照着CR8808的点位接。。都说两玩意一样没想到定义不一样,怎么都没输出。。也不好拆机拿万用表测,后来看帖才知道不一样。。

建议闪光灯从前往后照,回形针从后面缝隙插进去,然后用putty或者mobaxterm之类的打开对应端口,速率115200。

ttlb

接上后看到电脑这边有信息输出,例如
com这种就说明正常。


步骤(TTL中断)

参考小米、红米路由器锁分区中断进入TTL方法 AX3000、AX5、AX6,AX3600、AX6000、AX9000教程,用MIWIFIRepairTool进行一次刷写操作,(软件内有教程引导)。如果固件不支持小米官方这个工具的话先降级,实测1.0.33可以使用。

降级的话先通过互联网找到miwifi_ra81_all_03430_1.0.33.bin固件,然后按照路由页面的手动升级上传固件,当提示“出于安全考虑,不允许选择低于当前版本号的固件进行升级”的时候,将地址栏最后的downgrade=1改为downgrade=0,回车,就刷进去了。

用小米路由修复工具跑完后会蓝灯快闪,此时路由器断电,接上TTL,电脑打开mobaxterm之类的连上端口,一直按回车或者任意键,路由器通电,进行中断ttl操作。直到看到输出信息有终端了,即中断成功,例如这样
ttlinterrupt
只有小米路由修复工具修复后第一次开机才能中断TTL,如果错过了需重复操作
然后输入下面三行命令

setenv boot_wait on
setenv uart_en 1
saveenv

目的是以后每次都可以中断uboot进入命令行了,不需要修复后。

注:上面输入后如果插上ttl模块后启动会在这自动中断,手动输入“bootmiwifi命令即可进入系统”


步骤(提取修改bdata分区)

这一段不能照抄,要动脑想想怎么改
需要tftpd64,HxD HexEditor软件,有线网卡ip设置为192.168.31.100,掩码255.255.255.0,网线连上路由器lan口,打开tftpd64软件
输入

smeminfo

查看分区表,找到bdata部分,例如我这边的

 13: 0:ART            0x0000ffff         0x780000         0x100000
 14: 0:TRAINING       0x0000ffff         0x880000          0x80000
 15: bdata            0x0000ffff         0x900000          0x80000
 16: crash            0x0000ffff         0x980000          0x80000

可以看到,bdata的起始地址是0x900000,大小是0x80000。
那么我这边就输入

nand read 0x44000000 0x900000 0x80000

命令解释:nand read 将0x900000地址,大小为0x80000的数据读入内存地址0x44000000,其中0x44000000是tftp的默认内存地址,不修改。其他的按需修改

tftpput 0x44000000 0x80000 bdata.bin

命令解释:tftpput将其内存地址下大小为0x80000的数据写入tftp服务器内,也就是事先打开的tftpd64软件,名为bdata.bin,默认存储在tftpd64软件目录内。需要其他分区自行举一反三以此类推。
备份好bdata后,copy一份进行修改,打开HxD,打开导出的文件
hxd1
可以看到右边对应文本字段有“telnet_en=0 ssh_en=0 uart_en=0”,将0改1,其中这每个=0的0对应的hex都是30,光标点中=0的0后找到附近的30,看看对应文本是不是对应要修改的,然后30改31,再看对应文本是不是等于1了。
hxd2
就像这样,完成操作后点击菜单栏的编辑,点击选择块,起始偏移输入 4,结束偏移输入 FFFF
hxd3
然后点确定,点击菜单栏的分析,检验码,选CRC-32,范围为选定的数据,点击确定。
底部出现校验和记下它,例如这种:

我这里是0BBF3905,再回到文件头顶部,将开头四个改成这个校验码的倒序。我这个倒序就是0539BF0B,进行修改。

最后保存,将修改的bdata.bin放到tftpd64读的目录下,在mobaxterm内输入

tftpboot bdata.bin

就会通过tftp服务器把bdata.bin上传的内存地址0x44000000的位置,再输入

nand erase 0x900000 0x80000

nand write 0x44000000 0x900000 0x80000

和nand read同理,擦除再将tftp上传文件内存地址的数据写进bdata的位置。
写入ok后断电重启。


步骤(开启ssh)

开机后通过网络进行telnet连接,端口23,mobaxterm可以连,用户名是root,密码用的MiWiFi SSH Password Calculator输入sn号进行计算一下。
进去后输入

sed -i 's/channel=.*/channel=\"debug\"/g' /etc/init.d/dropbear
/etc/init.d/dropbear start

即可启动ssh,当然,也可以修改ssh的密码

passwd root

进行密码修改,然后再用ssh连进去,就能看到
ssh.png
熟悉的are you ok界面(


(选做)步骤(开启KV(没有R))

ssh到上面就开完了,开启KV参考了
CR8806重启后丢失 KVR 功能13楼。
ssh上去修改/etc/config/wireless文件,在你自己的wifi配置后加上

option wnm '1'
option rrm '1

如果有option bsd '1'就删掉,保存文件后输入下

sync

之后重启路由器,开机后用WinFI软件就能看到有KV了。


END

依旧感谢大佬们的铺路,才有以上文案,总算是在不拆机不丢保修的情况下把KV开了实现了漫游,不用再来回切换了。。