配置打开wifi
打开.BoardConfig文件,添加wifi设置
# enable rockchip wifi
export RK_ENABLE_WIFI=y
export RK_ENABLE_WIFI_CHIP=AIC8800DC
# config wifi ssid and passwd
export LF_WIFI_SSID="Your wifi ssid"
export LF_WIFI_PSK="Your wifi password"
为了以后能用MT7601U和RTL8188FTV等模块,在内核设置增加模块支持
[*] MediaTek devices │ │
│ │ <M> MediaTek MT7601U (USB) support
<M> Realtek RTL8188EU Wireless LAN NIC driver │ │
│ │ [*] Realtek RTL8188EU AP mode (NEW)
保存重新编译并且烧录固件到TF卡
驱动下载
rv1106g2摄像头自带wifi模块,型号为wq9001,幸狐的SDK没有提供该模块的驱动,要单独下载
git clone https://github.com/gtxaspec/wq9001-wifi
修改Makefile
在Makefile中指定cpu架构,编译器,内核位置
ARCH ?= arm
CROSS_COMPILE ?= ../../../tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/arm-rockchip830-linux-uclibcgnueabihf-
KSRC ?= ../luckfox-pico/sysdrv/source/kernel
export ARCH
export CROSS_COMPILE
export KSRC
修改wifi_drv.c
编译提示错误
wifi_drv.c:4329:13: error: unused variable 'cali' [-Werror=unused-variable]
wifi_drv.c:4328:9: error: unused variable 'ret' [-Werror=unused-variable]
查看wifi_drv.c,发现WQ_LOAD_CALI_FROM_FILE没定义的话,
cali和ret变量不调用
修改两个变量定义的位置
/* mptest cali-free mode */
int wq_mp_cali_free() {
char buf_line[50], buf_pn[50], buf_ver[50], buf_con[50];
struct file* fp_cali_efuse;
char *pos;
#ifndef WQ_LOAD_CALI_FROM_FILE
int ret; //WQ_LOAD_CALI_FROM_FILE 没调用的话这两个变量不定义
uint8_t cali[5];
继续编译出现错误
ERROR: modpost: module wq9001 uses symbol kernel_write from namespace VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver, but does not import it.
这是因为高版本内核要定义
MODULE_IMPORT_NS(VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver);
在最后加上这句引入。
得到驱动
继续编译得到驱动 wq9001.ko
7771368 3月 7 11:38 wq9001.ko
体积达到7M,如果不需要debug信息,可以用strip进行瘦身
../luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/arm-rockchip830-linux-uclibcgnueabihf-strip ./wq9001.ko -g
体积变为500K
470552 3月 7 11:41 wq9001.ko
上传驱动
scp ./wq9001.ko root@192.168.9.161:/oem/usr/ko
在设备上打开/oem/usr/ko/insmod_wifi.sh
加上加载wq9001的代码
#wq9001
cat /sys/bus/usb/devices/*/uevent | grep "ffe\/1"
if [ $? -eq 0 ]; then
insmod cfg80211.ko
insmod wq9001.ko
fi
测试
重启摄像头,发现已经有wlan0 了
wlan0 Link encap:Ethernet HWaddr 00:00:11:22:CC:B3
inet addr:192.168.9.163 Bcast:192.168.9.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:728 errors:0 dropped:336 overruns:0 frame:0
TX packets:133 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:217709 (212.6 KiB) TX bytes:18934 (18.4 KiB)
vlc从这个地址拉流正常。