京东云无线宝/OpenWrt

京东云无线宝/OpenWrt

一代 (RE-SP-01B) OpenWrt

硬件配置:

  • MT7621A (2c4t, 默认频率 880MHz, 最高可以超频到 1200MHz)
  • 512MB RAM + 32MB NAND ROM + 64GB EMMC
  • 1x1000Mbps WAN + 2x1000Mbps LAN
  • 1x USB 2.0

破解(刷 breed)

参考这里

  1. 路由器进入恢复模式,用 tftp 降级官方固件到 2.3.4,注意 tftp 降级固件后等待一段时间再重启路由。
    • 按住 reset 键进行重启,路由器会进入恢复状态,自动通过 tftp 从10.10.10.10 地址加载并刷入"HaiRecovery.himg"文件。所以连接 PC 与路由器(LAN口),将 PC 的 IP 设为 10.10.10.10/24,启动tftp服务器并将官方 2.3.4固件改名为 HaiRecovery.himg 放在 TFTP 目录,然后按住 reset键给路由器通电即可自动刷降级固件。
    • 官方 2.3.4 固件 md5: A2F19D75C62D766BFEDB26CBCD113974
    • 测试当前固件 2.3.14.r1911 可以降级。
    • 有人(2022-03)测试最新的 2.3.15.r1914 固件好像无法降级。
  2. 利用官方固件 http API 的漏洞开启 ssh (root密码即为官方固件里配置的路由器管理密码)。
  3. scp 上传 breed 到路由器,ssh 终端里用 mtd 刷入 mtd -r write /tmp/breed.bin u-boot
    • 适用于京东云无线宝1代(RE-SP-01B)的 breed md5: 0530F2F1A26D9A15EE7CD89F1E9DA243
  4. 断电重启。启动时按住 reset 进入 breed (192.168.1.1)

breed

按住 reset 给路由器通电再等待几秒后松开(路由器顶部LED指示灯红变蓝),进入 breed。breed里路由器 (LAN)IP 为 192.168.1.1/24。

在 breed 页面后点击“固件备份”,导出“EEPROM”和“编程器固件”备份。

破解后好像会丢失 MAC 地址。参考这里在 breed 的 "MAC 地址设置"页面按以下方式设置以恢复:

RF1
WLAN MAC: 机身 MAC
RF2
WLAN MAC: 机身 MAC,但第4段改为 8C
RT6855/RT6856/MT7621参数
LAN MAC: 机身 MAC+1
WAN MAC: 机身 MAC

例如,假设路由器底部标签上的 MAC 是 DC:D8:7C:0C:D1:CC。则:

  • 机身 MAC: DC:D8:7C:0C:D1:CC
  • 机身 MAC+1: DC:D8:7C:0C:D1:CD
  • 机身 MAC 第4段改为 8C: DC:D8:7C:8C:D1:CC

其他说明:

  • 对于 MT7621, RF1 的 WLAN MAC 是 2.4G 无线网卡的 MAC,RF2 则是 5G 网卡的。

刷固件时用默认的"公版"闪存布局即可。

京东云无线宝一代openwrt v21.02.2稳定版固件

2022-02-25

京东云无线宝一代通刷固件
基于openwrt 21.02.2版本打包而成,

mac用breed设置即可,按照breed菜单中设置
可以单独设置wan、lan、2.4G和5G的mac系统中没有做mac处理,因为dts中限制u-boot-env和factory为只读
之所以改分区名,为了避免breed中不小心将原先命名为config的区清空

支持op中升级、支持使用官方源或镜像源安装21.02.2的所有ipk
中文界面,openwrt2020皮肤,对手机浏览器支持达到手机app管理的效果


小的是mini版
和官方集成的东西基本一致,只是多了几个内置emmc使用的工具
还有u盘支持

大的包含一些常用app,具体自己探索

固件文件(mini): openwrt-21.02.2-ramips-mt7621-jdcloud_re-sp-01b-squashfs-sysupgrade-yifeimfd-mini_[C5FA1D5D6D1368624C6A086CD364FD44] (6.5MB)

emmc

/dev/mmcblk0 是 64GB 的 emmc 设备(实际空间 53GB)。/dev/mtdblock6 是默认的 /overlay 分区 (25MB)。

挂载 emmc 为单独分区

opkg update
opkg install block-mount kmod-fs-ext4 e2fsprogs fdisk
mkfs.ext4 /dev/mmcblk0

用 block info 查看 emmc 分区的 UUID,格式为 "9fd43c61-c3f2c38f-13440ce7-53f0d42d"。

可以用 mount 手动挂载 emmc

mkdir /mnt/emmc
mount /dev/mmcblk0 /mnt/emmc

修改 /etc/config/fstab 增加以下配置实现开机自动挂载:

config mount
        option uuid '9fd43c61-c3f2c38f-13440ce7-53f0d42d'
        option target '/mnt/emmc'

将 emmc 挂载为 / 根分区

参考这里

# prepare
opkg update
opkg install block-mount kmod-fs-ext4 e2fsprogs fdisk

# Configuring rootfs_data
# The directory /rwm will contain the original root overlay, which is used as the main root overlay until the extroot is up and running. Later you can edit /rwm/upper/etc/config/fstab to change your extroot configuration (or temporarily disable it) should you ever need to.
DEVICE="$(sed -n -e "/\s\/overlay\s.*$/s///p" /etc/mtab)"
uci -q delete fstab.rwm
uci set fstab.rwm="mount"
uci set fstab.rwm.device="${DEVICE}"
uci set fstab.rwm.target="/rwm"
uci commit fstab

# Configuring extroot
DEVICE="/dev/mmcblk0"
mkfs.ext4 ${DEVICE}
eval $(block info ${DEVICE} | grep -o -e "UUID=\S*")
uci -q delete fstab.overlay
uci set fstab.overlay="mount"
uci set fstab.overlay.uuid="${UUID}"
uci set fstab.overlay.target="/overlay"
uci commit fstab

# Now transfer the content of the current overlay inside the external drive and reboot the device to apply changes
mkdir -p /tmp/cproot
mount --bind /overlay /tmp/cproot
mount ${DEVICE} /mnt
tar -C /tmp/cproot -cvf - . | tar -C /mnt -xf -    
umount /tmp/cproot /mnt
reboot

配置好后 /etc/config/fstab (位于 ROM 上的原始 /overlay 里)新增的配置项内容:

config mount 'rwm'
        option device '/dev/mtdblock6'
        option target '/rwm'

config mount 'overlay'
        option uuid '9fd43c61-c3f2c38f-13440ce7-53f0d42d'
        option target '/overlay'

如果要取消将 emmc 挂载为 / 根分区。删除上面 overlay 配置块然后重启即可。

其他优化:

将 opkg 缓存持久化保存到 emmc (而非 RAM)里(这样每次重启后无需再次执行 opkg update):

sed -i -e "/^lists_dir\s/s:/var/opkg-lists$:/usr/lib/opkg/lists:" /etc/opkg.conf
opkg update

(可选) 给 emmc 分区

fdisk /dev/mmcblk0

分区后上面步骤里的 /dev/mmcblk0 替换为 /dev/mmcblk0p1 等分区块设备名。

刷回官方固件

在breed的“编程器固件”里恢复原来备份的(2.3.4)固件,然后可以无线宝官方固件的升级页面里升级到最新版。


Last update: 2022-03-18 07:31:24 UTC