本文涉及的Padavan源码如下:
https://github.com/hanwckf/rt-n56u
https://github.com/chongshengB/rt-n56u
https://github.com/padavanonly/rt-n56u
https://github.com/immortalwrt/padavan
其中hanwckf的源码最先支持了7915无线芯片,也就是支持了wifi6的机型比如CR660x和JCG Q20/Q10 Pro
padavanonly在hanwckf的基础上增加修改出了7615/7915对kvr的支持
chongshengB的源码具有一些别人没有的插件,使用比较方便
immortalwrt在一些细节上有优化
将他们四个人的源码融合起来,虽然是一件复杂且工作量大的事,毕竟有75000+个文件,但这件事里面并非有多少技术含量
主要是要感谢hanwckf在无线驱动和机型适配方面,以及chongshengB在插件方面,还有padavanonly在kvr方面的探索与开源
刚开始融合的时候想的比较简单,以为源码各个部分的关系比较分明,可能就是user文件夹下添加插件源码更改总的Makefile,然后对应的在www里添加前端的asp就行,
结果经历了几次古怪的失败后(无法启动,页面显示异常,无线异常),这才开始静下心来仔细看每一份源码之间的区别
然后发现不同源码之间的差异可真是大。。有些是写法不同目的相同,有些则是实现的方法都不一样了
我们最终的目的是要有padavanonly的kvr,要有chongshengB的插件,以及hanwckf的其他部分
beyond compare yyds!
工具链都是一样的,区别都在
trunk
文件夹:
configs
文件夹完全采用
padavanonly
,因为config文件里包含了对kvr的编译开关
libc
文件夹完全相同
libs
文件夹完全采用
hanwckf
,因为他所采用的各个lib的版本都最新,我比较喜欢追新
linux-3.4.x
文件夹完全采用
immortalwrt
,新增了闪存型号的支持和MMC/SD卡的支持
proprietary
文件夹完全采用
padavanonly
,此处是无线驱动部分,因为要支持kvr就需要修改无线驱动,这里只能用padavanonly的
vendors
文件夹比较特别,chongshengB的源码里这个文件夹包含了很多无线驱动方面的内容,比如各种lna和pa搭配的eeprom文件,但是hanwckf/padavanonly是没有的,无线驱动方面一概以
padavanonly
的为准
但是希望有对vendors这个文件夹比较了解的朋友能给分析一下,我还没更细致的去理解这部分
build_firmware_modify
需要采用
padavanonly
版本(指定回退的无线驱动版本)并从chongshengB版本复制插件添加部分
trunk的
Makefile
采用
chongshengB
版本,因为包含了go的编译
trunk文件夹下
其他文件
均可采用
padavanonly
版本
插件是都集中在
user
文件夹的,所以user文件夹以
chongshengB
为基础添改:
chnroute修改Makefile不需要每次重新下载(可以不改,我只是为了自己编译不同固件方便)
dnsmasq可替换为hanwckf的升级版本
dropbear可替换为hanwckf的升级版本
frp修改Makefile不需要每次重新下载编译(可以不改,我只是为了自己编译不同固件方便)
htop可替换为hanwckf的升级版本
httpd
需要以
chongshengB
的为基础按照
hanwckf+padavanonly
的修改
\user\httpd\ralink.c采用hanwckf的
\user\httpd\variables.c添加7915部分及两个80211KV,80211R
\user\httpd\web_ex.c添加7915部分
iptables可替换为hanwckf的升级版本,同时要替换miniupnpd,有指定依赖关系
rc
需要以
padavanonly
的为基础按照
chongshengB
修改
\user\rc\rc.c增加插件脚本运行
\user\rc\rc.h增加插件定义
\user\rc\services.c增加插件服务
\user\rc\watchdog.c增加插件看门狗
scripts
需要以
padavanonly
的为基础按照
chongshengB
修改
\user\scripts\autostart.sh从chongshengB添加
\user\scripts\copyscripts.sh从chongshengB添加
\user\scripts\dev_init.sh增加对ld.so.conf的定义
\user\scripts\ld.so.conf从chongshengB添加
\user\scripts\Makefile增加autostart.sh,copyscripts.sh,ld.so.conf
\user\scripts\mtd_storage.sh注释掉gfwlist部分
share
需要以
padavanonly
的为基础按照
chongshengB
修改
\user\shared\cflags.mk增加插件部分
\user\shared\defaults.c增加插件部分
\user\shared\notify_rc.h使用chongshengB的版本
v2修改Makefile直接跳过编译采用二进制文件,可用xray(可以不改,我只是为了自己编译不同固件方便)
www
需要以
chongshengB
的为基础按照
padavanonly
修改
\user\www\n56u_ribbon_fixed\Advanced_WAdvanced_Content.asp增加7915和kvr
\user\www\n56u_ribbon_fixed\Advanced_WAdvanced2g_Content.asp增加7915和kvr
\user\www\n56u_ribbon_fixed\Advanced_Wireless_Content.asp采用padavanonly的
\user\www\n56u_ribbon_fixed\Advanced_Wireless2g_Content.asp采用padavanonly的
\user\www\n56u_ribbon_fixed\Advanced_WMode_Content.asp采用padavanonly的
\user\www\n56u_ribbon_fixed\Advanced_WMode2g_Content.asp采用padavanonly的
\user\www\n56u_ribbon_fixed\wireless.js采用padavanonly的
\user\www\n56u_ribbon_fixed\wireless_2g.js采用padavanonly的
其他的js文件有互相的关联,所以轻易不要替换或者改动,很容易出错导致显示问题
Makefile
需要以
chongshengB
的为基础按照
padavanonly
增加
ralinkiappd
,也就是控制kvr的程序
最后再来回顾一下,如果要添加有前端页面的插件,就需要修改
httpd,rc,scripts,share,www和总的Makefile
,因为一个插件包括了前端显示的参数,系统注册的服务,运行时的脚本,系统内的参数,前端的asp页面以及编译开关,是这么多内容构成一个可视化插件的整体
增加适配机型的config就简单的多了,从chongshengB的config里复制出来MSG1500-7615的部分,然后跟类似机型对比修改,这里比较麻烦的就是闪存定义这里要对比一个nand闪存的,而无线部分又要对照一个7615的,还有usb部分,基本上都是些不是很要紧的增改,前面的事都做了,这里简直是毫无难度
本文涉及的Padavan源码如下:https://github.com/hanwckf/rt-n56uhttps://github.com/chongshengB/rt-n56uhttps://github.com/padavanonly/rt-n56uhttps://github.com/immortalwrt/padavan其中hanwckf的源码最先支持了7915无线芯片,也就是支持了wifi6的机型比如CR660x和JCG Q20/Q10 Propadavanonly在hanwckf的基础
目前本人手上只有这几个设备,所以只测试这几个
PSG1218(k2,超频600,按我的参数编译16-22分钟,〜7.07mb)
NEWIFI3(新三,按我的参数编译大约28-35分钟,〜25.5mb,集成了v2二进制文件和frp所以大)
G-DOCK(竞斗云2.0,按我的参数编译大概3小时30分钟,〜57mb(ubi包)。)。
编译好的固件最好双清或者品种,opboot,uboot,清除后刷入,防止修改了配置残余
有关参数看设备的配置文件,sh文件,
pad
avan
或openwrt对应public.sh文件
固件按理通用编译,但是还需测试,目前测试了的有,coolsnowwolf(雕大)的openwrt(还集成了Lienol的包和openclash,在public.sh里面),chongshengB(C大)
更新二进制请切换Get
Pad
avan
NgSrc为替代双向
编译固件请切换
Pad
avan
NgCBuild为替代分支
点击☆Star开始编译(编译完成的固件到Actions / Artifact下载)
新建Release开始编译(编译完成的固件到Releases下载)
编译脚本默认工具链版本为Rev1(不支持符号)
更新工具链时请修改编译脚本工具链版本
wifidog
作为一款wifi认证
插件
,在网上资料对于
源码
的分析可以说数不胜数。
而编译方面的是,偏向于OpenWtr固件。对于我这种使用
pad
avan
固件来说,想要使用wifidog的话,就只能自己摸索动手丰衣足食,使用交叉编译来完成编译wifidog的任务了。
虽然网上有着H大编译好的版本,但是对于本人来说H大编译的固件
插件
太多了,所以一直使用的
pad
avan
都是自己编译的纯净版,啥
插件
也没有的那种
Ubuntu 16.04 LTS
pad
avan
工具链
先吧
pad
ava.
要安装淘客app
源码
,以下是一些简单的步骤:
1. 准备好你的电脑和安装
源码
所需的软件。你需要安装Java,Android Studio和Git。确保你的电脑符合安装这些软件的要求。
2. 下载淘客app
源码
。你可以从Github或其他相应的代码托管平台上下载
源码
。确保你已经获得了最新版本的
源码
。
3. 解压
源码
包。
4. 打开Android Studio,点击“Open an existing Android Studio project”(打开一个已有的Android Studio项目),找到解压后的
源码
文件夹并打开。
5. 等待Android Studio
加
载项目。这可能需要一些时间,具体时间取决于你的电脑性能。
6. 在Android Studio中,点击“Build” > “Make Project”。Android Studio将开始构建你的应用程序。
7. 将你的应用程序部署到设备或模拟器上。你可以使用Android Studio内置的模拟器,或将你的应用程序部署到连接到电脑的Android设备上。
8. 运行应用程序。如果一切顺利,你的应用程序将开始执行。
以上是一个简单的淘客app
源码
安装
教程
。对于初学者来说可能会有些复杂,但如果你按照上述步骤执行,你将能够成功安装淘客app
源码
,并开始构建你自己的淘客应用程序。