路由器折腾学习笔记

Posted by API Caller on February 15, 2020

OpenWrt

刷机

先从刷机开始吧

实验设备: XiaoMi Mini

开启 ssh

  • 获取官方开发版固件, 命名为 miwifi.bin, 拷贝到 FAT32 格式U盘的根目录, 拔掉路由器所有网线, 拔掉电源线, 插上U盘, 顶住 reset, 接通电源, 路由器灯开始闪的时候松开 reset, 灯变成蓝色则刷入完毕.

  • 开启ssh, 去官方 MiWiFi 开启SSH工具页面 获取 miwifi_ssh.binSSH 密码, 拷贝到 FAT32 格式U盘的根目录, 删掉原先的 miwifi.bin, 拔掉路由器所有网线, 拔掉电源线, 插上U盘, 顶住 reset, 接通电源, 路由器灯开始闪的时候松开 reset, 灯变成蓝色则刷入完毕.

刷入 Breed

设备列表

  • 用密码登入 SSH ssh [email protected]

  • 下载对应的 Breed 固件, 拷贝到路由器的 /tmp 目录.

  • 执行 mtd -r write /tmp/breed-mt7620-xiaomi-mini.bin Bootloader 刷入, 拔掉路由器所有网线, 拔掉电源线, 拔掉U盘, 顶住 reset, 接通电源, 路由器灯开始闪的时候松开 reset, 灯变成蓝色则刷入完毕.

  • 此时没有 WiFi, 用网线连上电脑, 192.168.1.1 进入 Breed Web 恢复控制台.

刷入 OpenWrt

设备列表

XiaoMi Mini

OpenWrt 简单起手式

  • 换源
1
sed -i 's/downloads\.openwrt\.org/mirrors\.tuna\.tsinghua\.edu\.cn\/lede/g' /etc/opkg/distfeeds\.conf 
  • 中文包
1
2
opkg update
opkg install luci-i18n-base-zh-cn
1
2
opkg remove dnsmasq
opkg install luci-compat
  • 更换默认登录IP

lcui 里直接改会因为修改失败而自动回滚 (uci) 哈哈哈

1
2
3
4
uci show network.lan
uci set network.lan.ipaddr=192.168.2.1
uci commit network
ifup lan
  • PPPoE 克隆 Mac 地址
1
2
3
4
5
6
7
8
vim /etc/config/network

# 切换协议为 PPPoE 后, 出现 wan_eth0_2_dev 

# 添加  option macaddr '10:10:10:10:10:11'

reboot

Xiaomi Mi WiFi Nano / Youth (R1CL)

HiWifi HC6361

解锁 bootloader

首先,有一个额外的步骤,是针对『新极壹』的,就是要解锁Bootloader,换而言之就是把Bootloader降级到固件9006之前的版本变成『老极壹』 为什么不用不死U-Boot呢?因为极壹据说有个Key在BL后,如果刷机搞丢了就再也回不去官方ROM了,因为官方BL要校验这个Key

1
2
3
4
5
wget http://rssn.cn/roms/uboot/HC6361-uboot.bin

# copy to /tmp

mtd -r write HC6361-uboot.bin u-boot

利用 TFTPOEM U-Boot 刷入

HiWiFi HC6361

  • 下载一个特殊的包
1
2
3
4
5
6
wget https://openwrt.org/_media/media/hiwifi/openwrt-ar71xx-generic-hiwifi-hc6361-squashfs-factory.zip

unzip openwrt-ar71xx-generic-hiwifi-hc6361-squashfs-factory.zip

# 重命名为 recovery.bin
cp openwrt-ar71xx-generic-hiwifi-hc6361-squashfs-factory recovery.bin
  • 本地连接 ipv4 指定为 192.168.1.88

  • 开启 TFTPd64, 将目录改为 recovery.bin 所在的, 网卡改为 192.168.1.88

  • 本地连接直连路由器的 Lan, 拔掉其它线, 断电, 顶住 reset, 通电, 等 TFTPd64 出现下载提示松开.

  • 本地连接 ipv4 改为自动获取

刷入最新版 OpenWrt

新版无法在 lcui 刷入

1
2
3
4
5
wget http://downloads.openwrt.org/releases/19.07.1/targets/ar71xx/generic/openwrt-19.07.1-ar71xx-generic-hiwifi-hc6361-squashfs-sysupgrade.bin

# send to /tmp

sysupgrade -F -n /tmp/openwrt-19.07.1-ar71xx-generic-hiwifi-hc6361-squashfs-sysupgrade.bin

XiaoMi 初始 SSH

miwifi_ssh.bin 似乎只需要随便登录个账号然后访问 https://d.miwifi.com/rom/ssh/download?sn=${SN} 即可下载, 但需要分析默认密码的规则, 实测并不是网络上所说的 substr(md5(SN+"A2E371B0-B34B-48A5-8C40-A7133F3B5D88"), 0, 8)

  • 下载小米固件分析工具 mkxqimage
1
wget https://github.com/comcat/miwifi/raw/master/kernel/linux-2.6.36/usr/ramfs/usr/sbin/mkxqimage
  • 或者直接在登录界面修改 /api/xqsystem/set_name_password?oldPwd=${旧密码}&newPwd=${新密码}

MiWiFi 开发版 2.1.26

Merlin

刷机

Netgear R6400 V1

起手式

  • 后台没有 wap 版, 可以用华硕的 ASUS Router 管理.

  • 开启SSH

References