我安装了x86的openwrt虚拟机,因为想学习wireless。因此买了rt73无线网卡(在openwrt中支持的类型,不少都不支持好比博通的wifi适配器)。ubuntu
安装usb-core 、mac80211等等。网络
这样插上rt73后,系统会打印下面的信息less
此时wifi还没启动。因此ifconfig -a没有wlan0学习
修改/lib/wifi/mac80211.sh,里面能够修改加密
config wifi-device radio$devidx
option type mac80211
option channel ${channel}
option macaddr $(cat /sys/class/ieee80211/${dev}/macaddress)
option hwmode 11${mode_11n}${mode_band}
$ht_capab
# REMOVE THIS LINE TO ENABLE WIFI:
#option disabled 1
config wifi-iface
option device radio$devidx
option network lan
option mode ap
option ssid OpenWrt
option encryption nonespa
当你调用wifi detect > /etc/config/wireless,就会调用mac80211.sh,将上面的信息拷贝到wirless中.net
wifi up就会显示调试
Configuration file: /var/run/hostapd-phy0.conf
Using interface wlan0 with hwaddr 00:a1:b0:c0:4a:ea and ssid 'OpenWrt'blog
此时咱们就能够ifconfig -a看到咱们的wlan0接口了。接口
由此咱们能够看到radio0至关于phy,而wlan0就是网络接口
补充:
在x86下可能上面根本不行,我试过不少遍,大概10几遍中有一次是能够连上的。
纠结了好半天,我后来就在ubuntu下用个人无线网卡创建ap,发现偶尔也会加入不了网络,可是次数没openwrt多。
仔细对比了一下,hostapd使用的配置文件不一样。
在ubuntu下是在/etc/hostapd/hostapd.conf
hostapd -B /etc/hostapd/hostapd.conf
而在openwrt下运行wifi up后生成/var/run/hostapd-phy0.conf文件
hostapd -P ... -B /var/run/hostapd-phy0.conf
而后他们的配置文件中有几个字段是不一样的
好比auth_algs 和 wpa等。
我我的以为多是这个缘由致使的。
能够经过hostapd -P ... -d /var/run/hostapd-phy0.conf 先对wifi进行调试。
参考文件:使用 hostapd 轻松实现强 WiFi 加密