今天一天,就给荔枝派开了个wifi。感觉把能踩得坑都踩了。。。。赶紧写个博客记录一下。这里就直接讲成功的做法。

1.我的内核是git上4.14y的分支。首先我要编译wifi模块的内核驱动。

cd ~/lichee/linux-zero-4.14.y/    #进入
make ARCH=arm licheepi_zero_defconfig #生成荔枝派默认配置文件
vi arch/arm/configs/licheepi_zero_defconfig #修改一下
CONFIG_RTL8723BS
=m #将这一项改成m或者y好像也一样
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 #编译内核

然后把生成的zImage放入sd卡的boot分区(我是这么干的),其实应该是把

drivers/staging/rtl8723bs/rtl8723bs.ko 这个驱动放到 sd卡usr/lib/ 中

2.然后开启荔枝派

insmod r8723bs.ko   #插入内核驱动 这里可以ifconfig一下看看有没有wlan0
ifconfig wlan0 up      #开启wlan0

我在这里出现了

Direct firmware load for rtlwifi/rtl8723bs_nic.bin failed with error -2 ,这个是说没有wifi固件,需要手动下载wifi固件,我把我找到的放在我的博客的文件里面了。大家可以下载

然后把这个文件放到 荔枝派 /lib/firmware/rtlwifi/中,没有就创建目录。

接下来可以成功开启wlan0了,但是我发现我还搜索不了wifi,这时候又要编译一波根文件系统,添加一些工具。

 buildroot 
-> make menuconfig
    -> Target packages -> Networking applications

选中 
wireless tools
wpa_supplicant

make

 然后重新放到sd卡中。

3.终于可以搜索wifi了

编辑 /etc/wpa_supplicant.conf 文件:

ctrl_interface=/var/run/wpa_supplicant  
ctrl_interface_group=0  
ap_scan=1  
network={
    ssid="ZQH"        
    scan_ssid=1
    key_mgmt=WPA-EAP WPA-PSK IEEE8021X NONE
    pairwise=TKIP CCMP
    group=CCMP TKIP WEP104 WEP40
    psk="123123123"  
    priority=5              
}

ssid是wifi名称

psk是wifi密码,其他一些内容我也不太了解。

然后我建立了一个脚本connect_wx.sh

#!/bin/sh
insmod /usr/lib/r8723bs.ko #加入驱动
ifconfig wlan0 up      #开启wifi
wpa_supplicant -B -d -i wlan0 -c /etc/wpa_supplicant.conf    #搜索wifi
udhcpc -i wlan0       #连接wifi

我把他放到 /etc/init.d/中

再 vi /etc/init.d/rcS

添加以下内容让他开机启动
# Add By ZQH 2018.1.27  start
if [ -e /etc/init.d/connect_wx.sh ]; then
        /etc/init.d/connect_wx.sh
fi

然后重启,终于可以连接到我的WiFi了!