​​本文涉及的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 源码 ,并开始构建你自己的淘客应用程序。