Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2098609
  • 博文数量: 229
  • 博客积分: 7217
  • 博客等级: 上校
  • 技术积分: 3224
  • 用 户 组: 普通用户
  • 注册时间: 2009-02-19 17:23
个人简介

个人主页https://xugaoxiang.com,微信公众号: Dev_Club 或者搜索 程序员Club

文章分类

全部博文(229)

文章存档

2017年(1)

2016年(20)

2015年(23)

2013年(1)

2012年(23)

2011年(68)

2010年(62)

2009年(31)

分类: LINUX

2012-01-06 18:00:18

现在很多移动设备都提供wifi hostpot功能,使用方便,也省下了原来无线路由器的成本。wifi和wifi hotspot功能是互斥的,即在同一时间里,你只能用其中一种功能。在Android较新版本(2.2之后)中已经实现,本文实现在命令行模式下完成wifi hotspot功能的启动,并简单介绍其中涉及到的相关工具。

0、确保eth0可以访问网络

1、修改framework/base/core/res/res/values/config.xml
  1.  
     
    "wlap0" 
     
     
     
     
     
     
    "eth0" 
    "ppp0" 
    "wlan0" 
     
2、加载wifi驱动(我这使用的是atheros)
insmod /system/wifi/ar6000.ko ifname=wlap0
若成功的话,则第3、4、5步自动执行。

3、设置IP地址
/system/bin/ifconfig wlap0 192.168.100.1 netmask 255.255.255.0

4、iptables设置
echo 1 > /proc/sys/net/ipv4/ip_forward
/system/bin/iptables -A FORWARD -i wlap0 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT 
/system/bin/iptables -A FORWARD -i wlap0 -o eth0 -j ACCEPT 
/system/bin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

5、dnsmasq设置
/system/bin/dnsmasq --no-daemon --no-resolv --no-poll --dhcp-range=192.168.100.100,192.168.100.200,100h
当然也可以把相关配置写成文件再执行dnsmasq --conf-file=/*path*/dnsmasq.conf

6、启动hostapd
/system/bin/hostapd_wps -dd /data/misc/wifi/hostapd.conf

出现的问题
1、执行上述命令后,客户端去连接的时候获取不到IP地址,重新启动hostapd就OK?
可以采用如下方法修正
/sytem/bin/ndc softap set eth0 wlap0 djstava open
/system/bin/ndc softap start
/system/bin/ndc/softap startap

Reference:
1、
2、
3、
阅读(14453) | 评论(5) | 转发(0) |
给主人留下些什么吧!~~

zoumingq2013-04-23 20:18:03

你好:
    我是小白,我想问问framework/base/core/res/res/values/config.xml,这个东西在机子的什么地方,我用终端无法cd过去;
    另外,那个驱动,从哪里找来?

zhaoch19862012-07-06 11:06:07

博主:
4、iptables设置 中
/system/bin/iptables -A FORWARD -i wlap0 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

应该为

/system/bin/iptables -A FORWARD -i eth0 -o wlap0 -m state --state ESTABLISHED,RELATED -j ACCEPT

zhaoch19862012-05-25 14:11:03

djstava: 对的,是以太网,配置上面的都提到了,。.....
感谢 回复!
我是在android 2.3源码里调试这个功能(wifi tether共享有线网络数据)
我配置config.xml如下段:
<string-array translatable="false" name="config_tether_wifi_regexs">
<item>"wlan0"</item>
</string-array>

<string-array translatable="false" name="config_tether_upstream_regexs&q

djstava2012-05-25 13:23:25

zhaoch1986: 你好 请教:
上面的DEMO中的eth0是以太网(有线连接)吗?
wifi tether 支持 有线网络数据共享,需要怎么配置呢?
谢谢回复!.....
对的,是以太网,配置上面的都提到了,

zhaoch19862012-05-25 08:37:55

你好 请教:
上面的DEMO中的eth0是以太网(有线连接)吗?
wifi tether 支持 有线网络数据共享,需要怎么配置呢?
谢谢回复!