今天一天,就給荔枝派開了個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了!