[折腾]RTL8188(8192)系列无线网卡建立无线AP

其他Linux/Unix/BSD/OSX等发行版讨论
回复
oldoldstone
帖子: 190
注册时间: 2009-08-05 11:38

[折腾]RTL8188(8192)系列无线网卡建立无线AP

#1

帖子 oldoldstone »

最近买了磊科NW334USB无线网卡,想挂在办公室台式机上建立无线热点,结果一下折腾了4个小时,但是还是成功了,分享一下经验。
首先查出NW334的芯片是RTL8188EU,现在内核已经支持,直接即插即用,但是无线热点就复杂一些。

linux建立无线AP主要有两种方法:
1. 使用Networkmanager建立无线网络,然后选"连接到隐藏的无线网络”选你刚才建立的网络即可。
2. 使用hostapd,具体看wiki: https://wiki.archlinux.org/index.php/So ... cess_Point

但是RTL8188-8192就不行,具体wiki上也有说明。要重新编译hostapd。简单说一下步骤
预备工作:网卡静态命名,无线网卡的可能随插口而改变:
https://wiki.archlinux.org/index.php/Ud ... 6%96%87%29
创建文件/etc/udev/rules.d/10-network.rules然后将不同的网卡通过MAC地址绑定到不同的名字上:

代码: 全选

SUBSYSTEM=="net", ATTR{address}=="aa:bb:cc:dd:ee:ff", NAME="wlan0"
1.安装dnsmasq,作为DHCP服务器,不然连接时无法自动获得地址。修改/etc/dnsmasq.conf

代码: 全选

#主要修改
interface=wlan0 #你的无线网卡名称
listen-address=192.168.0.1 #地址要和你无线网卡的一致
dhcp-range=192.168.0.50,192.168.0.150,12h #同上
其他的基本不用改。

2.下载wpa_supplicant_hostapd-0.8_rtw_20120510.zip,见附件。加压进入hostapd目录编译,生成hostapd和hosapd_cli。这是我们需要的hostapd可执行文件。建立一个hostapd.conf文件

代码: 全选

interface=wlan0 #网卡名称
ctrl_interface=/var/run/hostapd
ssid=Welcome #修改接入点的ssid
channel=6
wpa=2
wpa_passphrase=12345678#修改密码
driver=rtl871xdrv #这个就是patch
eap_server=1
wps_state=2
uuid=12345678-9abc-def0-1234-56789abcdef0
device_name=RTL8188EU
manufacturer=Realtek
model_name=RTW_SOFTAP
model_number=WLAN_CU
serial_number=12345
device_type=6-0050F204-1
os_version=01020300
config_methods=label display push_button keypad
beacon_int=100
hw_mode=g
ieee80211n=1
wme_enabled=1
ht_capab=[SHORT-GI-20][SHORT-GI-40]
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
max_num_sta=8
wpa_group_rekey=86400
3. 取消无线网卡的Networkmanager托管,修改/etc/Networkmanager/Networkmanager.conf

代码: 全选

[keyfile]
unmanaged-devices=mac:08:10:77:71:ee:65 #无线网卡的mac地址
设置无线网卡的地址

代码: 全选

ifconfig wlan0 192.168.0.1 netmask 255.255.255.0 #启用无线网卡
4. Internet共享(也可以用桥接,自行wiki)

代码: 全选

iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE 
iptables -I FORWARD -i wlan0 -s 192.168.0.0/24 -j ACCEPT
iptables -I FORWARD -i eth0 -d 192.168.0.0/24 -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward 
5. 启动hostapd,首先确认dnsmasq已启动,把第2步编译生成的hostapd可执行文件和hostap.conf放到任意目录,以root权限运行

代码: 全选

 hostapd hostapd.conf
当然,我自己做了一个全自动的批处理,还做了一个makepkg,见附件。
1: 主要参考 https://github.com/oblique/create_ap
2: 默认本地网卡为eth0,无线网卡wlan0
3: 默认SSID:welcome,密码:12345678;可修改startap.tar.gz中的startap文件,包括SSID和密码,然后重新打包,makepkg -g
4: 可以作为服务启动,systemctl start startap

下载地址:
http://pan.baidu.com/s/1dDIImHj
回复