使用WIFI网卡的AP功能

1、下载源码 hostapd: http://w1.fi/hostapd/

2、编译、安装(hostapd依赖于libnl库,需要编译、安装此库)

tar xzf hostapd-2.0.tar.gz

cd hostapd-2.0/

cd hostapd/

cp defconfig .config

修改.config, 加一行: CONFIG_LIBNL32=y

修改Makefile:

CC=arm-linux-gcc  交叉编译

编译

make

安装

make DESTDIR=$PWD/tmp install





把生成的hostapd  hostapd_cli复制到NFS的bin目录

3、使用(启动 hostapd)

hostapd  -h查看命令如何使用

(3.1)定义一个 hostapd的配置文件/etc/myhostapd.conf:WPA/WPA2

配置文件hostapd.conf对相关选项的取值有详细的介绍

ctrl_interface=/var/run/hostapd

#change wlan0 to your wireless device

interface=wlan0   用哪一个网卡

driver=nl80211    所用驱动

ssid=S3C2440    AP名称

channel=1





# 认证/加密方式 

macaddr_acl=0  控制MAC地址的过滤

auth_algs=1   使用wep方式(对于WPA或WPA2,此值必须设为1)

ignore_broadcast_ssid=0

wpa=3   AP既支持WPA也支持WPA2

wpa_passphrase=baiwenwang  密码

wpa_key_mgmt=WPA-PSK  在AP上预设密码,不经服务器处理

wpa_pairwise=TKIP    WPA的加密方式

rsn_pairwise=CCMP  WPA2 的加密方式

把配置文件存为/etc/myhostapd.conf

-B是指运行于后台,/etc/myhostapd.conf是配置文件

启动 hostapd: hostapd -B /etc/myhostapd.conf





4、 启动 dhcpd,给手机分配IP

(1)修改配置文件/etc/dhcpd.conf,添加:

subnet 192.168.1.0 netmask 255.255.255.0 { //子网和子网掩码                    

  range 192.168.1.10 192.168.1.100;          //要分配的IP地址范围                    

  option domain-name-servers 192.168.1.1;      //DNS服务器IP                  

  option routers 192.168.1.1;                    路由                

}

(2)创建空文件/var/db/dhcpd.leases:

>表示生成一个空文件

> /var/db/dhcpd.leases

(3)启动 dhcpd

先配置网卡IP

ifconfig wlan0 192.168.1.1

/etc/dhcpd.conf是我们编写的配置文件 ,wlan0是我们所用的网卡

dhcpd -cf /etc/dhcpd.conf wlan0

(4)查看有多少个客户端连接我的无线IP命令

hostapd_cli和hostapd是通过socket文件来通信的,不指定socket文件,hostapd_cli和hostapd无法连接,修改myhostapd.conf
文件,加上此行ctrl_interface=/var/run/hostapd

hostapd_cli  -h查看如何使用

两种模式

1、直接写入命令

2、交互模式:先直接执行hostapd_cli。

看有多少个客户端连接我们的无线AP

查看MAC地址对应的IP

5、 OPEN方式的配置文件

hostapd的配置文件/etc/myhostapd.conf

ctrl_interface=/var/run/hostapd

#change wlan0 to your wireless device

interface=wlan0   用哪一个网卡

driver=nl80211    所用驱动

ssid=S3C2440    AP名称

channel=1





# 认证/加密方式

macaddr_acl=0  控制MAC地址的过滤

auth_algs=1   使用wep方式(对于WPA或WPA2,此值必须设为1)

ignore_broadcast_ssid=0

6、 WEP方式的配置文件

hostapd的配置文件/etc/myhostapd.conf

ctrl_interface=/var/run/hostapd

#change wlan0 to your wireless device

interface=wlan0

driver=nl80211

ssid=S3C2440

channel=1





# 认证/加密方式

macaddr_acl=0

auth_algs=2

ignore_broadcast_ssid=0

wep_key0="baiwenwang123"   密码

wep_default_key=0   默认密码是第0个密码



baiwenwang123是ASCII码,其16机制可用UltrasEdit在里面写入后,按Ctrl+h键就能出现16进制值

7、 修改/etc/mdev.conf自动启动AP模式(热拔插)

cat /etc/mdev.conf

wlan0 0:0 777 * /sbin/auto_wifi_ap.sh

添加执行权限

chmod +x /sbin/auto_wifi_ap.sh

cat /sbin/auto_wifi_ap.sh 

#!/bin/sh

if [ $ACTION = "add" ]; 

then

   hostapd -B /etc/myhostapd.conf

   ifconfig wlan0 192.168.1.1

   dhcpd -cf /etc/dhcpd.conf wlan0

else

   killall hostapd

   killall dhcpd

fi





注意事项:

对于包含了AR9271网卡驱动的内核,有一个问题:

在上电之前就接上了网卡,那么系统启动后无法识别出这个网卡。

解决方法:

1.上电后再接网卡

2.把驱动编译为模块,当系统启动后再insmod: 可以在上电之前就接网卡





可能原因:ath9k_htc.ko要用到固件, 但是固件要到根文件系统被挂载后才能访问

使用wifi网卡笔记5---AP模式的更多相关文章

  1. 使用wifi网卡笔记4---工具dhcp及全自动使用wifi

    dhcp : 使得WIFI网卡动态获取IP ·1.源码获取 输入dh看有哪些应用程序,输入dhclient -v查看一下相关信息,源码获取的网址 2.开发环境配置 解压 tar xzf dhcp-4. ...

  2. 使用wifi网卡笔记2----概念及工具iw(STA模式)

    1.认证和加密的概念 (1)概念 (2)阶段划分 初级版本:认证不需要密码, 传输不需要加密 认证不需要密码, 传输需要加密(用WEP算法) 认证需要密码(用WEP算法), 传输需要加密(用WEP算法 ...

  3. 使用wifi网卡笔记1----网卡选型、开发环境搭建、内核配置

    1.wifi的STA模式和AP模式 Ap(Access Point)模式指的是可以将网卡设置为路由器用来共享流量或有线网络给别人使用, sta模式指的是当做网卡连接路由器上网 (1):AP也就是无线接 ...

  4. 使用wifi网卡笔记3---工具wpa_supplicant(STA模式)

    1.  wpa_supplicant介绍 supplicant是恳求者的意思,是wpa的发起者,是发送认证请求的设备(手机),手机--AP--认证服务器,可用于上述4种"认证/加密" ...

  5. 转 WiFi的STA和AP模式指什么?

    1):AP,也就是无线接入点,是一个无线网络的创建者,是网络的中心节点.一般家庭或办公室使用的无线路由器就一个AP. 2):STA站点,每一个连接到无线网络中的终端(如笔记本电脑.PDA及其它可以联网 ...

  6. 使用WIFI网卡的AP功能

    前几篇博客中,wifi无线网卡都工作于STA模式,那么它能否工作于AP模式.本篇博客就研究使wifi 无线网卡工作于AP模式.使用一个应用程序hostapd,关于它的介绍可以去此网站https://w ...

  7. 使用WIFI网卡 dhcp动态获取IP

    前面几篇博客中,wifi网卡的ip都是手工设置的,本篇博客将来移植dhcp,使得wifi网卡可以动态的获取ip.路由等信息. 那我们去哪里下载dhcp源码呢?在pc机上执行dh +tab键,看一下有哪 ...

  8. Android KitKat 4.4 Wifi移植AP模式和网络共享的调试日志

    Tethering技术在移动平台上已经运用的越来越广泛了.它能够把移动设备当做一个接入点,其它的设备能够通过Wi-Fi.USB或是Bluetooth等方式连接到此移动设备.在Android中能够将Wi ...

  9. Marvell w8782 sdio wifi AP模式设置

    http://blog.csdn.net/junllee/article/details/8895908 w8782工作在station模式一切正常,于是想试试AP模式(master mode): A ...

随机推荐

  1. C++11_新语法

    版权声明:本文为博主原创文章,未经博主允许不得转载. 本节主要介绍C++的新特性,对于C++的基础语法不再讲解.由于编译器的不同.在某些地方可能有些差异,但是无太大影响. 讲解本节知识之前先确认你的C ...

  2. ECMAScript 6.0 学习笔记

    1.ECMAScript 6.0(也就是ES2015 以下简称 ES6)是 JavaScript 语言的下一代标准,已经在2015年6月正式发布了.它的目标,是使得 JavaScript 语言可以用来 ...

  3. d3.js(v5.7)的node与数据匹配(自动匹配扩展函数)

    在d3操作时,当然少不了对已有节点绑定数据,那么问题就来了,节点个数和数据长度不一样的,怎么办. d3在节点少于数据长度的时候,有enter().appen()方法实现node的增加: 在节点大于数据 ...

  4. Kotlin Reference (五) Packages

    most from reference 包 源文件可以从包声明开始: package foo.bar fun baz() {} class Goo {} // ... 源文件的所有内容(如类和函数)都 ...

  5. ZK单机最简配置

    修改zk home/conf下的zoo_sample.cfg,重新命名为zoo.cfg. 修改配置为: dataDir=/root/data/zookeeper-data clientPort=218 ...

  6. OPEN(SAP) UI5 学习入门系列之一:扫盲与热身(上)

    什么是SAP Fiori? 了解SAP UI5必须要从SAP Fiori开始,两者概念经常被混淆,而两者也确实有着非常紧密的关系. 用过SAP的同学们都对SAP的传统的界面(SAP GUI)表示“呵呵 ...

  7. Swift UIAlertController、UISegmentedControl

    // MARK: 提示框 func _initAlertView() { let btn = UIButton(type: UIButtonType.ContactAdd) btn.frame = C ...

  8. Ubuntu下使用openssl为apache2配置ssl

    安装apache2 sudo apt-get install apache2 安装openssl 一般系统自带,可以通过openssl version查看,如果没有, sudo apt-get ins ...

  9. ubuntu 添加应用到Dash启动器

    打开终端输入 $sudo vim /usr/share/applications/name.desktop name是你的程序标识名称 在打开的编辑器中添加以下内容,这里以配置NetBeans为例: ...

  10. THREE.OrbitControls参数控制

    // Set to false to disable this control//鼠标控制是否可用 this.enabled = true; // "target" sets th ...