Hualu WifiDock AR9331 无线中继魔改笔记(?
已编译完成的 bin 文件可从此处下载
懒得修改型号了 切记不要刷给 wr703n 这是 8m flash 版本
关于设备:
AR9331 的 CPU 8M flash 64M DDR 自带 LS 4100mah 电池 20 块捡回来的库存垃圾 可插 TF 卡和 U 盘 天线采用 IPX 接口连接(可以更换)
刷入系统:
很明显官方的残废系统并不能满足我们的需求
刷入 breed
这款无线中继硬件和 TP-Link TL-WR703N 非常相似 不同之处在于 复位键是在 GPIO 12 上 flash 有 8M
- 开机,连接 Hualu 开头的 WiFi。(WiFi 密码 12345678)
- ping 10.10.1.1 能通后,浏览器打开 http://10.10.1.1/
- 开免密 Telnet 无线存储 — 目录名称框内输入: %24 (killall telnetd;telnetd -l /bin/ash) 然后点击创建按钮(很明显这里有个注入漏洞)
- telnet 登录 10.10.1.1(无需密码)。
- 电脑开 hfs web 服务,共享 breed 文件,刷入 breed
- 下载 breed(网页上载也可以,网页上载之后,是在 /tmp/usb/sda 目录下)
1
2cd /tmp/
wget [http://10.10.1.2/breed-ar9331-pisen-r1163.bin](http://10.10.1.2/breed-ar9331-pisen-r1163.bin)
- 下载 breed(网页上载也可以,网页上载之后,是在 /tmp/usb/sda 目录下)
- 烧写
1
2cd /tmp/
mtd erase u-boot; mtd write breed-ar9331-pisen–GPIO12.bin u-boot 2>ubootwrite.txt
- 烧写
- 重启使用 BreedEnter 进 breed
- BreedEnter(需要 NpCap 的 winpcap 兼容模式支持)
刷入 Openwrt
由于硬件与 WR703N 基本一致 首先尝试刷入 Openwrt 官方提供的 703N 固件,经测试基本功能正常 但是白白浪费 4M 空间实在可惜,最终还是决定自己编译一份
编译 Openwrt
已知信息:WiFi 指示灯 GPIO 是 0,高电平有效 网口状态灯是 17,低电平有效 复位键是 12,高电平有效
使用 docker-openwrt-buildroot 进行编译
1 | docker run -it noonien/openwrt-buildroot bash |
1 | cd openwrt |
- 修改
~/openwrt/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr703n.c
1 |
以及同文件 `gpio_led tl_wr703n_leds_gpio[]` 部分中
1 | .active_low = 0, |
打开
~/openwrt/target/linux/ar71xx/image/tiny-tp-link.mk
,找到define Device/tl-wr703n-v1
。将
$(Device/tplink-4mlzma)
中的4mlzma
改成8mlzma
就可以支持 8MB 固件编译(16MB 同理)在源代码目录下
make menuconfig
Target System
和Subtarget
应该分别是 AtherosAR7xxx/AR9xxx
和Devices with small flash
,Target Profile
选择TP-LINK TLWR703N v1
启用 Web 管理界面 LuCI (记得选择为 [*] 而不是 [M],我们不需要编译 ipk 文件,直接整合进 bin 就行)
LuCI → Collections → 选中 luci
添加 LuCI 中文支持
LuCI → Modules → Translations → 选中 Chinese (zh-cn)
生成构建的配置文件,检查依赖
make defconfig
编译,可加上 V=99 参数输出所有调试信息
make
从
openwrt/bin/target/ar71xx/tiny
中取出openwrt-ar71xx-tiny-tl-wr703n-v1-squashfs-factory.bin
刷入即可
附加内容:编译某不可描述软件
1 | 自行去除空格 |