|
如何启用 FIREFLY-RK3288 LINUX 下的无线路由功能
发表于 2015-7-8 17:18:04
浏览:64272
|
回复:40
打印
[复制链接]
楼主
如何启用 FIREFLY-RK3288 LINUX 下的无线路由功能
Busybee
1 简介
Firefly-RK3288 开发板使用的 WiFi 芯片是 AP6335,在 Android 下可以启用
无线热点功能,当作无线路由器使用,而 Linux 呢,是否也可以实现 AP 功能
呢?
答案是肯定的。经过一番摸索,已成功在 Linux 下启用 AP6335 的路由功能。
2 安装说明
首先需要安装一些网络工具:
sudo apt-get install iw hostapd iptables
确保以太网可以正常连接外网。
然后将附件的 create_ap2 脚本拷到开发板的 Linux 系统下。
cd /path/to/create_ap2 # 转到 create_ap2 的目录下
chmod 755 create_ap2
./create_ap2 wlan0 eth0 TEST_ESSID PASSWORD
这样就可以打开 WiFi 的 AP 功能。
3 实现细节
AP6335 不能同时支持 STA 和 AP 模式,也就是说,不能既连上外部无线路由器,本身又提供无线路由器服务。
要将 AP6335 置于 AP 模式,需让内核驱动加载 AP 固件,以下代码从 create_ap2 中截取:
echo 0 > /sys/class/rkwifi/power
sleep 1
echo /system/etc/firmware/fw_bcm4329_apsta.bin >/sys/module/bcmdhd/parameters/firmware_path
echo 1 > /sys/class/rkwifi/power
sleep 2
echo 1 > /sys/class/rkwifi/driver
rfkill unblock wifi
|
禁止 NetworkManager 对 WiFi 做处理(比较简单粗暴):
nmcli nm wifi off
pkill wpa_supplicant
|
剩下的事,就交由 create_ap 脚本去处理了,可以参考以下文档:
该脚本的功能很强大,在本示例中,仅对 NAT 模式进行了调试,这涉及到:
- hostapd 的配置和运行,这是启用 softap 的关键。
- dnsmasq 的配置和运行,为 AP 的客户端提供 DHCP 服务,即 IP 地址分配。
- iptables 和 IP Forward,实现 NAT 功能。
应该也可以用 Bridge 模式,这留给大家自己去探索:)
|
|