OPENWRT交叉编译之神州数码校园客户端实践
OPENWRT交叉编译之神州数码校园客户端实践
以华为HD255G为例
此教程仅供个人使用,不得用作商业用途,本文作者保留最终解释权。
转载请说明出处
浙理工 咸咖啡
附言
本人不是学程序的,也不是学习相关专业的,第一次写教程,如有不详细的地方,请大家指出,如果错误的地方,请大家指正,欢迎交流!
许多学校寝室的上网计费系统是神州数码,神州数码和闪讯比起来,其中一个好处就是不用每天接收那讨厌的短信验证码
,但是因为用的人少,也不像锐捷那样早有人把软件编译到到路由器上,所以我结合网上的一些教程和前辈经验编译了一个神州数码路由客户端供有需要的同学使用。
前段时间在网上看到了神州数码linux系统上网的源代码,想到了现在许多路由器用的都是嵌入式的 Linux ,于是乎,我琢磨着,能不能把linux上的程序写到路由上,问了度娘,得到的答案是肯定的,看了下觉得这个东东在我能力的范围内,就这样,我开始了编译。。。。
简述一下思路,交叉编译ipk文件,首先需要的是开发环境,这里需要ubuntu系统和HG255D SDK开发包,神州数码unlix的源代码,还需要自己写一个makefile文件,makefile文件的意义在于 自动化编译,即只需一个make命令,就可以顺利编译出文件(在下面链接中我贴出了makefile文件,这样大家就不用自己编啦)
我向以下文章的作者表示崇高的敬意,没有他们的辛勤钻研,也就不会找到编译出神州数码ipk 的方法,在此膜拜一下
http://code.google.com/p/zdcclient/
https://github.com/takx/zdclient-for-openwrt
http://blog.csdn.net/eldn__/article/details/9707065
http://www.openwrt.org.cn/bbs/forum.php?mod=viewthread&tid=12380
制作原由
我们寝室为了节省网费,2个人用一个网,以前用的是WIN7自带的无线共享,但是虚拟wifi共享十分不稳定,经常掉线,迫不得已,痛苦不堪。为此,我买了个华为HD255G路由器自己捣鼓。
先观摩一下我们寝室的无线路由:
注:我用的版本是OPENWRT 20120828的,在这里关于路由器刷机的教程就不再讲述了,具体问某 宝上的卖家。、
需要准备的材料
1.华为HG255D主机一台,刷好openwrt
2.VMware Workstation 下载地址http://www.pc6.com/softview/SoftView_128.html
3.Ubuntu 12.04 32位版本 下载地址http://www.ubuntu.com/download/zh-CN
4.OpenWrt SDK软件包 下载地址
http://downloads.openwrt.org/attitude_adjustment/12.09/ramips/rt288x/OpenWrt-SDK-ramips-for-linux-i486-gcc-4.6-linaro_uClibc-0.9.33.2.tar.bz2
5.神州数码文件包 (zdclient) 下载地址 http://pan.baidu.com/s/1gdeK7on 密码:4p9q
6.神州数码附属ipk文件
http://downloads.openwrt.org/attitude_adjustment/12.09/ramips/rt305x/packages/libpcap_1.1.1-2_ramips.ipk
http://downloads.openwrt.org/attitude_adjustment/12.09/ramips/rt305x/packages/libstdcpp_4.6-linaro-1_ramips.ipk
http://downloads.openwrt.org/attitude_adjustment/12.09/ramips/rt305x/packages/libintl-full_0.18.1.1-2_ramips.ipk
http://downloads.openwrt.org/attitude_adjustment/12.09/ramips/rt305x/packages/libiconv-full_1.11.1-1_ramips.ipk
虚拟机的安装
介于有同学不了解虚拟机,这里我先介绍一下虚拟机,虚拟机就是可以在软件可以在一台电脑上模拟出来若干台PC,比如这个编译需要用到的ubuntu系统,安装在虚拟机上,你使用WIN7也同时可以使用Ubuntu,这里顺便我也做一个简单的虚拟机安装的教程,首先安装VMware Workstation,启动虚拟机,一步一步按照图片设置
选择标准, 在安装盘镜像文件里面选择刚下载的ubuntu 12.04的ISO文件,点击下一步,
在这里输入你的系统的账户信息(等等登陆要用到),接下来几步如图设置,我就不多说了
点击完成,打开虚拟机电源开始安装系统。
等待差不多半小时,安装成功,虚拟机重启,出现登录界面ubuntu login输入你的刚才设置的账户名,回车,输入密码,
登录成功显示admins@ubuntu:`$此时输入startx进入ubuntu桌面
交叉编译环境的安装与调试
在虚拟机进入桌面后,打开终端,安装各种依赖包(可以复制进去):
sudo apt-get install gcc g++ patchbzip2 flex bison make autoconf unzip subversion libncurses5-dev ncurses-termzlib1g-dev gawk libz-dev git-core ccache
默默等待下载完成
把刚才下载完的OPENWRT-SDK包复制到虚拟机home目录中,然后在终端中输入tar jxvf OpenWrt-SDK-ramips-for-linux-i486-gcc-4.6-linaro_uClibc-0.9.33.2.tar.bz2
然后会出现一大堆代码,不必理会,静静地等待完成。完成以后回到终端输入状态。
注:1. 很多人一开始不知怎么打开终端,其实有一个很好的办法键盘组合键按Ctrl+T就可以快速打开终端
2.当出现password字样的时候,请输入ubuntu系统的密码
3.当出现Do youwant to continue 时候,输入Y
4.关于ubuntu虚拟机怎么插U盘,怎么读取U盘,请您移步度娘,度娘懂你,会给你解释的很详细的
IPK文件的编译
在刚才的终端输入
cd OpenWrt-SDK-ramips-for-linux-i486-gcc-4.6-linaro_uClibc-0.9.33.2.tar.bz2
打开文件管理器,进入/home/OpenWrt-SDK-ramips-for-linux-i486-gcc-4.6-linaro_uClibc-0.9.33.2.tar.bz2/package文件夹,把解压完成的zdclient 文件夹(上面下载的)复制进去,在终端执行命令make package/zdclient/compile V=99
下面是激动人心的时刻,随着一串串命令的出现,没一会儿功夫。神州数码ipk文件在bin/rampis/packages下面出现了,拷贝出ipk文件。
路由器ipk的安装与设置
在路由器上安装神州数码客户端需要先安装libstdcpp_4.6-linaro-1_ramips.ipk libpcap_1.1.1-2_ramips.ipk libintl-full_0.18.1.1-2_ramips.ipklibiconv-full_1.11.1-1_ramips.ipk 这4个包,如果提示libpcap安装失败,需要进入路由器WEB界面,系统-软件包里面移除libpcap后再执行libpcap安装命令
注:1.安装ipk文件 opkg install 文件名.ipk(需要下载软件WinSCP连接路由器,才能执行上传安装,具体ipk文件的安装还是问度娘)。
2.这4个ipk安装完以后才能安装神州数码客户端zdnlient的ipk
3.安装完成以后,把网线插入路由器的WAN端口,(具体无线加密设置方法详见度娘)SSH中执行命令:
理工科艺 zdclient -b -u "登录名" -p "密码" --device “WAN网卡名称如eth0.1 此网口要去路由器web界面网络接口里面寻找” –dhcp
其他学校 zdclient -b -u "登录名" -p "密码" -g “学校主机地址或者网关” -d “DNS” --device “WAN网卡名称如eth0.1” --ver ”版本号”
4.如不懂用法,可以在SSH中输入 zdclient –h查询代码使用方法
5.如果学校网络是绑定网卡MAC地址,请在路由WEB界面中指定WAN端口MAC地址。
接下来,如果SSH界面中显示EAP_SUCCESS,就说明你连接成功了。
问题区:
QUESTION1:有的同学说,SSH界面显示了EAP_SUCCESS,笔记本电脑IP也获取正确了,但是就是不能上网的问题,肯定是DHCP服务器没有设定好,请进入路由器WEB界面管理界面-网络-接口-LAN 下面指定DHCP服务器,LAN口电脑才能正常上网
DHCP服务器应该这样写:6,X.X.X.X,X.X.X.X
我用的是杭州电信的DNS202.101.172.35 202.101.172.46
如果你不知道你所在地区的DNS,直接用谷歌的DNS填进去6,8.8.8.8,8.8.4.4然后点击保存并应用
QUESTION2:又有的同学说,我总不可能每次开机都要打开电脑都要输入指令来连接网络。我们可以把此程序加入到路由开机启动中去。关于这个程序的自动启动,我还遇到了一个小插曲,郁闷了我一天:在系统-开机启动中加入了神州数码上网的命令,然后每次路由开机WAN端口ping成功,但LAN端口始终上不去网,在SSH执行断网命令后,再一次连上网,LAN端口竟然可以上网了。后来,我灵机一动,开机的时候让路由断一次再连接一次不就搞定了(是不是觉得我很聪明呢,哈哈)。于是我在开机启动中写下了如下命令(把命令加到exit 0之前):
zdclient-b -u "用户名" -p "密码" --device eth0.1 --dhcp
zdclient-l
zdclient-b -u "用户名" -p "密码" --device eth0.1 --dhcp
其他学校参加文章上面链接网络的代码
使用了这段代码后,路由启动后就再也没有出现过问题。
至此,神州数码客户端已经完全编译到openwrt路由器中去了,此时,请重启你的路由器,感受寝室路由的乐趣吧!
在此再次感谢那些把源代码无私奉献出来的人,感谢林大大的对本教程的修改意见!
OPENWRT交叉编译之神州数码校园客户端实践相关推荐
- 神州数码私有报文分析完毕,庆祝一下[神州数码认证客户端破解]
经过了一天半的动态跟踪,终于把神州数码私有报文分析完毕 总结 1.我跟踪的是未加密的3.4版,所以相对容易一点(ps:因为我不会破解....大伙不要笑啊) 2.我不是在校园网内的,只能凭以前截获的包, ...
- 解决神州数码校园上网客服端软件不能在Windows 7 (5956版)安装的问题
终于忍不到Windows 7的好看界面,今天就安装来体验一下~ 学校网络收费要安装神州数码的上网客服端才能上网, 但居然安装到winpcap的时候提示说WinPcap_4_0_1不能安装.我就到win ...
- 神州数码项目管理最佳实践之四
一.项目人员考核和激励经常面临的问题 在对项目进行考核,企业常常面临一些问题或困惑,比如:如何设计出合理的考核体系,既能对项目的成果做出客观的评价,考核的结果又能对相关人员做出有效的激励?项目的收入. ...
- 神州数码最佳实践之一:向项目管理要效益
作者:石海东 文章来源: http://www.visualproject.cn/news/A20070516_1.html 1.IT服务的特殊性:签单越多,有可能亏损越多 神州数码自2000年之后, ...
- 科创人·神州数码集团CIO沈旸:最佳实践模式正在失灵,开源加速分布式创新
沈旸 神州数码集团副总裁兼CIO 国防科学技术大学工学学士学位.上海交通大学工学硕士学位.曾任SAP中国全球支持中心咨询顾问.SAP美国数字转型服务部门技术架构师.企业规划与商业智能团队负责人.神州数 ...
- 神州数码云战略加速,百亿“小目标”更近一步
正处于云及数字化业务高速转型期的神州数码,迎来了2019年的快速发展,这是所有神州数码人共同努力的结果. "2019年,神州数码所有销售人员都已经或多或少承担了云相关的业绩指标.2020年, ...
- 神州数码2019业绩大好,这些真相你不一定都知道
在不断的转型与变革中,神州数码带着数字中国的梦想,不断走向新的征途,在中国经济发展的每一次重要的时期,不断寻求自身的进化. 而中国的云计算与大数据产业,多了一个不可或缺的"重要引领者&quo ...
- 神州数码与神州控股、神州信息共同主办首届技术年会,透露出什么信号?
11 月 8 日,神州控股.神州数码集团.神州信息共同主办"数字中国 2019 技术年会",聚焦云计算.大数据.人工智能.区块链.5G 等前沿技术创新与应用实践,众多领域的技术专家 ...
- 神州数码携手IBM与红帽共商“新基建”机遇与挑战
神州数码携手IBM与红帽共商"新基建"机遇与挑战 原创 神州数码集团 2020-07-27 19:54:00 7月27日,以"扶云直上 共执牛耳"为主题的云·数 ...
最新文章
- checked_delete问题: Beyond the C++ STL: an introduction to boostdeleter::do_it
- 第三章 图论【未完成】
- 云原生:重新定义信息产业生态体系
- 数据结构与算法专题——第九题 外排序
- java absolute_Java Path isAbsolute()用法及代码示例
- 手把手教你怎么给客群分级(上)
- 虚拟机和电脑共享文件夹
- MySQL常用命令基础操作
- 51单片机c语言定义寄存器r,在MCS51单片机中对特殊功能寄存器的C51定义
- html5 摇骰子游戏,HTML5+JavaScript实现掷骰子游戏代码
- Excel批量删除空白行
- Unity Kinect添加自定义姿势识别
- KGB知识图谱开创技术应用新渠道
- 如何在C++中删除文件
- Git Branching基础操作学习笔记
- 苹果邮箱怎么登录qq邮箱_电子邮箱 电子邮箱格式怎么写
- C语言将CSR存储模式转为coo,spmv_csr 稀疏矩阵的DIA/ELLPACK/COO/CSR/HYB表示形式 - 下载 - 搜珍网...
- win10python安装配置selenium
- 多因子量化选股(1)
- 美不胜“售”的花花世界