miao1007 / Openwrt-NetKeeper

[C/C++] Run Netkeeper on OpenWrt Device
1.03k stars 289 forks source link

无法加载sxplugin.so? #15

Open zbczbczbc123456 opened 9 years ago

zbczbczbc123456 commented 9 years ago

首先非常感谢你的劳动成果,让我们有了拜托校园网客户端限制的曙光。 我安装你的教程编译了sxplugin.so,也给自己的小米路由器Mini刷上了最新的PandoraBox。 sxplugin.so也已经放在了指定位置。 不过我貌似还是不能使用路由器拨号。 请问这是为什么呢? 最后几行日志如下:

Tue Jul 14 22:35:44 2015 daemon.notice netifd: Interface 'NetKeeper' is setting up now Tue Jul 14 22:35:44 2015 daemon.info pppd[3045]: Plugin rp-pppoe.so loaded. Tue Jul 14 22:35:44 2015 daemon.info pppd[3045]: RP-PPPoE plugin version 3.8p compiled against pppd 2.4.7 Tue Jul 14 22:35:44 2015 daemon.notice netifd: NetKeeper (3045): /usr/sbin/pppd: File not found Tue Jul 14 22:35:44 2015 daemon.err pppd[3045]: File not found Tue Jul 14 22:35:44 2015 daemon.notice netifd: NetKeeper (3045): /usr/sbin/pppd: Couldn't load plugin sxplugin.so Tue Jul 14 22:35:44 2015 daemon.err pppd[3045]: Couldn't load plugin sxplugin.so Tue Jul 14 22:35:44 2015 daemon.notice netifd: Interface 'NetKeeper' is now down

感激不尽!

miao1007 commented 9 years ago

把2.4.7改成2.4.8

zbczbczbc123456 commented 9 years ago

呃,请问你指的是路由器系统的pppd版本要升级到2.4.8,还是说要用2.4.8版本的pppd编译sxplugin.so呢? 而且这个的最新版本貌似就是2.4.7? ……

miao1007 commented 9 years ago

把源码的2.4.7改成2.4.8

zbczbczbc123456 commented 9 years ago

我试了一下这里某同学编译好的小米mini可用的E信的sxplugin.so, http://www.right.com.cn/forum/forum.php?mod=redirect&goto=findpost&ptid=141979&pid=1061829 从路由器日志看,应该是可以正常加载sxplugin.so了(不过我是重庆,所以还是不能登陆) 所以我觉得应该是我编译的问题…… 我是按照教程来的,下载了最新的Toolchain进行编译,可是怎么都不成功…… 不知道是C库由musl替换成了uClibc的缘故还是mipsel与mips的编译方法不同的缘故…… 但是我试着用你提供了链接的4个Toolchain分别编译对应的sxplugin.so,貌似都会有很多错误提示。 所以我在想,会不会是由于你提供的教程已经不适用于现在的编译方式了呢? 我没有什么编程基础,所以也实在无力解决。 如果你能抽空验证一下是否真的存在这种问题,更新一下教程或者提供一些编译方面的建议,那就真太好了~ 感激不尽!

mdluo commented 9 years ago

遇到同样的问题,HG255D,固件是 PandoraBox 14.09 r460 ,使用 https://downloads.openwrt.org/snapshots/trunk/ramips/rt305x/OpenWrt-Toolchain-ramips-rt305x_gcc-4.8-linaro_musl-1.1.10.Linux-x86_64.tar.bz2 里的 mipsel-openwrt-linux-gcc 编译。改过 sxplugin.c 里的 pppd_version[] = "2.4.7"; 为 2.4.8 后仍然出现相同的报错,都是 Couldn't load plugin sxplugin.so 。不知能否给个可用的 sxplugin.so 文件,谢谢!

mdluo commented 9 years ago

昨天折腾到凌晨3点终于成功了,改成了这个地址的 GCC:https://downloads.openwrt.org/barrier_breaker/14.07/ramips/rt305x/OpenWrt-Toolchain-ramips-for-mipsel_24kec%2bdsp-gcc-4.8-linaro_uClibc-0.9.33.2.tar.bz2

然后 sxplugin.c 里的 pppd_version[] 仍保持 2.4.7。 要注意新建的 NETKEEPER 网络接口防火墙设置要分配给 WAN 区域,而且 WAN 接口保存 DHCP 客户端

miao1007 commented 9 years ago

应该是GCC的问题,我也不太确定,如果有现成的so库,直接用HexEdit修改版本或者radius即可