rv1106g2摄像头支持wq9001 wifi模块

配置打开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  37 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  37 11:41 wq9001.ko

上传驱动

scp ./wq9001.ko [email protected]:/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从这个地址拉流正常。

你可能感兴趣的:(前端,linux)