本帖最后由 killercat 于 2014-2-9 21:46 编辑
查了论坛上的帖子,但是一直都没有搞好 AP,后来逛了逛英文论坛,得到了答案,现在把具体实现过程分享一下。
如果你希望开启 AP 模式,那么: - # modprobe bcmdhd op_mode=2
- interface=wlan0
- driver=nl80211
- ssid=__cubietruck__
- channel=1
- hw_mode=g
- macaddr_acl=0
- auth_algs=1
- ignore_broadcast_ssid=0
- wpa=2
- wpa_passphrase=12345678
- wpa_key_mgmt=WPA-PSK
- wpa_pairwise=TKIP
- rsn_pairwise=CCMP
- 避免竞争(contended)。假定有多台路由器,它们都在一个 channel 上,那么意味着会出现竞争,但是不存在干扰,传输能够有序的进行
- 避免干扰(interfering)。首先要明确的是,我们选择了某个 channel,例如 channel 6,这不意味着通讯仅在 channel 6 上进行,实际上通讯会横跨 5 个 channel(相邻的,channel 4 ~ channel 8,20MHz 的 channel 带宽)。现在两个路由器,一个在 channel 6 上(channel 4 ~ channel 8),一个在 channel 7 上(channel 5 ~ channel 9),那么干扰就会出现(它们无法管好自己进行有序的通讯)。需要注意的是,干扰会比竞争带来更多的问题
如果你周围没有什么无线设备,那么可以轻易的选择一个合适的 channel(例如 channel 6),而且还可以使用 40MHz 的 channel 带宽。但是实际的情况往往并非这样,我们需要考虑到干扰的问题。channel 6 通常是被最频繁使用的 channel,按上所述,channel 11 就是下一个很合适的 channel(除了 channel 11 以外 channel 1 也是很不错的)。顺带说一下的是,虽然使用 40MHz 的 channel 带宽能传输更多的数据(更快的 WiFi 速度),但是 40MHz 意味着通讯横跨 7 个 channel,也就是说严重的干扰可能发生,所以说更大的带宽不意味着更高效的数据传输。
接着聊聊验证和加密,这里我选用 wpa2,这是因为 wep 不安全,所以也只能选择 wpa 或 wpa2,而最安全的就是使用 wpa2。
还有一些设置没有详细介绍,如果你不满足可以参考一下其他资料。 现在可以在 /etc/rc.local 中加入以下代码来在开机时打开 WiFi: - hostapd -B /etc/hostapd/hostapd.conf
到这里,应该可以看到一个 SSID 为 __cubietruck__ 的 AP,可以尝试用密码 12345678 连接上去。目前的情况是 Cubietruck 可以通过有线连接互联网,WiFi 可以被其他设备连接,那么其他无线设备如何通过连接 Cubietruck 的 WiFi 来访问互联网呢?有几种办法: 这里我使用桥接的方式,首先安装 bridge-utils: - # apt-get install bridge-utils
修改 /etc/network/interfaces: - # loopback
- auto lo
- iface lo inet loopback
-
- # bridge
- iface eth0 inet manual
- iface wlan0 inet manual
- auto br0
- iface br0 inet static
- bridge_ports eth0 wlan0
- address 192.168.1.150
- netmask 255.255.255.0
- gateway 192.168.1.1
这里将 eth0 和 wlan0 桥接在一起,Cubietruck 使用的是静态 IP 192.168.1.150(这样内网访问比较方便),当然你也可以调整一下配置来使用路由器动态分配的 IP: - auto br0
- iface br0 inet dhcp
- bridge_ports eth0 wlan0
最后,在稍微编辑一下 hostapd 的配置文件 /etc/hostapd/hostapd.conf,在其中加入: 现在连接上 Cubietruck 的 WiFi 就可以上网啦。
|