Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2978281
  • 博文数量: 685
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 5303
  • 用 户 组: 普通用户
  • 注册时间: 2014-04-19 14:17
个人简介

文章分类

全部博文(685)

文章存档

2015年(116)

2014年(569)

分类: 嵌入式

2014-09-18 14:21:52

原文地址:http://blog.csdn.net/yyplc/article/details/7301974

在UBUNTU系统或者其他类似linux系统上,使用hostapd,可以实现WIFI的无线接入热点(AP)
以便提供给其他需要无线接入联网的设备,如笔记本,手机实现无线上网功能。也即是无线路由的功能。
什么是hostapd
hostapd 是用户控件的守护进程用于无线接入点(AP)和授权服务器(authentication servers).
她实现了IEEE802.11的AP管理,IEEE802.1X/WPA/WPA2/EAP授权,RADIUS 客户端,EAP服务器和RADIUS 授权服务器,目前最新版本支持Linux系统(HOST AP,madwifi,mac80211-based驱动)和FreeBSD(net80211)。
hostapd设计为一个守护程序(进程),后台运行,进行一些相关控制授权的操作。属于一个开源项目。
相关链接:

http://linuxwireless.org/en/users/Documentation/hostapd

查看自己的无线网卡信息:

  1. wsn@wsn-laptop:~$ hwinfo --netcard
  2. ...
  3. 28: PCI e00.0: 0282 WLAN controller
  4. [Created at pci.318]
  5. UDI: /org/freedesktop/Hal/devices/pci_14e4_4315
  6. Unique ID: y9sn.reAAs+k0MA5
  7. Parent ID: hoOk.F8Gordq8HH2
  8. SysFS ID: /devices/pci0000:00/0000:00:1c.2/0000:0e:00.0
  9. SysFS BusID: 0000:0e:00.0
  10. Hardware Class: network
  11. Model: "Dell Wireless 1397 WLAN Mini-Card"
  12. Vendor: pci 0x14e4 "Broadcom"
  13. Device: pci 0x4315 "BCM4312 802.11b/g"
  14. SubVendor: pci 0x1028 "Dell"
  15. SubDevice: pci 0x000c "Wireless 1397 WLAN Mini-Card"
  16. Revision: 0x01
  17. Driver: "b43-pci-bridge"
  18. Driver Modules: "ssb"
  19. Device File: wlan0
  20. Features: WLAN
  21. Memory Range: 0xf3000000-0xf3003fff (rw,non-prefetchable)
  22. IRQ: 18 (557260 events)
  23. HW Address: 00:22:5f:85:e7:a7
  24. Link detected: yes
  25. WLAN channels: 1 2 3 4 5 6 7 8 9 10 11 12 13 14
  26. WLAN frequencies: 2.412 2.417 2.422 2.427 2.432 2.437 2.442 2.447 2.452 2.457 2.462 2.467 2.472 2.484
  27. WLAN encryption modes: WEP40 WEP104 TKIP CCMP
  28. WLAN authentication modes: open sharedkey wpa-psk wpa-eap
  29. Module Alias: "pci:v000014E4d00004315sv00001028sd0000000Cbc02sc80i00"
  30. Driver Info #0:
  31. Driver Status: ssb is active
  32. Driver Activation Cmd: "modprobe ssb"
  33. Config Status: cfg=new, avail=yes, need=no, active=unknown
  34. Attached to: #16 (PCI bridge)
wsn@wsn-laptop:~$ hwinfo --netcard
...
28: PCI e00.0: 0282 WLAN controller
  [Created at pci.318]
  UDI: /org/freedesktop/Hal/devices/pci_14e4_4315
  Unique ID: y9sn.reAAs+k0MA5
  Parent ID: hoOk.F8Gordq8HH2
  SysFS ID: /devices/pci0000:00/0000:00:1c.2/0000:0e:00.0
  SysFS BusID: 0000:0e:00.0
  Hardware Class: network
  Model: "Dell Wireless 1397 WLAN Mini-Card"
  Vendor: pci 0x14e4 "Broadcom"
  Device: pci 0x4315 "BCM4312 802.11b/g"
  SubVendor: pci 0x1028 "Dell"
  SubDevice: pci 0x000c "Wireless 1397 WLAN Mini-Card"
  Revision: 0x01
  Driver: "b43-pci-bridge"
  Driver Modules: "ssb"
  Device File: wlan0
  Features: WLAN
  Memory Range: 0xf3000000-0xf3003fff (rw,non-prefetchable)
  IRQ: 18 (557260 events)
  HW Address: 00:22:5f:85:e7:a7
  Link detected: yes
  WLAN channels: 1 2 3 4 5 6 7 8 9 10 11 12 13 14
  WLAN frequencies: 2.412 2.417 2.422 2.427 2.432 2.437 2.442 2.447 2.452 2.457 2.462 2.467 2.472 2.484
  WLAN encryption modes: WEP40 WEP104 TKIP CCMP
  WLAN authentication modes: open sharedkey wpa-psk wpa-eap
  Module Alias: "pci:v000014E4d00004315sv00001028sd0000000Cbc02sc80i00"
  Driver Info #0:
    Driver Status: ssb is active
    Driver Activation Cmd: "modprobe ssb"
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #16 (PCI bridge)


Ubuntu下,如何获取hostapd?

1. 终端输入命
  1. sudo apt-get install hostapd
sudo apt-get install hostapd
2. 最新版本可以通过git命令
  1. sudo apt-get install git-core
  2. git clone git://w1.fi/srv/git/hostap.git
sudo apt-get install git-core
git clone git://w1.fi/srv/git/hostap.git
3. 选择自己所需版本
  1. http://w1.fi/hostapd/

如何使用hostapd

将获取到的包解压,进入hostapd.
  1. tar xzvf hostapd-x.y.z.tar.gz
  2. cd hostapd-x.y.z/hostapd
tar xzvf hostapd-x.y.z.tar.gz
cd hostapd-x.y.z/hostapd
复制一份默认的配置文件
  1. cp defconfig .config
cp defconfig .config
编辑.config文件,找到
#CONFIG_DRIVER_NL80211=y
修改为
CONFIG——DIRVIERNL80211
最后编译:
sudo make
如果编译报错,原因多是libnl库出错,通过安装或升级libnl库即可
该库主要提供基于LINUX内核的netlink protocol相关APs函数。
这里下载获取,要求版本0.8以上
  1. http://~tgr/libnl/
http://~tgr/libnl/
如果还出错,那么需要安装libssl-dev:
该库提供ssl开发库
  1. sudo apt-get install libssl-dev
sudo apt-get install libssl-dev
编译好后,得到hostapd执行文件
如何使用hostapd?
hostapd的功能,也就是笔记本通过有线网口介入,hostapd利用笔记本的无线网卡,实现无线路由。
编辑hostapd.conf文件
可以根据自己的网卡,参照这里
  1. http://linuxwireless.org/en/users/Documentation/hostap
http://linuxwireless.org/en/users/Documentation/hostap
一个简单的配置文件:
  1. interface=wlan0
  2. bridge=br0
  3. driver=nl80211
  4. ssid=ssa
  5. hw_mode=g
  6. channel=11
  7. dtim_period=1
  8. rts_threshold=2347
  9. fragm_threshold=2346
  10. auth_algs=3
  11. wpa=1
  12. wpa_passphrase=12345678
  13. wpa_key_mgmt=WPA-PSK
  14. wpa_pairwise=TKIP CCMP
  15. rsn_pairwise=CCMP
interface=wlan0
bridge=br0
driver=nl80211
ssid=ssa
hw_mode=g
channel=11
dtim_period=1
rts_threshold=2347
fragm_threshold=2346
auth_algs=3
wpa=1
wpa_passphrase=12345678
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP
rsn_pairwise=CCMP
搭建网桥:
  1. sudo apt-get install bridge-utils
sudo apt-get install bridge-utils
建立网桥:
  1. sudo brctl adbr br0
  2. sudo ifconfig br0 192.168.2.236 netmask 255.255.255.0
  3. sudo route add default gw 192.168.2.254
sudo brctl adbr br0
sudo ifconfig br0 192.168.2.236 netmask 255.255.255.0
sudo route add default gw 192.168.2.254
连接网桥两端:
  1. sudo brctl addif br0 eth0
  2. sudo brctl addif br0 wlan0
sudo brctl addif br0 eth0
sudo brctl addif br0 wlan0
最后:
  1. sudo ./hostapd hostapd.conf
sudo ./hostapd hostapd.conf
如果一切顺利,将在终端看到一下类似字样:
  1. root@wsn-laptop:/home/wsn/Desktop/hostapd-0.7.3/hostapd# ./hostapd hostapd.conf
  2. Configuration file: hostapd.conf
  3. Using interface wlan0 with hwaddr 00:22:5f:85:e7:a7 and ssid 'ubuntu-502d'
root@wsn-laptop:/home/wsn/Desktop/hostapd-0.7.3/hostapd# ./hostapd hostapd.conf 
Configuration file: hostapd.conf
Using interface wlan0 with hwaddr 00:22:5f:85:e7:a7 and ssid 'ubuntu-502d'
android手机打开wifi并且设置静态ip
如ip:192.168.3.75
掩码: 255.255.255.0
网管: 192.168.3.1

即可以连接到名为ubuntu-502的无线热点了。


阅读(3148) | 评论(0) | 转发(0) |
0

上一篇:hostapd基本配置

下一篇:BCMwifi驱动学习

给主人留下些什么吧!~~