Redmi AX1800折腾记录

从朋友那儿嫖来的竞斗云r619ac最近刷机之后发现跑不满宽带了,然后电信的送的tr609居然能PPPoE + NAT下跑满千兆,于是起了用tr609替换r619ac的想法;然而习惯了局域网CName解析,所以有了这次的一番折腾。

从朋友那儿嫖来的竞斗云r619ac最近刷机之后发现跑不满宽带了,然后电信的送的tr609居然能PPPoE + NAT下跑满千兆,于是起了用tr609替换r619ac的想法;然而习惯了局域网CName解析,所以有了这次的一番折腾。


0x00 设备准备

电信的tr609对应到小米的红米AX1800,CPU是联发科雷凌的MT7621AT,知名劳模了,这个机器能跑满千兆在于它有HWNAT,而r619ac我没找到相关固件启用类似能力。

首先把tr609刷成小米系统,把系统包手动下载下来使用小米的刷机工具按照流程按Reset健以及插拔电源线,就能搞定。

0x01 启用UART

这个折腾了我老久,原因是小米自带的u-boot禁用了UART/串口的输入。

拆机

用螺丝刀在背后贴纸的左右上角摸索,能找到两个螺丝洞洞,戳进去就能找到螺丝,然后拧松螺丝。

接着用扁平卡片一类的把上盖打开,揭开头盖骨就能看到内里了,散热板的螺丝不用拧,机器放平网口为上,左上角有四个PCB穿孔,就是TTL的针脚,依次是TX|GND|RX|VCC

TTL

按照惯例VCC不接线,TX|RX和TTL的RX|TX接线,在屋里翻了一会儿没找到排针,就没有给上焊接,拿杜邦线和杜邦针接着,然后戳进PCB穿孔里面,微微倾斜就接触了。

电脑上打开串口终端程序,譬如putty、MobaXterm等,波特率115200、关掉流控,开连~~

然后路由插电就能看到串口在打印了,然而输入死活没反应!!

几经搜索,在CSDN找到:小米u-boot禁用了串口输入

  1. 启动后怼Reset,观察输出报GPIO按钮计时,然后会重启
  2. 重启后Reset继续别松,u-boot界面会报GPIO计时15秒,直到报BOOTP broadcast表示进入恢复模式
  3. 多次按下Ctrl+C以打断恢复模式
  4. 在开始BOOT后立刻断掉路由器的电源
  5. 插入电源并一直Enter直到进入=>输入模式,也就是停下自动启动后
  6. 输入命令以启用UART
    1. setenv uart_en 1
    2. saveenv
    3. boot
  7. 等待路由器引导,一直输入回车,直到出现“ARE U OK”表示进入系统
  8. 然后尽快开启ssh,串口输入只有本次启动才有效,重启后就没了

0x02 启用SSH

串口需要密码,默认密码咱们不知道;因为是定制机,刷机后序列号也不知道是啥了也没法去网站上算出密码,所以直接passwd设置个新密码。

然后输入

nvram set ssh_en=1
nvram commit
sed -i 's/channel=.*/channel=\"debug\"/g' /etc/init.d/dropbear
/etc/init.d/dropbear start

然后可以netstat -lnpt查看开启的端口,如果22/ssh在就表示开启成功了。

然后松开因为压着杜邦针已经有点麻木的手,电脑插上网线开始ssh~~

0x03 配置

我所要的局域网CName功能,需要dnsmasqoption domain 'lan' 参数。

  1. 打开/etc/config/dhcpconfig dnsmasq组里面添加上述参数。
  2. 继续配置一大堆的cname
config cname
	option cname 'alias.lan'
	option target 'origin.lan'

至此已经配置完毕,可以保存关机拔电,上盖子上螺丝了~~

0x04 固化

SSH想要开启挺麻烦的,如果有长期使用的需求,那还得把SSH开启固化。

目前有两个思路,

  1. 刷定制u-boot,然后方便进去启用UART,不过这样得每次接TTL输命令启用。
  2. dump系统nand里面的配置,传输到电脑上,改完配置算完CRC32,再导回去。