php.c drcom,成功 将校园客户端drcom搞进openwrt

终于大功告成,这次没有通宵就搞定了。记下一些重要步骤,免得以后忘了

首先要获得pc上能上网的源码,这个是从sourece.net上的一个开源项目获得,然后在对照windows客户端抓包修改。每个学校的认证方式都略有修改,不是通用的。过程就记在上一篇文章里面了。这里就直接写移植到openwert的过程了。

我的路由是RG100E-AA,BCM5354 ,内存32M,ROM16M。这里根具体平台关系不大,在make menuconfig的时候修改一下对应处理器系统和平台就可以了。

进行入正题:

1. 将drcom.c文件加入路由器cpu对应的内核中

可以驱动模块的方式加入,也可以直接编译时内核。

driver在build_dir/linux-xxxx/linux-2.x.x下,x代表cpu类型和内核版本号

加入方式就是修改driver/net/目录下的Kconfig和Makefile两个文件

2. 交叉编译drcomd、drcomc

drcomd对/sbin/modprobe drcom做一些修改,因为路由器内核大多没有这个命令。改为/sbin/insmod drcom

并去掉返回值的判断,无论插入成功与否都不退出。s=system(cmd)

编译drcomd的时候最好用静态编译(--static),路由器里面默认是没有libpthread这个动态库的

3. 交叉编译openwrt固件

make meuconfig

选中luci 网面管理界面

设置语言 中文、英文、鸟语等

Make V=99

4.烧写固件、下载程序

telnet 或 ssh 进路由

cd /tmp

wget

mtd –r write openwrt-brcm47xx-squashfs.trx linux

烧好之后会自动重启

telnet 192.168.1.1

wget

wget c

wget

wget

insmod ./drcom.ko如果drcom编译进内核就省掉这里了,所以上面要修改命令执行成功与否都不退出的原因

vi drcom.conf配置参数,用户名、密码、网口(eth0.1路由器wan都是虚拟出来的)

./drcomd

./drcomc login

出下面提示表示成功了

received server ACK(pkt_size=745)

Login Succeeded

You have used 5147 Minutes, and 450276K bytes

再试试手机、笔记本上网一切ok

4. 接着就是移植各种应用进去了

试了一下lighttpd+php+sqilte 一切正常,已经hello world了

Cgi运行正常,还是一个echo “hello world”

还有其它很强大的功能就不一一试了,都不用自己写的,已经有大牛写好了的

先写到这里,有空再在来写个cgi把账号放到网页上去填写,然后在网页上登陆、注销,免得telnet。今天就不整图了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值