恩山无线论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 21540|回复: 40
打印 上一主题 下一主题

磊科 MG1200AC 及 腾达 AC9 V3.2 的螃蟹 SDK 固件入门 RTL8197F

[复制链接]
跳转到指定楼层
1#
发表于 2019-4-13 18:01 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 libc0607 于 2020-1-29 19:41 编辑

买来吃灰大半年的 MG1200AC 。。另外这个其实是 Linux 的 暂且发这区吧(
另外一个螃蟹 AC9 也能运行  
螃蟹 SDK 版本为 rtl819x-SDK-v3.4.11C-full-package_20170418,支持 8197f 和 802.11 k/v/r (看上去是这样)
资料来源于网络,侵删

MG1200AC 刷机方法:
原厂 bootloader 有校验,所以需要先编译 bootloader,然后 WinHex 去掉头部就可以刷到 Flash 里了
换好 Flash 后启动,空 Flash 会自动进入等待刷固件模式。。也可以插上串口线看看,按 ESC 终止启动;串口是板上的 T1,Vcc(三角)/GND/TX/RX
电脑设成 192.168.1.x/24 (x不为6) 然后 tftp 向 192.168.1.6 传固件即可等它重启。默认 IP 为 192.168.1.254

AC9 V3.2 (不是博通的)刷机方法:
按住 Reset 开机, 等一段时间后按 MG1200AC 的 IP 配置方法先刷 Bootloader(不需要串口),不用去头直接吃  
然后相同方式刷固件就行  
这俩路由器由于内存大小以及射频部分电路不同所以分了不同的固件,暂时不知道混刷后果,所以。。  

1ak9rY4AAc-mWvHRQU00gcA h3tu



至于编译固件及修改 GPIO 方法,SDK 内置了详细说明;并且楼主还没有测试 GPIO,所以我编译的这版是不亮的
Bootloader 大小在 128k 以内貌似都没事,里面有一处笔误
除了说明外:固件 menuconfig 中选中 Config kernel, Device Drivers - Network Device Support - Wireless LAN 下

MG1200AC:8197F 下面那个 RFE Type 改为 Type 0 ,这路由器 2.4G 无外置 PA;同理下面改成 Type 7, 5G 部分是四层板和 SKY85712;
AC9 V3.2:8197F 下面那个 RFE Type 改为 SKY85325 (但是电路并不是 不知道有没有影响?);下面改成 SKY85735 的那个;  

再往下翻把 802.11 kvwr 啥的选上, make 就行  

抛砖引玉,有人想玩就去玩玩好了(
记得备份编程器固件,楼主不对任何作死负责
至于那个 v2.5 的 OpenWrt SDK 貌似很容易找到,就不发了,也能运行就是了(      

======================
2020.01.22更新
楼主又翻出了这个sdk 因为里面还有一些别的好玩的功能没试过
为了防止有人杠我没放链接 把编辑前的网页存了一份 反正楼下也有至少两个人看到链接了
https://web.archive.org/web/20200122043649/https://www.right.com.cn/forum/thread-549459-1-1.html
挖个坑 这几天出个简单编译教程
======================
2020.01.29更新
关于编译


0. 废话

楼主不对固件功能做任何保证 不保证更新 不保证回复
首先!吐槽一下文档的神秘蛇皮英文 看得头大
主要的配置文档是 Kernel_2_6_SDK_User_Guide.pdf 这个
其他的基本是二次开发应用指南和某种功能的使用指南 反正这里就只用它自带的那一套就不用看


关于这个sdk能做的固件可以包含的看上去比较有用的功能
samba 挂4g网卡 mesh vlan hwnat hwqos ipv6 fastpath 802.11k/v/r 和 smart roaming  其他的见文档
另外内核是3.10的
如果你需要这些功能而原机固件不支持的话 可以在做好备份的情况下一试
如果你有能力看懂自带的文档可以直接跳过我写的


1. 编译系统准备

现在是2020年1月 找了一个不算很古老的版本 ubuntu 14.04.6 x64
假定下文用的用户名为 rtk

装编译环境 先
  1. sudo apt-get update
复制代码

要装的有
  1. sudo apt-get install libncurses5-dev build-essential zlib1g-dev bison flex gawk liblzma-dev
复制代码

64位系统要装32位的库
  1. sudo apt-get install  zlib1g-dev:i386 libc6-dev:i386 libstdc++6:i386
复制代码

主要是下文涉及到的暂时就这么多 如果有漏的自己装下

另外sh换成bash
  1. sudo dpkg-reconfigure dash
复制代码

选no
然后确定TERM和TERMINFO环境变量存在 可以加到.profile 或 .bashrc之类的东西里
确保 TERM=xterm TERMINFO=/lib/terminfo/ 即可

复制 rtl819x-SDK-v3.4.11C-full-package那个压缩包到 /home/rtk下
tar zxvf 解压
下面几个压缩包 对rtl8197f来说 有用的
Document 文档  
bootcode_rtl8197f bootloader源码
rtl819x 固件源码
继续解压这三个



2. 编译固件
2.1 先默认编译一次
在rtl819x目录下
  1. make menuconfig
复制代码

        Select Target (rtl8197F)
        Select Kernel (linux-3.10)
        Select Busybox (busybox-1.13)
        Select toolchain (msdk-4.4.7-mips-EL-3.10-u0.9.33-m32t-140827)
        Selected Board Configuration (RTL8197F/8812BR+8367R GW)
        Select Load default settings
exit后出现询问y/n的先一路默认
注意这里选的 RTL8197F/8812BR+8367R GW 千兆网口选这个型号
如果是8197f百兆的就选不带“8367r gw”的
  1. make users
复制代码

这里我遇到过一个问题 iptables要是提示丢文件了 单独打包了一份在网盘 替换一下users/iptables-1.4.4/
继续
  1. make linux
  2. make romfs
  3. make image
复制代码

看到Merge LINUX ROOT => image/fw.bin ok, size=xxxxxxx.
即为完成初次的默认编译 生成文件如下
image/root.bin  打包的rootfs
image/linux.bin 内核
image/webpages-gw.bin 网页
image/fw.bin  拿来刷的固件 可以直接tftp上传到bootloader  或是在sdk固件里web升级

2.2 加东西
咕着的功能先看文档自己添加 再就是实在懒得搞 一些功能也不建议在这芯片上用 当个ap就挺好
欢迎各位自己搞 我一定去下面顶贴
GPIO和led依然咕咕咕咕咕咕 led适配太烦了 反正也不天天看它 另外不是千兆的那些 ac6啥的 如果用不到网口的话只做无线mesh 也有点价值
如果这部分还有报错的话 可以把尽可能详细的错误贴出来

2.2.1 mesh
  1. make linux_menuconfig
复制代码
       device drivers
                network device support
                        wireless lan
                                rtl mesh support 选

  1. make users_menuconfig
复制代码
       pathsel 选

2.2.2 802.11 k/v
  1. make linux_menuconfig
复制代码
       Device Drivers
                Network device support
                        Wireless LAN
                                IEEE 802.11k Support 选
                                        IEEE 802.11V Support(BSS Transition) 选
  1. make users_menuconfig
复制代码
       11k daemon support 选

2.2.3 802.11r
  1. make linux_menuconfig
复制代码
       Device Drivers
                Network device support
                        Wireless LAN
                                IEEE 802.11r Support 选
  1. make users_menuconfig
复制代码
       openssl 选 (版本我用的默认0.9.8i 不知道啥区别)
        FT daemon support 选

2.2.4 smart roaming (users也有)
  1. make linux_menuconfig
复制代码
       Device Drivers
                Network device support
                        Wireless LAN
                                RTK Smart Roaming Support 选
  1. make users_menuconfig
复制代码
       Smart Roaming Support 选

2.2.5 ipv6
咕咕咕 可以先按文档选


2.3 硬件        
关于无线硬件部分的选项 由于楼主暂时只有这两个路由器 所以只能提供这个配置 并且还不知道对不对
别的应该也都能用 自己观察一下硬件选一下
猜测主要是和pcb层数 以及实际电路pa和lna用到使能pin有关?

2.3.A mg1200ac 的无线硬件
  1. make linux_menuconfig
复制代码
       Device Drivers
                Network device support
                        Wireless LAN
                                Realtek 8197F wireless support
                                        RFE Type (Type 0: internal PA/LNA) 改
                                Use PCIe slot 0 WiFi device
                                        RFE Type (Type 7: external PA/LNA NORMAL 4-LAYER(SKY85742/85734/85712)) 改

2.3.B ac9 v3.2 螃蟹版的硬件
  1. make linux_menuconfig
复制代码
       Device Drivers
                Network device support
                        Wireless LAN
                                Realtek 8197F wireless support
                                        RFE Type (Type 5: external PA/LNA (SKY85325)) 改
                                Use PCIe slot 0 WiFi device
                                        RFE Type (Type 1: external PA/LNA HIGH(SKY85728/85735)) 改

2.4 重新编译
  1. make users
  2. make linux
  3. make romfs
  4. make image
复制代码




3. 编译bootloader
这一部分年代久远 可能有错
我也没带编程器回家 就大概写一下
一定要在有编程器且有备份的情况下搞bootloader
在bootcode_rtl8197f 目录下
3.1 环境
先要配置一下toolchain 到环境变量里
记下toolchain下msdk-4.4.7-mips-EL-3.10-u0.9.33-m32t-140827这东西的绝对路径
也可以丢到/opt
然后加环境变量 自己替换一下路径 比如我这就是
  1. export PATH=/home/rtk/rtl819x-SDK-v3.4.11C-full-package/rtl819x/toolchain/msdk-4.4.7-mips-EL-3.10-u0.9.33-m32t-140827/bin:$PATH
复制代码

3.2 编译
进bootloader源码目录
先复制一个默认config过来 8197fs
(你们讨论螃蟹soc型号时一定要带上数字后面的字母啊。。。)
  1. cp def-rtl8197fs_8367rb-config .config
复制代码

然后
  1. make menuconfig
复制代码

Config DRAM size (8197FB) 这里要配置一下 内存大小要选对
在电路板上找不到内存颗粒的螃蟹 多半是 RTL8197FS-VEn-CG 这种
带-VEn- 就是集成ddr的 大小为(2^(n+2))Mbyte
比如VE4就是64M ac9算这个 mg1200ac是VE5则有128M
下面 (DDR2/DDR3) is SDRAM Type
其他默认 也可以自己加功能 如下面有http不死 dhcp服务之类的 也可以换lzma压缩
配置好退出
  1. make
复制代码

即可 生成的在 btcode/boot.bin

3.3 一些细节
关于之前提到的头部是啥:这个boot.bin 头部的16字节和尾部的2字节最后不会被刷到flash里 只是识别用
头部16字节 “boot” + uint32 startAddr + uint32 burnAddr + uint32 len
尾部2字节是checksum
举个例子 我刚编译的头部是
6f62 746f 0000 0000 0000 0000 0000 a2fc
提示信息是 Generate image successfully, length=64674, checksum=0x5a9b
(64674=0xfca2)
这部分在 btcode/cvimg.c 中有描述
所以如果是mg1200ac 原厂bootloader做了校验 必须编程器刷新的bootloader 刷时去掉这部分 因为不可执行
如果是在自己的bootloader下刷机 或是ac9这种原厂没做校验的 tftp之类的就不用去掉
bootloader大小在128k以内就行 文档里那个不适用8197f



4. 刷机
不管怎么刷 强烈建议编程器先读个备份

4.1 原厂bootloader有校验的机器 如mg1200ac
拆flash 上编程器 记得备份
按照3.3描述 编程器刷去掉头部的boot.bin
刷好后 启动 自动进入刷固件模式
电脑设固定ip 192.168.1.x/24 (x不为6)
然后 tftp client模式 向 192.168.1.6 上传固件也就是上面的fw.bin
等它重启就行

4.2 原厂没校验的 如ac9
按住 Reset 开机
电脑设固定ip 192.168.1.x/24 (x不为6)
然后 tftp client模式 上传含头部的boot.bin
等刷好 再按住 Reset 开机 上传fw.bin 等重启就刷完了

另外sdk系统下可以直接web刷sdk固件 可以自己折腾折腾 但配置不会重置 最好刷完手动清下




5. 配置

5.1 基本的无线/ip配置
有Setup Wizard 配不好不用往下看了 路由器扔了吧

5.2 802.11 k/v/r
wlan1 wlan2
        advanced  
                802.11k Support
                Fast BSS Transition Support
                802.11v BSS Transition Support
都打开就行
顺便 5G可以MU-MIMO 需要就打开


5.3 mesh
咕咕咕


5.4 smart roaming
wlan1 wlan2
        advanced
                Smart Roaming Support
打开就行


5.5 vlan
firewall
        802.1q vlan
                enable 勾上
                对每个vlan 填VLAN ID 按需勾选member和tagged
                (怎么跟他们的网管交换机逻辑差不多


5.6 其他细节
关掉wps 默认开的
bridge模式做ap时还会出现wan口设置 别管他
qos应该是硬件的 可以玩玩试试
DoS Prevention默认没开
记得设管理密码



继续咕


我的恩山、我的无线 The best wifi forum is right here.
2#
发表于 2019-4-13 20:04 | 只看该作者
5g速度如何

点评

没测。。不过前几年玩螃蟹上一代ac 仕牌那个小屌丝的时候5G跑了48MByte/s 觉着应该不会比上代低?仅供参考  详情 回复 发表于 2019-4-13 22:16
来自苹果客户端来自苹果客户端
我的恩山、我的无线 The best wifi forum is right here.
3#
 楼主| 发表于 2019-4-13 22:16 | 只看该作者

没测。。不过前几年玩螃蟹上一代ac 仕牌那个小屌丝的时候5G跑了48MByte/s 觉着应该不会比上代低?仅供参考
我的恩山、我的无线 The best wifi forum is right here.
4#
 楼主| 发表于 2019-4-13 22:29 | 只看该作者
补个无线设置页截图 红框就是漫游

我的恩山、我的无线 The best wifi forum is right here.
5#
 楼主| 发表于 2019-4-20 20:54 | 只看该作者
自顶,有螃蟹 AC9 的可以发挥下余热了。。

点评

可以固件发一下吗,找了3遍找不到哪里下载唯一的2个链接都不是。这个固件支持中文么,大佬能汉化一下么  详情 回复 发表于 2020-7-1 20:50
我的恩山、我的无线 The best wifi forum is right here.
6#
发表于 2019-5-20 12:17 | 只看该作者
感谢分享,看看学习下,5G速度应该还有提升空间
我的恩山、我的无线 The best wifi forum is right here.
7#
发表于 2019-6-1 13:46 来自手机 | 只看该作者
看看又如何
我的恩山、我的无线 The best wifi forum is right here.
8#
发表于 2019-6-29 17:52 | 只看该作者
对于mg1200ac 一定要拆机上把flash 吹下来吗?
我的恩山、我的无线 The best wifi forum is right here.
9#
发表于 2019-6-29 17:53 | 只看该作者
对于mg1200ac 一定要拆机上把flash 吹下来吗?

点评

暂时是的,因为原厂uboot有校验。。  详情 回复 发表于 2019-7-1 11:10
我的恩山、我的无线 The best wifi forum is right here.
10#
 楼主| 发表于 2019-7-1 11:10 | 只看该作者
zz_kevin 发表于 2019-6-29 17:53
对于mg1200ac 一定要拆机上把flash 吹下来吗?

暂时是的,因为原厂uboot有校验。。
我的恩山、我的无线 The best wifi forum is right here.
11#
发表于 2019-9-21 14:06 | 只看该作者
rtl819x-SDK-v3.4.11C-full-package_20170418 好东西啊
我的恩山、我的无线 The best wifi forum is right here.
12#
发表于 2019-9-25 12:22 | 只看该作者
AC9没看懂怎么操作 “ WinHex 去掉头部就可以刷到 Flash 里了”?
我的恩山、我的无线 The best wifi forum is right here.
13#
发表于 2019-10-29 11:28 | 只看该作者
麻烦把固件发一下啊

点评

发了 一楼度盘链接  详情 回复 发表于 2019-10-29 12:48
我的恩山、我的无线 The best wifi forum is right here.
14#
 楼主| 发表于 2019-10-29 12:48 | 只看该作者
tkomg 发表于 2019-10-29 11:28
麻烦把固件发一下啊

发了 一楼度盘链接
我的恩山、我的无线 The best wifi forum is right here.
15#
发表于 2019-10-29 19:11 来自手机 | 只看该作者
看不见的度盘呀
我的恩山、我的无线 The best wifi forum is right here.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )|网站地图

GMT+8, 2020-7-4 23:54

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表