加载中…

加载中...

Linux下Usb无线网卡创建Wifi热点(搭建AP)

转载 2015-08-13 13:34:40

收藏于 2015-01-23

来自于百度空间


一、测试环境:

1. B-LINK USB无线网卡:BL-LW05-5R2

ID 148f:7601 Ralink Technology, Corp. MT7601U Wireless Adapter

2. 系统Archlinux

Linux内核 3.18.2-2-ARCH

二、无线网卡模式(STA)驱动安装

1.系统不能直接识别USB无线网卡,需编译安装驱动模块(mt7601Uap):

     产品光盘内附有linux驱动源码,或者直接git clone https://github.com/porjo/mt7601.git下载,然后编译。

     Archlinux AUR库已包含该驱动,也可以直接安装:

yaourt -S dkms-mt7601u-latest

2. 加载mt7601Uap驱动

sudo modprobe mt7601Usta

3. 驱动加载后设备识别为:ra0

[  598.803119] The name of the new ra interface is ra0...

[  598.803395] usbcore: registered new interface driver rt2870

4. 此时,通过NetworkManager或者其他网络管理命令可搜索到附近的无线网络,并链接,驱动正常。

三、无线热点模式(AP)探索

    上一步的STA 模式驱动,使得设备可以当无线网卡使用,链接附近的无线网络,给电脑提供网络。

    进一步我们需要设备建立无线wifi热点,共享电脑网络给附近的手机等无线上网设备,即驱动设备的AP模式。

1. NetworkManager等网络管理程序可以简单的提供ad-hoc网络,使用wep加密,可惜大多手机不支持,无法链接。

2. 使用hostapd————失败

安装

pacman -S hostapd

设置/etc/hostapd/hostapd.conf

ssid=YourWiFiName

wpa_passphrase=Somepassphrase

interface=wlan0

bridge=br0

auth_algs=3

channel=7

driver=nl80211

hw_mode=g

logger_stdout=-1

logger_stdout_level=2

max_num_sta=5

rsn_pairwise=CCMP

wpa=2

wpa_key_mgmt=WPA-PSK

wpa_pairwise=TKIP CCMP


启动

sudo systemctl start hostapd.service

服务不能启动

Configuration file/etc/hostapd/hostapd.conf

nl80211: Driver does not support authentication/association or connect commands

nl80211 driver initialization failed.

hostapd_free_hapd_data: Interface ra0 wasn't started

    纠结了很久,hostapd就是启动不了,有说是NetworkManager接管问题,可是设置不管理也不行,最后发现是mt7601Uap模块根本就不能驱动AP模式

四、无线热点模式(AP)开启

    终于,我发现了大神 terence-deng 在Github 开源了带AP代码:https://github.com/eywalink/mt7601u

1.下载编译模块

git clone https://github.com/eywalink/mt7601u.git

编译安装

cd mt7601u

sudo ./miwifi_build.sh

2.停止原模块装载新模块

#remove the driver before

ifconfig ra0 down

rmmod mt7601Usta

#add new ap driver

modprobe rtutil7601Uap

modprobe mt7601Uap

modprobe rtnet7601Uap

3.启动网卡设置ip

#set ip

ifconfig ra0 up

ifconfig ra0 192.168.10.1

4. 开启动态地址分配dhcp

    由于dhcpd只能能给手机分配到ip地址,但手机却获取不到dns,这里使用dnsmasq。 

    从官方仓库 中安装 dnsmasq。dnsmasq默认关闭DHCP功能,如果该主机需要为局域网中的其他设备提供IP和路由,应该对dnsmasq 配置文件(/etc/dnsmasq.conf)必要的配置如下:

# Uncomment this to enable the integrated DHCP server, you need

# to supply the range of addresses available for lease and optionally

# a lease time. If you have more than one network, you will need to

# repeat this for each network on which you want to supply DHCP

# service.

dhcp-range=192.168.10.1,192.168.10.100,12h

启动dnsmasq服务

sudo systemctl start dnsmasq

5.设置包转发nat

sudo sysctl net.ipv4.ip_forward=1

sudo iptables -t nat -A POSTROUTING -o enp2s0 -j MASQUERADE

其中enp2s0为有线网卡。

    ps:以上系列命令,可以直接运行mt7601u项目中的miwifi_work.sh脚本实现,该脚本需要做相应的修改。

    OK,无线热点模式(AP)开启完成,打开手机,就可以搜索到一个默认网络名为MiWiFi_SuMang热点。连接,输入密码,试一下,手机正常上网了!

6.热点设置    如果修改成你们想要的SSID和密码,需要修改/etc/Wireless/RT2870AP/RT2870AP.dat文件。

......

SSID=MiWiFi_SuMang

WirelessMode=9

TxRate=0

Channel=11

......

AuthMode=WPA2PSK

EncrypType=TKIP;AES

RekeyInterval=0

RekeyMethod=DISABLE

PMKCachePeriod=10

WPAPSK=52xiaomi

......

     SISD为网络名,WPAPSK为密码。

五、参考文献

Linux下搭建AP:

http://my.oschina.net/chliny/blog/99006

【L】小米随身WiFi,Linux下AP热点驱动(开源):

http://blog.csdn.net/sumang_87/article/details/38168877

本文地址:Linux下Usb无线网卡创建Wifi热点(搭建AP)

http://hi.baidu.com/qileilu/item/0e758cf62589726a3d148576

阅读(0) 评论(0) 收藏(0) 转载(0) 举报
分享

评论

重要提示:警惕虚假中奖信息
0条评论展开
相关阅读
加载中,请稍后
琦侣璐
  • 博客等级:
  • 博客积分:0
  • 博客访问:10,197
  • 关注人气:0
  • 荣誉徽章:

相关博文

新浪BLOG意见反馈留言板 不良信息反馈 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

新浪公司 版权所有