平台:rk3288
wifi芯片:AP6335
1.dts里需要修改的地方
wifi_chip_type = "ap6335";
sdio_vref = <1800>; //1800mv or 3300mv
由于我的板子的sdio只支持50M,所以
sdio节点我就设置默认的<50000000>
2.menuconfig里修改地方:
-> Device Drivers
-> Network device support
-> Wireless LAN (WLAN [=y])
-> RK901/RK903/BCM4330/AP6XXX
-> Select the wifi module (AP6335)
选择AP6335驱动
以上设置,如果硬件没问题的话基本上就能接收到5Gwifi了。
(AP6335接线问题可以参考这份原理图:https://download.csdn.net/download/Mrdeath/11972687)
5G热点设置:
热点的相关配置信息保存在/data/misc/wifi/hostapd.conf目录下
不过该配置文件只要在设置里点开wifi热点的开关就会重新生成,所以要改变该文件的配置就要去源码里修改。
配置文件里的内容:
interface=wlan0
driver=nl80211
ctrl_interface=/data/misc/wifi/hostapd
ssid=AndroidAP
channel=6
ieee80211n=1
hw_mode=g
ignore_broadcast_ssid=0
wowlan_triggers=any
wpa=2
rsn_pairwise=CCMP
wpa_psk=02aa8eb4cd3e1af92cd4bc18e74fefd1f5f311f9cdeb5b3c2e447431e8fad5e8
如果要支持5G热点,需要把channel改为149(可以通过iwlist c 指令查看可用的信道),还需要修改hw_mode=a,
修改源码:system/netd/server/SoftapController.cpp
asprintf(&wbuf, "interface=%s\ndriver=nl80211\nctrl_interface="
"/data/misc/wifi/hostapd\nssid=%s\nchannel=%d\nieee80211n=1\n"
"hw_mode=%c\nignore_broadcast_ssid=%d\nwowlan_triggers=any\n",
argv[2], argv[3], channel, (channel <= 14) ? 'g' : 'a', hidden);
修改为:
asprintf(&wbuf, "interface=%s\ndriver=nl80211\nctrl_interface="
"/data/misc/wifi/hostapd\nssid=%s\nchannel=%d\nieee80211n=1\n"
"hw_mode=%c\nignore_broadcast_ssid=%d\nwowlan_triggers=any\n",
argv[2], argv[3], 149, 'a', hidden);
直接把channel写死为149,hw_mode写死为a