使用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. APUE学习笔记——11 线程基础

    线程标识 线程由线程号进行标识.线程号仅在线程所属的进程环境中有效.也就是说属于不同进程的两个线程可能线程号一样. 线程标识用结构体pthread_t tid表示.与线程Id相关的函数如下: 比较两个 ...

  2. 剑指offer--45.二叉树的深度

    时间限制:1秒 空间限制:32768K 热度指数:139716 题目描述 输入一棵二叉树,求该树的深度.从根结点到叶结点依次经过的结点(含根.叶结点)形成树的一条路径,最长路径的长度为树的深度. -- ...

  3. css hover伪类选择器与JQuery hover()方法

    css hover伪类选择器 它属于anchor伪类 在支持 CSS 的浏览器中,<a>标签链接的不同状态都可以以不同的方式显示,常常用来改链接的颜色效果 实例 a:link {color ...

  4. 将window上的项目上传到自己的github

    使用git 1.首先在自己的github上面新建仓库 2.记下远程仓库的地址 3.在要上传的项目的目录下使用git命令进行上传 (1)先git init 初始化本地的仓库 (2)git add -A ...

  5. ubuntu16安装git

    执行一条命令就可以: sudo apt-get install git

  6. localhost与127.0.0.1之间的区别

    Localhost的意思是本地服务器,而127.0.0.1是本机地址,他们的关系是通过操 作系统中的hosts文件,将Localhost解析为127.0.0.1.而实际工作中,Localhost是不经 ...

  7. python最重要的模块logging

    logging模块 这个模块是目前最重要的模块!!!我一定给讲透彻一点 很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误.警告等信息输出,python中的loggi ...

  8. typecho去index.php

    RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} ! ...

  9. Javascrpt 速成篇】 二:js面向对象

    现实世界的对象由形态和行为组成,js中对应的是属性和函数. <!DOCTYPE html> <html> <head> <meta charset=" ...

  10. [转载]Unicode中对中文字符的编码

    以前写过一篇贴子是写中文在unicode中的编码范围 unicode中文范围,但写的不是很详细,今天再次研究了下unicode,并给出详细的unicode取值范围. 本次研究的unicode对象是un ...