linux下移植wifi之安装hostapd及其操作(八)

安装 hostapd

1.  下载,解压
    下载源码: http://w1.fi/hostapd/
    tar -xvf hostapd-2.6.tar.gz
    cd hostapd-2.6/hostapd
    
2.     编译、安装
    cp defconfig .config
    vi .config
    去掉 #CONFIG_LIBNL32=y 前面的# ,即使能CONFIG_LIBNL32

    修改Makefile:
    在第27行(文件前部,前面那几行都可以)之后,加上下面这四句话。指定lib 和 openssl 的头文件 和库。

    CFLAGS += -I/home/clh/work/libnl-3.2.25/tmp/include/libnl3
    LDFLAGS += -L/home/clh/work/libnl-3.2.25/tmp/lib

    CFLAGS += -I/home/clh/work/openssl-1.0.1o/tmp/include
    LDFLAGS += -L/home/clh/work/openssl-1.0.1o/tmp/lib

    make CC=arm-linux-gcc //指定编译工具,然后编译
    make DESTDIR=$PWD/tmp install
    
    将生成的,复制到根文件系统。
    cp tmp/usr/local/bin/* /opt/rootfs/bin/     /*hostapd, hostapd_cli*/

3 使用

3.1 根据文件hostapd/hostapd.conf,来配置参数,写自己需要的配置文件。A,B,C中选自己喜欢的。

A、 OPEN方式的配置文件
    ctrl_interface=/var/run/hostapd
    #change wlan0 to your wireless device
    interface=wlan0
    driver=nl80211
    ssid=hello
    channel=1

    # 认证/加密方式
    macaddr_acl=0
    auth_algs=1
    ignore_broadcast_ssid=0

B、 WEP方式的配置文件
    ctrl_interface=/var/run/hostapd
    #change wlan0 to your wireless device
    interface=wlan0
    driver=nl80211
    ssid=hello
    channel=1

    # 认证/加密方式
    macaddr_acl=0
    auth_algs=2
    ignore_broadcast_ssid=0
    wep_key0="hellogrilclh0"
    wep_default_key=0
    
C、 WPA/WPA2方式的配置文件
    ctrl_interface=/var/run/hostapd
    #change wlan0 to your wireless device
    interface=wlan0
    driver=nl80211
    ssid=hello
    channel=1

    # 认证/加密方式
    macaddr_acl=0
    auth_algs=1
    ignore_broadcast_ssid=0
    wpa=3
    wpa_passphrase=baiwenwang
    wpa_key_mgmt=WPA-PSK
    wpa_pairwise=TKIP
    rsn_pairwise=CCMP
    
    把配置文件存为/etc/myhostapd.conf
    启动命令:hostapd -B /etc/myhostapd.conf ,会把这条命令写在脚本中,执行脚本就行,不用手动去执行命令。

3.2启动dhcpd
    修改配置文件/etc/dhcpd.conf,添加:
    子网192.168.2.0网络掩码255.255.255.0 {                       
      范围192.168.2.10 192.168.2.100;                              
      option domain-name-servers 192.168.2.1;                        
      选项路由器192.168.2.1;                                    
    }    

    创建空文件/var/db/dhcpd.leases:
    > /var/db/dhcpd.leases

    ifconfig wlan0 192.168.2.1
    启动命令:dhcpd -cf /etc/dhcpd.conf wlan0 
    
    会把这两条命令写在脚本中,执行脚本就行,不用手动去执行命令.3.3
    
将命令写在脚本中
    vim / sbin / auto_wifi_ap.sh 
    #!/ bin / sh
    if [$ ACTION =“add”]; 
    然后
       hostapd -B /etc/myhostapd.conf
       ifconfig wlan0 192.168.2.1
       dhcpd -cf /etc/dhcpd.conf wlan0
    else
       killall hostapd
       killall dhcpd
    fi

3.4修改/etc/mdev.conf自动启动AP模式// wlan0设备一加载,就会执行mdev.conf 
    vim /etc/mdev.conf 
    wlan0 0:0 777 * /sbin/auto_wifi_ap.sh
    
    
特别注意点:wlan0的ip地址要和etc / dhcpd.conf你自己设置的ip,在一个网段。

wpa(sta)的时候,dhcp的角色是客户端.hostapd(ap)的时候,dhcp的角色是服务器。 

你可能感兴趣的:(移植wifi)