文章目录
引言
前面我们通过配置内核、修改设备树等操作成功移植了WIFI,这篇文章则是写一个WIFI的启动脚本,并实现不插网线,通过无线网SSH登录到开发板来进行文件传输或者设备调试。
- 平台介绍: 主控芯片为RV1103。
- SDK: 幸狐Luckfox的SDK V1.3
- WIFI模块: RTL8723BS是一个集成了蓝牙和WIFI的模块。
1.移植网卡驱动
移植网卡驱动在本专栏的上一篇文章里已经完成,网卡是RTL8723BS,能够联网,链接在这里RTL8723模块WIFI驱动移植。
可以从测试部分知道,WIFI的配置流程为
所以其实我们只需要把这个测试流程里面的内容写成bash脚本,并运行就好了。
2.bash脚本
2.1 生成一个脚本文件并打开
vim install_wifi.sh
2.2 将下面的内容粘贴到脚本里面
网络名称和密码的部分请根据自己的网络进行替换。
#!/bin/bash
echo "initing wifi ......"
WIFI="wlan0"
ACC_SETTING="/etc/wpa_supplicant.conf"
SOCKET="/var/run/wpa_supplicant"
SSID="222" #网络名称
PSK="31415916" #网络密码
# 进入板子的根文件系统
# 安装驱动模块
cd /oem/usr/ko
insmod libarc4.ko
insmod cfg80211.ko
insmod mac80211.ko
insmod r8723bs.ko
if ifconfig -a |grep wlan0 >/dev/null
then
ifconfig wlan0 up
fi
cat << EOF >${ACC_SETTING}
ctrl_interface=${SOCKET}
ctrl_interface_group=0
ap_scan=1
network={
ssid="${SSID}"
scan_ssid=1
key_mgmt=WPA-PSK
pairwise=CCMP
group=CCMP
psk="${PSK}"
priority=5
}
EOF
mkdir -p $SOCKET
wpa_supplicant -B -c ${ACC_SETTING} -i $WIFI
udhcpc -i $WIFI #分配动态IP
echo "wifi connect success !!!"
2.3 编译
将写好的bash脚本放到luckfox-pico根目录的/external/lib/fimware/rtlwifi/文件夹中,它会随着固件一起烧录到开发板的/lib/fimware/rtlwifi/目录下。
然后输入指令,编译并烧录固件
./build.sh
3.测试
3.1 启动脚本
串口登录开发板后,输入指令切换到WIFI固件的目录,并运行脚本
cd /lib/firmware/rtlwifi/
chmod 777 install_wifi.sh
./install_wifi.sh
3.2 运行结果
然后输入指令ping一下百度
[root@luckfox rtlwifi]$ ping www.baidu.com
PING www.baidu.com (36.155.132.3): 56 data bytes
64 bytes from 36.155.132.3: seq=0 ttl=51 time=34.986 ms
64 bytes from 36.155.132.3: seq=1 ttl=51 time=17.655 ms
64 bytes from 36.155.132.3: seq=2 ttl=51 time=17.562 ms
64 bytes from 36.155.132.3: seq=3 ttl=51 time=32.806 ms
64 bytes from 36.155.132.3: seq=4 ttl=51 time=34.602 ms
^C
--- www.baidu.com ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 17.562/27.522/34.986 ms
可以看到的确是连上网络了。
4.WIFI自启
如果需要WIFI自启动的话可以这样配置即可,但是由于WIFI连接是需要时间的,可能会拖慢系统的启动速度,所以一般我并不选择WIFI自启动。
设置WIFI自启动的话,只需要输入指令,在下次开机的时候,wifi脚本就会自动执行。
echo "./lib/firmware/rtlwifi/install_wifi.sh" >> /etc/init.d/rcS
这里的这个rcS文件时开机时系统会运行的一个脚本,它会按照优先级依次循环去执行S开头脚本的start分支,如果后续不想改动的话,也可以将上面的脚本写在 S??*.sh脚本的start里面,也会自动执行。
5.SSH登录开发板
SSH登陆开发板相对就简单了,使用具有SSH登录功能的软件如MobaXterm即可,比较需要注意的是开发板要和自己的电脑连接到同一个路由器上才能够进行SSH登录。